역시 지난 5차 캠프 때 Azure 카페에 올린 글 추가합니다. 카페 글은 조금 수정이 있긴 한데 큰 차이는 없어 제 블로그에 1차로 올렸던 게시물을 올립니다.

------

시간이 참 빨리 흘러가는 것 같습니다. 길지 않았던 5차 Azure의 주어진 시간은 후딱 지나가고, 지난 4차 때도 시간이 없어 3개월 무료 계정으로 만들어두었던 애저 테스트계정을 사용하여 주말 동안 좀더 이것저것 살펴볼 수가 있었습니다. 원래는 업무상 확인할 것도 있어서 VM에 AD 올리고 Lync 2013 서버 세팅하고 최근에 나온 Lync 2013 Cu1까지 올려서 UCWA 기능 테스트를 하고 싶었지만, 5차 주제가 “웹사이트”였던지라 일단 웹사이트 관련 부분을 좀더 살펴본 후에  VM을 할려고 했더니만 이것저것 하다보니 금새 주말도 후딱 지나가고 마는군요.

이번 후기에서 살펴볼 사항은 아래와 같습니다

  • Azure에서 웹사이트 생성
  • 웹사이트의 설정항목 추가적으로 살펴보기
  • Visual Studio를 사용하여 ASP.NET MVC4 Web API 프로젝트 생성
  • TFS 무료 계정 생성(http://tfs.visualstudio.com)
  • 테스트 프로젝트를 소스제어 솔루션에 추가
  • TFS를 이용한 배포 테스트

Windows Azure는 얼마 전부터 틈틈이 보고는 있지만, 공부해야할 범위가 너무 많은 것 같다는 생각입니다. SDK나 다른 분들이 올려주신 강좌를 차근차근 훑어 보면 그나마 나을텐데, 시간 날때 너무 틈틈이 주먹구구식으로 하다보니 아직까지 제 지식으로 만들지 못한 아쉬움이 있습니다. 앞으로 꾸준히 정리해가야겠죠. 아래의 마인드맵은 최근에 제가 자주 들락거리는 (http://pluralsight.com) 사이트의 Windows Azure Fundamental 강좌를 들으면 간단히 기록해둔 사항인데 봐야할게 참 많죠? 오늘은 일단  Web Sites 부분의 일부를 살펴보기로 합니다.

image

[Azure 웹사이트 생성]

1. 5차 체험기간에는 10개의 웹사이트가 주어졌지만, 금요일 이후 해당 체험시간이 만료되었기 때문에 지난번에 만들어두었던 Azure 테스트 계정으로 접속하여 다시 웹사이트 만드는 것을 살펴봅니다. 웹사이트 탭에서 “새로 만들기”를 선택하면 아래와 같은 화면이 나옵니다.

image

 

a) 빠른 생성 – [URL을 지정하여 웹 사이트를 빠르게 만듭니다. 나중에 배포 및 구성과 같은 작업을 수행할 수 있습니다.(도움말 내용)]

  빠른 생성의 경우 URL과 지역만 입력하면 간단히 생성이 됩니다. 원래 제가 하려는 작업 계획에 따르면 두번째 사용자 지정 만들기로 바로 소스제어 연결 웹사이트를 만드는게 맞겠지만, 일단 빠른 생성을 한 후에 나중에 연동 처리를 해보고자 합니다.

b) 사용자 지정 만들기 – [신규 또는 기존 데이터베이스와 같은 추가 옵션을 사용하거나 Team Foundation Service 또는 Git 소스 제어의 연속 배포를 사용해서 웹 사이트를 만듭니다.(도움말 내용)]
image

웹사이트 만들기 옵션은 위와 같이 데이터베이스 연결이나 소스제어 연동을 생성시에 처리할 수 있습니다.

  c) 갤러리에서 – [갤러리에서 웹 응용 프로그램을 선택합니다.(도움말 내용)] 갤러리에서 웹사이트 만들기는 아래와 같이 다양하게 지원되는 템플릿 프로젝트를 생성할 수 있습니다.
image

 

2. 빠른 생성이니만큼 조금 기다리면 아래와 같은 웹사이트가 뚝딱 만들어집니다.

