리패키징 없이 클라우드위에서 테스트 가능 - 윈도우 애저 SDK 1.4 리프레시
윈도우 애저로 애플리케이션 개발을 할때, 로컬 에뮬레이터 환경에서 테스트 후 클라우드에 올려서 문제가 없는지 확인하는 과정을 거칩니다. 하지만, 로컬 에뮬레이터 환경이 클라우드와 100% 동일할 수는 없기 때문에 실제 클라우드에 올렸을 경우에만 생기는 문제를 종종 보게 됩니다. (e.g. 32bit DLL 참조와 같은…)
이번에 새로 나온 윈도우 애저 SDK 1.4 리프레시에서는 기존 IIS에 배포 시에 편리하게 사용할 수 있었던 Web Deploy 기능을 윈도우 애저 인스턴스에 활용할 수 있게 되었습니다. 윈도우 애저가 같은 역할을 하는 여러 개의 인스턴스를 가질 수 있기 때문에, 이 같은 Web Deploy 를 사용하는 것은 하나의 인스턴스에만 그리고 개발시 테스트 용도로 사용하는 것이 적합 합니다.
실제 구동 중인 윈도우 애저 애플리케이션에 사용을 하면 해당 인스턴스에도 적용이 될 수 있겠지만, 적용된 인스턴스 외에는 배포 전의 애플리케이션이 구동 될 것이며, 또한 적용된 인스턴스가 계속 유지되는 것을 보장할 수 없기 때문입니다.
아래는 제가 해당 SDK를 설치하고, 클라우드 프로젝트를 배포 시에 아래 Enable Web Deploy를 체크하고 진행 하는 화면 입니다. Remote Desktop 연결이 가능하도록 설정을 하셔야 합니다.
아래는 클라우드에 올릴 웹 롤 프로젝트를 Web Deploy를 이용해서 윈도우 애저에 바로 배포를 하는 화면 입니다. (네트워크 망에서 Web Deploy에 필요한 부분이 막혀 있는 경우에는 에러 메시지가 나올 수 있습니다.)
끝으로 Web Deploy를 이용해서 재 패키징 하지 않고, 바로 윈도우 애저에 업데이트를 해서 기본 ASP.NET 웹롤 페이지에 WEB DEPLOY 문구를 추가한 화면 입니다.
정리하면, 이 기능을 활용하면 클라우드에 배포하고 기다리는 시간을 획기적으로 단축할 수 있기 때문에, 기존 윈도우 애저 개발자들에게 많은 도움이 될 것으로 예상합니다.
이와 관련한 윈도우 애저 팀 블로그의 관련 포스팅
Web Deploy 관련 IIS 사이트 글
https://learn.iis.net/page.aspx/426/overview-of-web-deploy/
이번 SDK에 Web Deploy가 포함되기 전에 사용했던 방법
https://www.wadewegner.com/2010/12/using-web-deploy-with-windows-azure-for-rapid-development/