Justin Yoo

Author posts

애저 데브옵스 확장 기능을 애저 데브옵스에서 개발하기 - 설계편

in Visual Studio-alm · 6 min read

애저 데브옵스는 애플리케이션 수명 주기 관리 (ALM; Application Lifecycle Management)를 위한 통합 솔루션을 제공하는 제품이다. 데브옵스는 바로 이 ALM에서 커다란 한 축을 담당한다. 제품명 혹은 서비스명만 놓고 보자면 마치 데브옵스 부분만을 다루는 것 같지만 사실 소프트웨어 개발에 필요한 요구사항 분석부터 제품 개발 및 테스트, 배포까지 거의 모든 부분을 자동화할 수 있는 아주 강력한 도구임에 틀림없다. 또한 애저 데브옵스는 강력한 확장성을 제공하고 마켓플레이스를 ...

ARM 템플릿으로 시크릿 값을 넘겨주는 여섯 가지 방법

in Arm Devops-on-azure · 6 min read

ARM 템플릿을 작성하다 보면 항상 민감한 정보를 다루는 상황과 마주치게 된다. 주로 API 키 값을 넘겨준다거나 하는 경우가 될텐데, 이 때 어떻게 하면 ARM 템플릿에 값을 하드코딩 방식으로 저장하지 않고도 이런 민감한 값들을 활용할 수 있을까? 이 포스트에서는 가장 흔히 사용할 수 있는 여섯 가지 방법에 정리해 보도록 한다. 1. 애저 리소스 펑션을 이용해 ARM 템플릿 내부적으로 값을 전달하기 애저 리소스들 중에서는 리소스 인스턴스가 만들어진 후 액세스 키를 이용해야만 접근이 가능한 것들이 ...

새롭게 톺아보는 애저 펑션 의존성 관리

in Dotnet · 5 min read

평화롭던 어느 날 애저 펑션 팀이 엄청난 것을 릴리즈 해 버렸다. 아니 이게 무슨 소리요? 인스턴스 메소드라니! 그렇다면 메소드 앞에 항상 붙어다녔던 그 static 한정자를 떼고 그냥 쓸 수 있단 말이오? 너무나도 궁금했지만, 그동안 바빠서 들여다 보지 못하다가 얼마전에 한 번 만들어 봤다. 사실, 한첨 전에 이것이 가능해 질 것으로 예상은 했더랬다. 지난 이그나이트 2018 이벤트에서 Fabio가 살짝 데모를 보여준 적이 있었기 때문이다. 단지 시기의 문제였을 뿐인데, 별다른 공지 없이 슬 ...

애저 펑션 Swagger UI 소개

in Dotnet · 5 min read

알림: 이 포스트는 순수한 개인의 견해이며, 제가 속해있는 직장의 의견 혹은 입장을 대변하지 않습니다. ASP.NET Core 애플리케이션에서는 Swashbuckle이라는 엄청난 라이브러리가 있어서 이를 이용하면 정말로 손쉽게 Swagger 문서 및 UI를 사용할 수 있다. 하지만 애저 펑션에서는 아직까지 이런 기능을 제공하지 못하고 있는 상황이다. 애저 펑션 1.x 에서는 프리뷰 형태로 Swagger 문서를 제한적이나마 제공해 왔다. 이와 관련한 포스트도 예전에 썼던 적이 있었는데, 그 포스 ...

애저 PaaS 테라포밍

in Arm Devops-on-azure · 11 min read

알림: 이 포스트는 순수한 개인의 견해이며, 제가 속해있는 직장의 의견 혹은 입장을 대변하지 않습니다. 테라폼은 해시코프에서 만든 클라우드 인프라 자동화 도구이다. 각각의 클라우드 벤더는 자신만의 인프라스트럭처 구성 도구가 있는데, 애저는 애저 리소스 매니저가 있어서, 이를 바탕으로 ARM 템플릿을 만들어 사용한다. 하지만, 벤더마다 자신만의 고유한 방식으로 이를 구성하기 때문에 만약 멀티 클라우드를 구성한다든가, 한 벤더에서 다른 벤더로 이전하는 경우에는 인프라 구성 스크립트를 새롭게 만들어 ...

Fluent API를 사용한 Domain Specific Language (DSL) 첫걸음

in Dotnet · 5 min read

알림: 이 포스트는 순수한 개인의 견해이며, 제가 속해있는 직장의 의견 혹은 입장을 대변하지 않습니다. 시스템 개발시 도메인 주도 개발(DDD; Domain-Driven Development) 방법론을 적용하다 보면 반드시 짚고 넘어가야 할 개념이 몇가지가 있는데, 그 중에 유비쿼터스 언어(Ubiquitous Language)와 DSL(Domain Specific Language)이 있다. 한 도메인 안에서 도메인 전문가와 개발자가 동일한 용어를 사용해서 서로 혼란을 피할 수 있게 하는 것이 ...