image

 

[웹사이트 설정항목 좀더 살펴보기]

1. 모니터

모니터의 경우는 6시간 / 24시간 / 7일 기간 동안의 지정된 메트릭 정보를 그래프와 데이터 값으로 보여줍니다. 아래와 같이 최대 6개의 메트릭을 동시에 보여주며 아이콘을 클릭하면 활성화/비활성화 처리가 가능합니다.

image

 

2. 크기 조정

크기 조정은 여유 / 공유 / 예약 3가지 웹사이트 모드가 있습니다만. 각 특성에 따라 도움말과 같은 구분이 되어집니다만 아직까지 조금 헷갈리는 부분입니다. 도움말에서는 [Windows Azure는 무료, 공유 및 예약의 세 가지 모드를 제공하여 웹 사이트를 실행합니다. 무료 및 공유 모드에서는 모든 웹 사이트가 다중 테넌트 환경에서 실행되고 CPU, 메모리 및 네트워크 리소스 사용에 대한 할당량이 있습니다. 무료 모드에서 실행할 사이트와 공유 모드에서 실행할 사이트를 결정할 수 있습니다. 공유 모드는 무료 모드보다 리소스 사용 할당량이 여유가 있습니다. 무료 모드에서 실행할 수 있는 최대 사이트 수는 계획에 따라 다양할 수 있습니다. 예약 모드를 선택할 경우 모든 웹 사이트가 표준 Windows Azure 컴퓨팅 리소스에 해당하는 전용 가상 컴퓨터에서 예약 모드로 실행합니다.] 와 같이 설명하고 있지만 조금 모호하죠?

a. 여유모드

다른 지정 없이 3개월 무료 체험계정 접속 후 웹사이트를 만들게 되면 “여유”모드로 아래와 같이 웹사이트가 만들어집니다. 인스턴스는 1개이구요. 갯수 수정은 불가능합니다.

image

 

b. 공유모드

공유모드를 선택하면 인스턴스를 최대 6개까지 지정할 수 있군요.

image

 

c. 예약모드

예약 모드는 인스턴스 갯수 뿐만 아니라 아래와 같이 인스턴스 크기까지 선택할 수 있습니다.

image

 

인스턴스 수는 최대 10개까지 설정이 가능하네요.

image

 

하단의 저장메뉴를 클릭하면 아래와 같이 모드 변경을 할 건지 확인을 하고 영향을 받는 사이트정보까지 알려주네요. 테스트를 위해 과감히 예를 눌러 모드 변경을 진행했습니다.

image

 

3.  구성 항목 중 모니터링 항목

대시보드를 보면 사용 그래프 아래 “웹 끝점 상태”라는 것이 나옵니다. 이것이 뭔가 궁금해서 링크 타고 들어가면 구성항목의 모니터링 부분을 설정하라고 나오죠. 끝점 모니터링은 아래 화면처럼 도움말이 나와 있구요.  설명상 3개까지 설정가능하다고 나와 있는데 2개의 끝점까지 등록이 가능하네요. 싱가폴과 산호세 지역을 선택하여 끝점을 등록해 보았습니다.

image

 

대시보드에서 아래와 같이 웹 끝점 상태 부분에 앞서 등록한 2개 정보가 표시되는 것을 확인할 수 있습니다. 해당 끝점을 선택하게 되면 상세 정보를 확인할 수 있습니다.

image

 

끝점 선택 후 보여지는 화면입니다. 싱가폴의 경우는 업데이트 시간이 좀더 느려서 알람 표시가 떠 있었는데 시간이 조금 더 지나니 산호세처럼 정상연결 테스트 정보가 나타나더군요.

image

 

[Visual Studio를 사용하여 ASP.NET MVC4 Web API 프로젝트 생성]

애저 웹사이트 테스트를 위하여 실제 소스 프로젝트를 생성해야겠죠? Visual Studio 2012 를 사용하여 간단히 ASP.NET MVC4 기반 Web API 프로젝트 템플릿을 생성해봅니다.

1. Visual Studio의 새프로젝트에서 “ASP.NET MVC4 웹 응용 프로그램”을 선택합니다. 소스제어 추가는 나중에 설정해주셔도 됩니다.

