Windows Azure 사용기 A to Z
- 작성자 : 박용준(redplus@live.com)
- 아이디 : 레드플러스
- 미션 유형 : Windows Azure Virtual Machine
- 링크 : http://redplusvm.cloudapp.net
- 간략 설명 : Windows Azure를 처음 접하는 입장에서 Windows Azure의 주요 서비스를 하나씩 사용해 보는 전체 과정을 강좌 형식으로 꾸며 보았습니다.
- 구성도 : WindowsAzure사용기AtoZ_1부.pdf
- 사용 후기 : 기존 웹 개발자 입장에서 궁금하고, 필요한 서비스를 구현하는 전 과정을 아래에 기술하였습니다.
- 개발 기간 : Windows Azure 가입부터 가상 컴퓨터(Virtual Machine) 생성 그리고 간단 테스트까지 3~4시간 정도 걸림. 실제 VM 만드는 시간은 10분 정도 소요
- 추천인 : Taeyo
[사용후기] : 1부. Windows Azure 평가판 등록
소개
지금부터 Windows Azure에 대해서 제가 궁금해 했던 것과 실제로 해당 기능을 Azure에서는 어떻게 구현해야 하는 지를 하나씩 순서대로 진행했던 부분을 후기로 남겨보도록 하겠습니다. 제가 중점을 둔 부분은 바로 여기 Taeyo.NET에 오시는 분들이 대부분 지금껏 경험했었던 기술 구현 방법을 Windows Azure에서는 어떻게 진행하는지를 우선으로 삼고자 합니다. 그러다 보니 Windows Azure의 많은 기능 중에서 기존 경험과 가장 친숙한 느낌이 드는 Virtual Machine에 대해서 먼저 소개를 하고자 합니다. 그런 후 그 다음으로 쉽게 접할 수 있는 Website 서비스라던가 Cloud 서비스 등으로 정리를 넓혀 가고자 하는 마음으로 후기를 남겨봅니다. 제가 경험한 정보와 다른 분들이 작성한 후기를 보면서 다른 분들이 겪은 경험을 더해서 Azure에 대해서 한발자국 더 다가 갔으면 하는 바램이 큽니다. 개그맨 김병만이 오지를 탐험하는 마음으로 Windows Azure의 구석구석을 하나씩 탐험해 나가도록 하죠. 자~ 도전!!!
Windows Azure란 무엇인가?
제가 마이크로소프트 기술을 사용하면서 지난 10년간 3개의 기술(단어)에 주목을 하였습니다. 그 첫 번째가 닷넷(.NET)이고 두 번째가 실버라이트(Silverlight) 그리고 세 번째가 바로 윈도 애저(Windows Azure)입니다. 이번에 제가 궁금해 하는 부분은 Windows Azure입니다. 물론, 아직까지는 체계적으로 그 의미와 범위를 계산해내지 못해서 뜬구름 잡기 식으로 이해하고 있지만 계속해서 쏟아져 나오는 Azure관련 정보를 습득하다 보면 어느 샌가 Azure가 개발자의 생활과 깊게 연관되어 사용되지 않을까 합니다. 아래 그림은 Windows Azure에서 제공하는 서비스들의 유형을 보여주는데 각각 하나의 네모상자에 들어있는 기술들이 책 한 권 분량으로 본다면 정말 어마어마하게 많은 부분을 다루고 있다고 생각되고 살짝 부담이 되긴 하네요.
[그림] Windows Azure 전체 구조도
(출처: http://www.windowsazure.com/en-us/develop/net/fundamentals/intro-to-windows-azure/)
Windows Azure를 제 나름대로 정의해 보면 "Microsoft에서 제공하는 클라우드 서비스"라고 줄여서 생각합니다.
어찌 보면 국내 개발자 특히 웹 개발자에게는 Azure 기술이 낯설 수가 있다고 생각할 수 있지만, 달리 생각해보면 Azure는 MS에서 제공하는 서버호스팅, 웹 호스팅이라고 생각하면 편할 수 있습니다.
차이점이 있다면, 기존에는 하나의 웹 사이트를 만들고 운영하려면 2가지 방법 중 하나를 사용해야만 합니다. 저렴하게 웹 호스팅을 받아서 사용하던가 아니면 하나의 서버를 통째로 구매를 하거나 빌려서 서버를 단독으로 운영하는 방법을 사용할 수 있습니다.
여기서 웹 호스팅에 해당하는 Azure 서비스가 Azure 웹사이트이고 서버 호스팅에 해당하는 게 VM(Virtual Machine) 서비스입니다.
이번 Azure 이벤트에서는 이 두 가지에 추가해서 Azure 애플리케이션 서비스(Cloud Services)가 하나 더 추가가 되었습니다. 이는 Azure 웹 사이트와 비슷한 맥락이라고 보셔도 무관합니다. 말로 설명하는 것 보다는 실제 구현 사례를 접하면 더욱 그 의미를 알 수 있지 않을까 하네요.
Windows Azure의 3가지 핵심 서비스가 이번 이벤트에서 참여할 수 있는 부분인데 이러한 부분을 Windows Azure의 Execution Models이라고 하고 아래 그림과 같이 [Virtual Machines], [Web Sites], [Cloud Services]의 3가지 항목입니다.
[그림] Windows Azure 3가지 주요 서비스
(출처: http://www.windowsazure.com/en-us/develop/net/fundamentals/intro-to-windows-azure/)
어쨌든, 이번 이벤트를 통해서 이러한 3가지 부분에 대하여 제가 테스트해 본 부분을 간단하게 정리를 해볼까 합니다. 그리고 이번 후기는 그 첫 번째인 가상 컴퓨터(Virtual Machine) 부분에 해당하는 부분입니다.
언제 Azure가 필요한가?
웹 개발자는 수많은 웹사이트를 만들고 배포하고 운영을 해 오다 보면 웹 호스팅을 하던 서버 호스팅을 하던 자체 서버를 구축하던(이 자체도 서버호스팅……) 여러 가지 방법을 통해서 웹 사이트를 구축 및 운영합니다.
이때 내가 직접 하드웨어를 구매하던 빌리던 할 수 있을 텐데 이러한 부분에 대한 책임을 내가 지는 게 아닌 Microsoft Azure 서비스에 맡겨놓고 웹 개발자는 본연의 임무인 웹 개발과 배포 그리고 운영에만 전념할 수 있도록 도와주는 신개념 호스팅이 바로 Windows Azure입니다.
서버가 다운되어 서비스가 안되면 어떡하나? 웹 호스팅의 공간 제약으로 얼마 이상의 서비스가 진행된 후 '돈 더 달라'는 메시지가 회사 메인 페이지에 나타나는 불상사를 겪으면 어떡하나? 등의 고민을 덜어 낼 수 있는 게 바로 Azure 서비스입니다.
제가 오랜 기간 동안 서버 호스팅을 받아오면서, 낡아진 서버를 새 서버로 교체하는 비용 등을 지불한 경우가 있습니다. 그리고 새 서버를 구축하고 이전 서버에서 새 서버로 데이터 및 응용 프로그램을 옮기는 작업을 어렵사리 진행해야 했습니다.
하지만, Windows Azure를 사용하면 이러한 점에서 벗어날 수 있습니다. 이렇게 써 놓으니 다른 사람의 얘기를 인용한 듯 보이지만, 제가 직접 겪은 경험을 얘기하는 것입니다.
그렇다면, 언제 Azure를 사용하면 좋을까요? 앞서 말씀 드린 것처럼, 웹 개발자인 저와 여러분들은 웹 개발 프로세스에 선택과 집중을 하면 되는 것입니다.
기존 서버 역할을 하는 부분은 누구에게 맡기느냐? 바로 Azure에게 맡기면 되는 것입니다.
서버에서 직접 데이터베이스 구축, IIS 웹 사이트 구축 등의 모든 작업을 하던 것을 그대로 옮겨와 Azure에서 서비스를 하면 되는 것입니다.
하드웨어를 본인 소유로 하는 것이 아닌 하드웨어는 Microsoft에서 제공하고 그 위에 가상 서버를 올려놓고 기존 서버 호스팅에서 하던 작업을 그대로 하는 것도 역시 지원하니 선택의 폭이 굉장히 넓어 졌다고 볼 수가 있네요.
저의 예를 들어 볼까요? 저는 제가 사업을 하면서 처음으로 구매한 서버가 집에 그대로 있습니다. 기념비적인 차원에서 가지고 있지만, 실제로는 애물단지입니다. 노트북과 가정용 데스크톱과 달리 소음과 전기세가 만만치 않게 들거든요…… 그래서 집에 고이 모셔놓고 있는 것입니다.
그렇게 자원을 낭비할 바에야 하드웨어를 빌려서 그 위에 올라가는 가상 서버라던가 기타 Azure 서비스를 사용하게 되면 그러한 하드웨어 비용을 지불하지 않아도 되는 상당한 이점이 있습니다.
장비가 노후 되는 부분에 신경을 쓰지 않아도 되고, 하드웨어 구매 또는 업그레이드 비용이 들지 않아도 되는 것이지요.
너무 좋은 것 같지 않나요?
좋은 것 같은데 돈이 얼마나 들어요?
사실, 제가 이번 테스트에서 중점을 둔 부분 중 하나가 바로 비용입니다.
세금 폭탄보다도 더 무섭다는 비용 폭탄을 맞을까 걱정이 드는 게 사실입니다. Windows Azure를 잘못 사용했더니 월 비용인 얼마가 나와서 개인 파산 신청을 하러 법원에 갔더라~ 라는 식의 신문기사의 주인공이 될지도 모른다는 생각이 저 역시 들기 때문입니다.
대기업에서 서비스하는 상품이라면, 동시 트래픽이 많으면 많을수록 광고가 잘 되는구나 식의 판단으로 트래픽의 사용에 대한 걱정이 없지만, 저와 같은 서민 웹 개발자에게는 이 부분이 제일 궁금하고 무섭기까지 합니다^^;
웹 호스팅을 하면 한정 사용량을 넘어서면 서비스가 끊겨서 다행이고(?) 서버 호스팅을 사용하다 보면 정해진 트래픽을 초과할 경우 호스팅 회사의 영업 담당이 전화를 해서 회선 업그레이드를 권유하는 등의 방법으로 사용량을 제한하고 있기에 내가 현재 어느 정도의 사용을 하고 있는지 쉽게 판단할 수 있지만, Azure는 달랑 Azure 관리 사이트에 계산기를 직접 두드려 봐서 본인이 쓰고자 하는 서비스에 맞춰서 알아서 하라는 식으로 접근을 하다 보니 이 부분이 굉장히 신경이 쓰이는 부분입니다.
최대 얼마 이상의 비용은 넘지 않는 Max 값을 설정하는 부분이 Azure 포탈에 존재하기만 해도 좋다는 생각이 듭니다. 이 부분은 갈수록 개선이 되겠지요.
어쨌든, 기존 경험 대비 Azure를 사용하면서 느낀 비용에 대한 판단을 가장 큰 목적으로 이번 이벤트에서 테스트를 진행해 본 후 그 경험을 제시해 볼까 합니다.
그러기에 앞서서 이 첫 번째 후기에서는 사용량과는 상관없이 VM을 어떻게 만들고 구현하는지에 포커스를 먼저 두고 추후 서비스를 지속해가면서 사용량 관련 경험을 공유해드리도록 하겠습니다.
한가지 덧붙일 내용은 국내 웹 호스팅 및 서버 호스팅 업체의 서비스 가격이 의외로 저렴하다는 사실^^ 온전히 주관적인 입장에서 이 분야에서만은 IT 강국을 인정하고 싶습니다. 물론, 국내 서비스 전용이라면 저렴하지만 해외 대상 서비스라면 Azure와 동일하다고 보시면 되겠네요.
[그림] Windows Azure 관리 사이트에서 제공하는 비용 계산기 사용 예
Azure를 시작하고 싶어요.
이번 이벤트에 참여하기 위해서 Azure 서비스에 무료 평가판으로 가입을 해서 이것저것 테스트를 해 보아야 합니다.
Azure 사용 이벤트에 참여하려고, MS계정(outlook.com, hotmail.com, live.com, ...)을 하나 준비하고 설치를 진행하였습니다.
공인인증서가 설치되어 있지 않은 컴퓨터에서 90일 무료 평가판을 가입하려다 보니, 제대로 진행이 안되었습니다.
90일 무료 평가판 가입을 위해서는 반드시 5가지가 미리 준비되어야겠더군요.
1. MS 계정(Outlook.com, Live.com, Hotmail.com 등의 Microsoft 무료 계정)
2. MS 계정에 대한 본인 인증을 위한 휴대폰
3. 신용카드 정보
4. 공인인증서
5. 인터넷 익스플로러(Internet Explorer)
위 5가지 정보를 가지고 91일(?) 무료 평가판 가입에 성공할 수가 있었습니다.
자, 그러면 Azure 무료 평가판은 어떻게 받아야 하느냐가 관건이겠죠.
모든 이벤트 관련 정보는 아래 링크에서 제공하니까 아래 링크를 방문합니다.
http://www.taeyo.net/Event/AzureEvent/AzureEvent.htm
[그림] Taeyo.NET Azure 사용기 이벤트 페이지
중요한 것은 이번 이벤트는 반드시, 반드시 http://aka.ms/azureTaeyo URL을 통해서 새롭게 가입한 후 진행해야 합니다. 이 링크를 웹 브라우저에 입력하면 자동으로 아래 그림과 같이 Windows Azure 메인 사이트로 이동됩니다. 이곳에서 제공하는 [무료 평가판] 링크 버튼을 클릭하여 나타나는 단계를 따라서 무료 평가판에 가입하면 됩니다. 무료 평가판 등록에 대한 강좌는 이미 태오닷넷 사이트의 아래 경로에 올라와 있으니 이로 대체하겠습니다. "바퀴를 새롭게 발명하지 마라."라는 옛말처럼, 이미 태오닷넷 강좌가 있는데 제가 여기서 나열할 필요가 없겠지요^^. 무료 평가판 등록관련 강좌는 아래 강좌를 참고하면 됩니다.
http://www.taeyo.net/Columns/View.aspx?SEQ=409&PSEQ=33&IDX=1
[그림] http://aka.ms/azureTaeyo로 접속했을 때 자동으로 이동하는 페이지
어쨌든, http://aka.ms/azureTaeyo로 접속 후 MS 계정으로 로그인 후 휴대폰 인증 및 결제를 위한 ActiveX 설치 그리고 신용카드 번호 입력 등의 절차를 거친 후 정상적으로 Windows Azure 무료 평가판을 사용할 수 있는 화면까지 진행할 수 있었습니다.
아래 그림은 무료 평가판 등록의 후반부에서 매월 제공되는 혜택에 대한 요약을 보여줍니다.
[그림] 90일 무료 평가판에서 제공하는 서비스에 대한 요약 설명 페이지
무료 평가판 등록이 완료된 후 Windows Azure 포털 사이트의 메인 페이지로 접속한 모습입니다.
[그림] 무료 평가판 등록 완료 확인 페이지
Windows Azure 관리 포털로 접속한 상태에서 상단 메뉴의 [계정] 링크를 클릭 후 하위 메뉴인 [구독]을 클릭하면 아래 그림과 같이 3개월 무료 평가판의 항목이 [활성]으로 설정되어 있음을 확인할 수 있습니다.
[그림] 3개월 무료 평가판 내용이 활성화되어 있는 상태
어디서부터 시작해야 하는 건가요?
Windows Azure는 포털 웹 사이트를 통해서 서비스에 대한 모든 관리를 진행할 수 있더군요. Azure 서비스 전체 관리를 위한 웹 페이지가 바로 Azure 포털(포탈)입니다. 세금 포탈이 아닙니다ㅡㅡ,
애저를 관리하기 위해서는 항상 아래 경로로 접속 후 MS 계정으로 로그인하면 됩니다.
http://www.windowsazure.com/
그러면, 아래 그림과 같이 오른쪽 상단에 [포털] 링크를 보실 수가 있습니다.
이를 클릭하면 현재 무료 평가판에 해당하는 서비스에 대한 여러 가지를 테스트해 볼 수 있는 관리 화면이 나타납니다.
[그림] Azure 포털 사이트(로그인 전)
처음으로 Windows Azure 포털 사이트에 접속하면 아래와 같이 Azure에 대한 내용을 살펴볼 수 있는 [Windows Azure Tour] 화면이 나타나는데 시간 내어 한번쯤 살펴보시면 좋을 듯 합니다.
[그림] 처음 접속 시 Windows Azure Tour 화면이 보여짐
이미 많은 수의 웹 사이트를 다뤄보고 만들어본 경험이 있는 웹 개발자라면 Azure 관리사이트가 그리 낯설지 않은 모양으로 보여집니다.
여기서 제가 주목한 부분은 아래 그림의 3가지 영역입니다. 바로 Virtual Machines(가상컴퓨터, 이하 VM으로 표기), Cloud Services(클라우드 서비스), Web Sites(웹 사이트)입니다. 이 3가지가 바로 이번 Microsoft와 Taeyo.NET이 함께 달리는 Windows Azure 사용기 이벤트의 내용이 되겠네요.
[그림] Windows Azure에서 주목해야 할 3가지 서비스
마무리
자, 그러면 Windows Azure에 무료로 가입도 했고, MS 계정으로 로그인도 했으므로 이를 가지고 무엇인가 기존 경험과 더불어 진행해 볼 수 있는 게 뭐가 있을까 고민하던 차에 기존 경험 그대로를 살릴 수 있는 Windows Azure Virtual Machines를 구축해서 사용해 보는 시간을 갖도록 하겠습니다.
잠깐 한 박자 쉬고 가시죠… Azure 사용기 2부에서 뵙겠습니다…
1부 끝.