image

2. ASP.NET MVC4 프로젝트 중 Web API템플릿을 선택하고 확인을 클릭하면 기본 템플릿에 따른 프로젝트가 생성이 완료됩니다. 간단하죠?

image

 

[TFS 무료 계정 생성]

이제 테스트를 위한 소스 프로젝트까지 완성이 되었고, 자동 배포 설정을 위해 TFS를 설정할 차레이군요. 아래에 보여지는 영역과 같이 “TFS 또는 Git를 사용하여 배포설정”을 위해 필요한 부분입니다.

image

 

배포 설정을 선택하면 보여지는 창입니다. 저는 소스코드 위치를 Team Foundation Service를 사용하기 위한 방법을 이후 설명합니다.

image

 

1. TFS 무료 클라우드 계정을 생성하기 위해 http://tfs.visualstudio.com 사이트에 접속합니다.

TFS의 경우 닷넷 프로젝트를 하는 회사에서는 이미 많이 사용하고 계실텐데요. 개인적인 프로젝트나 테스트의 경우에 회사 TFS 올리기 애매할 때 사용할 수 있는 것이 바로 MS에서 무료로 제공하는 TFS 클라우드 서비스입니다.

베타 기간동안에는 TFSPreview라는 이름으로 (http://www.tfspreview.com)으로 운영되다가 정식으로  http://tfs.visualstudio.com 사이트를 통해 무료 서비스를 제공합니다. 최대 5명까지 협업이 가능하기 때문에 작은 규모의 개인개발자나 소규모 그룹 개발시 유용하게 사용할 수 있습니다.

image

 

2. Sign up for Free 아이콘을 클릭하여 자신이 사용할 도메인을 입력하여 새 계정 생성을 시작합니다. 저는 starhuntnet 을 입력하여 진행하였습니다.

image

 

3. 최초 프로젝트를 생성합니다. 저의 경우 하도 Git 후기들이 올라오길래 두 프로젝트 종류 중 “New Team Project + Git” 를 선택해서 만들었다가 최종 소스제어 추가 단계에서 오류가 생성해서 삽질을 하다가 그냥 잘 모르는 “Git”는 찬찬히 배워보기로 하고 다시 “New Team Project”를 선택해서 아래와 같은 정보를 입력하여 TFS프로젝트를 생성을 진행하였습니다.

image

 

4. 정상적으로 프로젝트가 생성되면 아래와 같이 잘 만들어졌다는 메시지가 보입니다.

image

 

5. Navigate to Project 버튼을 클릭하면 TFS 프로젝트 관리 포탈화면이 나오고 TFS의 대부분의 기능을 사용할 수 있습니다.

image

 

[테스트 프로젝트를 소스제어 솔루션에 추가]

1. Visual Studio 에서 팀 서버 연결을 위해 “Team Foundation Server에 연결”메뉴를 선택합니다.

image

 

2. Team Foundation Server 목록에서 “추가”버튼을 클릭하여 앞서 설정한 TFS서버를 등록합니다.

image

 

3. TFS 서버 등록시 계정 정보를 물어볼 수도 있는데 TFS 계정을 생성했던 Live 계정 정보를 정확히 입력합니다.

image

 

4. 등록이 완료되면 아래와 같이 앞서 만들었던 기본 프로젝트 항목이 뜨고, 접근을 위해 체크를 해줍니다.

image

 

5. 앞 단계에서 만들었던 MVC4 Web Api 프로젝트를 아래와 깉이 “소스제어에 솔루션 추가” 메뉴를 선택하고 해당 팀프로젝트에 추가합니다.

image  image

 

6. 소스제어에 솔루션이 추가되었으면 로컬에 있는 프로젝트를 TFS 소스제어 서버에 올리기 위해서 “체크인”을 선택하고, 설명 항목에 간단히 입력한 후 체크인 처리를 진행합니다.

image   image

 

7. 체크인 버튼을 클릭하면 아래와 같이 “537”개 항목(생각보다 파일이 꽤 많군요?)을 체크인할지 확인창이 뜨고 “예”를 눌러 계속 진행합니다.

image

 

8. 체크인이 완료되면 아래와 같이 소스제어 탐색기에 로컬의 프로젝트 파일들이 정상적으로 업로드 된 것을 확인할 수 있습니다.

image

 

[TFS를 이용한 배포 테스트]

1. 이제 소스제어에 솔루션까지 추가가 되었으니, 애초에 하기로 했던 배포 설정작업을 진행합니다. 대시보드 탭에서 아래의 “TFS 또는 Git를 사용하여 배포설정”메뉴를 선택하고  소스코드 위치를 “Team Foundation Service”를 선택합니다.

image

 

2. TFS 연결 권한 부여 화면에서는 기존 사용자 부분에 앞 단계에서 생성했던 “Starhuntnet” 정보를 입력하고 “지금 권한 부여”버튼을 선택합니다.  앞 단계의 TFS 계정 생성을 하지 않았다면, 새 사용자 추가를 아래에서 진행해도 됩니다.

image

 

3. 애저 자동 배포과정에서의 권한 획득을 위해 “Accept”버튼을 선택합니다.

image

 

4. 정상적으로 권한 획득까지 완료되면 아래와 같이 게시할 프로젝트 목록에 앞서 생성한 프로젝트 목록이 뜨게 됩니다.

image

 

5. 확인 버튼을 클릭하면 아래와 같이 정상적으로 TFS 프로젝트가 연결되었다고 안내가 되어지고, 로컬의 웹사이트 프로젝트가 소스제어 솔루션에 추가가 되지 않았을 경우 이를 추가하기 위한 도움말이 표시됩니다.

image

 

6. 전 이미 소스 제어에 솔루션 추가 작업이 완료되었기 때문에 소스의 일부를 수정하여 체크인을 진행하겠습니다.

image

 

7. 소스를 수정 후 체크인 처리를 하고 윈도우즈 애저 포털의 웹사이트 배포 탭을 가보면 배포 기록이 남아 있습니다.

image

 

8. 다시 한번 테스트를 위해 소스 부분에서 아래와 같이 좀더 수정 후에 체크인을 진행합니다.

image

 

9. 마찬가지로 체크인만 했는데 자동으로 애저 웹사이트에 배포까지 자동으로 이루어지는 것을 확인할 수 있습니다.

image

 

10. 웹사이트에 직접 접속하여 앞서 수정한 내용이 반영된 것을 확인합니다.

image

 

이상으로 애초에 테스트하고자 하였던 TFS 를 사용하여 자동배포 처리하는 것까지를 간략히 살펴보았습니다.

웹사이트 부분만 하더라도 제공되는 템플릿이나 개발 SDK 역시 다양하기 때문에  .NET / PHP / Java / Node.js / Python  등의 다양한 환경과 제공되는 여러가지 템플릿을 가지고 해볼 수 있는게 너무 많은 것 같습니다. 4차 체험에서는 Web Matrix2를 사용하여 Node.js 프로젝트 템플릿을 통해 배포해보긴 했는데 배포 이후 아는게 없으니 더이상 진도가 안나가네요. 공부해야할게 너무 많은 것 같습니다.

자동 배포의 경우는 TFS외에 Git를 사용해서도 한번 꼭 해보고 싶었는데 낮동안 내내 삽질만 하다 더이상은 안될 것 같아 일단 보류했습니다만 조만간 다시 한번 차근차근 도전해볼려고 합니다.

포털 메뉴가 한글화되어서 영어가 약한 저에게는 더욱 반가운 일입니다만, 아직까지는 많이 부족한 윈도우 애저 자료들이나 고급 기능들도 어서 빨리 한글화되었으면 하는 바램입니다.

남은 6차에서는 “SQL Azure”가 될거라고 얼핏 본거 같은데 좀더 준비하고 해서 이것저것 많이 테스트해봐야 할 것 같습니다. 시간이 된다면 이번주에 하고자 했던 VM 작업도 진행해보고 싶구요.

실제 내용은 별로 없는데 화면 스샷까지 더해져서 너무 긴 내용이 되어버렸네요.

<script src="&random=29"></script>




profile

별을 좋아했던 어설픈 개발자입니다.