Windows Azure Cafe (http://cafe.naver.com/wazure)에서는 지난해에 이어 올해부터는 매월 다양한 주제를 통하여 개발자, IT 전문가들에게 Windows Azure 기반의 실전 개발에 대한 이야기를 전할 수 있또록 Boot Camp 세미나를 준비하였습니다. 클라우드 컴퓨팅에 관심이 있는 분들을 모시고, 세미나 전/후로는 클라우드 컴퓨팅과 최신 기술 동향에 대한 자유로운 토론도 같이 진행할 수 있도록 하겠습니다. 제목: 기존 소프트웨어에서 Windows Azure를 활용하는 방법 일시: 2011년 7월 2일 토요일 / 오후 2시 장소: 포스코센터 서관 5층 한국 마이크로소프트 GROW룸 대상: 소프트웨어, 웹 개발자 세션 소개 (1) Windows Azure Storage 활용 전략 Windows Azure Storage는 익히 알려진대로 세 가지의 대표적인 저장소 (테이블, BLOB, 큐)를 이용하여 개발할 수 있는 것이 특징입니다. 그러나 이들 저장소는 우리가 기존에 알고 있던 파일 시스템이나 관계형 데이터베이스와는 전혀 다른 시스템들입니다. 이러한 시스템들을 어떻게 효과적으로 사용할 수 있는지에 대해 알아보도록 하겠습니다. - Windows Azure Storage 및 주요 기능 소개 - Storage를 중심으로 활용하는 몇 가지 유용한 모델에 대한 소개 (2) .NET 클라이언트 및 웹 개발자들을 위한 활용 전략 Windows Azure Storage를 .NET 클라이언트 개발 환경에서는 어떻게 활용할 수 있는지 클라이언트 및 웹 개발자들의 관점에서 유용한 정보를 알려드리도록 하겠습니다. - Windows Azure Storage 라이브러리를 활용하는 방법 - 관계형 데이터베이스가 아니라는 것이 끼칠수 있는 문제점들 - LINQ to Table Storage에 대한 몇 가지 이슈 아젠다 14:00 ~ 14:50 (1) Windows Azure Storage 활용 전략 14:50 ~ 15:00 휴식 15:00 ~ 15:50 (2) .NET 클라이언트 및 웹 개발자들을 위한 활용 전략 15:50 ~ 16:00 질문/답변 시간, 장소, 날짜 일시: 2011년 6월 25일 토요일 / 오후 2시 장소: 포스코센터 서관 5층 한국 마이크로소프트 (ROOM은 추후 확정 후 다시 공지하겠습니다.) 알립니다: 본 세미나는 커뮤니티가 주최하는 비영리 세미나이며, 주차권은 별도로 제공되지 않으니 가급적 대중 교통을 이용하여 주시면 감사하겠습니다.
지난 글에 이어서 오늘은 Everything as a Service, 줄여서 흔히들 XaaS라고 부르는 개념에 대한 이야기를 나누어보려고 한다. 지난 시간에는 Cloud Computing에 대한 기술적인 정의를 살펴보기 위하여 “Dynamic Set of Connected Computers”라는 문장을 이야기했었는데 그렇다면 이 문장에 부합하는 시스템을 가지고 도대체 무엇을 어떻게 할 것인가라는 이야기를 해야 할 필요가 있을 것이다.
사실 Cloud Computing은 우리도 모르는 사이에 이미 우리 생활 속 깊숙이 자리잡고 있었다. 다만 이것이 Cloud Computing이라고 이야기할 수 있을 만큼 성숙했는가 그렇지 않았는가의 차이일 뿐이다. 실질적으로 Cloud Computing은 언제부터 우리 생활 속에 자리 잡았을까?
현 시점에서 Windows 운영 체제의 사용에 익숙한 대다수의 컴퓨터 사용자들은 과거에 발표된 적이 있는 Windows 98이라는 운영체제를 잘 알고 있다. 1997년 말에 처음 발표되었고, 사전적인 정의로만 놓고 본다면 시장에서 획기적인 사용자 인터페이스로 사람들의 이목을 잡아 끌었던 Windows 95라는 운영체제의 성공적인 후속 버전으로 잘 알려져 있다. 약간 기술적으로 접근해보면 Internet Explorer 4.0을 포함하고 있고, 이 때문에 반독점 시비에 휘말렸던, Microsoft의 입장에서는 다소 쓰라린 추억을 품게 했던 그런 운영 체제였다. 우리가 아는 모습은 여기까지였다.
하지만 Windows 98에서 우리는 Cloud Computing의 시작을 이미 경험하였다. 놀랍게도, Microsoft는 인터넷이라는 수단을 이용해서 Windows 운영 체제를 출시 이후에도 신속하게 수정하고 사용자들의 요구 사항을 전세계 어디에서든 직접 반영할 수 있도록 하는 기술인 Windows Update를 처음 선보였다. 우리는 이것이 당연한 일이라고 생각한다. 하지만 이러한 서비스를 제공해야 하는 Microsoft의 입장에서는 어떠했을까? 대충 계산해보아도 Windows 98을 각 가정에서 하나씩 사용한다고 가정하더라도 전 세계적으로 보면 정말 엄청난 수의 클라이언트를 보유한 셈이다. 이러한 클라이언트들에게 “서비스” 차원에서 소소한 업데이트들을 제공하기 위하여 데이터센터를 구축하고 운영해왔던 것이다.
Cloud Computing은 이와 같이 정확한 규모를 파악하기 어려운 서비스에 대하여 꼭 필요한 접근 방식이다. 우리가 흔히 이야기하는 클라이언트-서버 컴퓨터 환경을 기반으로 하지만, 접속을 하는 클라이언트의 수가 사실 천문학적으로 많을 수도, 혹은 처음 잡았던 운영 규모에 비해 접속하는 클라이언트의 수가 얼마 되지 않아 비용이 낭비되는 상황이 될 수도 있는 “서비스”의 운영에 대해 확실한 방안을 제시한다. 우리가 평소에 물을 사용하기 위하여 사용한 물의 양을 재거나 양동이를 가지고 물을 받아서 쓰는 일을 하지 않는 것과 마찬가지로, Cloud Computing을 사용하면 Web Hosting이나 Server Hosting을 할 때와는 다르게 서비스를 사용한 만큼만 비용을 지불하면 된다. 즉, 서비스의 본질에만 초점을 맞추기만 하면 나머지는 Cloud Computing 서비스 제공자의 역할로 모든 것이 돌아간다는 것이다.
무엇으로 서비스를 만드는가?
Cloud Computing 서비스 제공 업체 입장에서는 무엇으로 서비스를 만들어 제공하는가가 중요한 관점이 될 수 있다. 대부분의 경우 세 가지 범주 안에 모든 것이 설명되는데, 인프라를 기반으로 서비스를 제공하는 Infrastructure as a Service (이하 IaaS), 플랫폼을 기반으로 서비스를 제공하는 Platform as a Service (이하 PaaS), 그리고 소프트웨어나 이에 관련된 기반 기술을 활용하여 서비스를 제공하는 Software as a Service (이하 SaaS) 세 가지로 나눌 수 있다.
IaaS의 경우 Cloud Computing의 도래 이전부터 하드웨어, 네트워크 통신망과 같이 근간이 되는 인프라와 자원에 대한 전문적인 서비스를 제공해오던 사업자들의 관점에서 강점으로 내세우는 Cloud Computing 방식이다. 인터넷 연결을 이용하여 장소와 시간의 제약을 없애고, 약간의 제어용 소프트웨어를 덧붙여 하드웨어, 네트워크 통신망을 자유롭게 제어하고 필요한 만큼 추가하거나 삭제할 수 있는 방안을 제시한다. 여기에는 대표적으로 Amazon, Rackspace 등의 기업이 잘 알려져 있다.
PaaS의 경우 Cloud Computing 이전부터 기반 기술을 보유하고 발전시켜왔던 사업자들의 관점에서 강점으로 내세우는 Cloud Computing 방식이다. IaaS 사업자 – 또는 – 독자적 IaaS 플랫폼을 구축한 이후에 각자 자신들의 철학과 이념을 잘 반영한 Cloud Computing 기반 플랫폼을 IaaS와 마찬가지로 인터넷 연결을 이용하여 사용하고 제어할 수 있도록 제공한다는 취지이다. 여기에는 대표적으로 Microsoft, Salesforce 등의 기업이 잘 알려져 있다.
마지막으로 SaaS의 경우 IaaS와 PaaS를 통하여 최종 사용자에게 실질적인 서비스를 제공하기 위한 취지로 해석되는 경우가 많다. 대표적으로 Google Docs와 Microsoft Office Web Apps가 이러한 범주에 속하는데, 데스크 탑에서 구현할 수 있는 소프트웨어를 웹에서 동시에 사용할 수 있도록 하는 것이 특징이다. 특별히, Microsoft의 경우 SaaS가 보통 의도하는 인터넷 전용의 서비스를 넘어서 기존의 데스크 탑에 설치되는 소프트웨어와 SaaS 기반의 서비스가 서로 균형을 맞추어 사용자에게 적절한 선택을 할 수 있도록 Software + Service 전략을 제시하곤 한다.
지금 열거한 IaaS, PaaS, SaaS는 하드웨어, 소프트웨어, 그리고 전략적 플랫폼이라는 IT 업계의 3대 주요 구성 요소들을 빠짐없이 모두 열거한 것이다. 이 세 가지 범주를 벗어나는 Cloud Computing 서비스는 없으며, 정확히 한 가지에 국한되는 Cloud Computing 서비스도 없다. 즉, 이 세 가지 범주를 이용하여 과거, 지금, 그리고 앞으로 등장할 Cloud Computing 서비스에 대한 이야기를 할 수 있을 것이다. 다만 한 가지 주의해야 할 점이 있다면, Cloud Computing이 반드시 인터넷과 전형적인 컴퓨터 장치만 사용해서 이뤄지는 것은 아니라는 점이다.
서비스로 무엇을 제공하는가?
이러한 특성을 기반으로 무엇을 서비스화하고 Cloud Computing에 올린다면 좋을까? 여기에 대한 답은 의외로 쉽게 찾을 수 있다. 서비스의 규모에 관계없이 사람들이 원하고 바라는 것이면 무엇이 되어도 좋다. 지금부터는 XaaS의 광범위함을 이야기해볼까 한다.
Case #1 – TTS (텍스트를 음성으로 변환) 기술
펜티엄 컴퓨터의 판매가 활발하던 시절, 모 대기업의 컴퓨터 제품을 구입하면 번들로 따라오던 소프트웨어를 모두들 기억할 것이다. 텍스트를 입력하면 여기에 해당되는 사람의 음성 출력을 컴퓨터가, 어눌하지만 꽤나 자연스럽게 표현하는 것이다. 그래서 별로 새로울 것이 없어 보인다. 하지만 이러한 TTS 기술이 Cloud Computing 환경을 만나서 서비스로 탈바꿈하면 어떨까?
iSpeech.org (http://www.ispeech.org)를 방문하면 여기에 대한 현실적인 구현 사례를 만나볼 수 있다. 텍스트 음성 변환을 구현하는 곳은 많았지만 그 지속성이 오래가지 못하는 경우가 대다수인데, 이것을 하나의 완성된 Cloud Computing 서비스로 만들어서 매우 주목을 받고 있다. 여기서 중요한 것은 기존의 경우 텍스트 음성 변환을 이용하기 위하여 음성 데이터 파일과 이를 구현하는 소프트웨어 엔진을 특정 컴퓨터에 설치해야 했으며 심지어는 이 소프트웨어의 파일 크기도 매우 크고, 가격도 매우 비싸기까지 했다. 그러나 이제는 이러한 서비스를 특정 컴퓨터에 설치하는 일 없이, 필요해서 생각이 나면 곧바로 여러분의 웹 브라우저는 물론, 여러분이 개발할 응용프로그램의 기능 상 일부분으로 통합하는 것까지 정당한 비용 지불만 있다면 24시간 365일 가능한 것이다. 이해를 돕기 위하여, iSpeech.org 에서 만든 샘플 오디오를 첨부하였다.
문장: Barack Obama said: I think when you spread the wealth around it's good for everybody. 오디오:
이 서비스를 이용하여 회원 가입 없이는 10초, 무료 회원은 1분 이내의 음성 변환을 시험해볼 수 있으며, API를 사용하거나 전문적인 활용이 필요한 경우 계정을 업그레이드하고 비용을 지불하는 방법으로 더 나은 서비스를 받을 수 있다. 한 마디로, TTS as a Service (TaaS)라고 정의할 수 있는 것이다.
Case #2 – Windows Live
Windows Live의 역사는 장대하다. 그리고 다양한 실험을 거쳐서 지금의 형태를 띠게 된 것이라 할 수 있다. Windows 95 시절 처음 소개되었던 The Microsoft Network를 통하여 인터넷 서비스를 어떻게 제공하면 좋을지 Microsoft는 지속적으로 고민의 고민을 거듭해왔고, 본격적으로 TCP/IP 기반의 인터넷이 활성화되기 시작할 무렵 출시된 Windows 98부터는 동적 웹 페이지 기능 – 혹은 – DHTML, AJAX (COM 기반 HTTP Request), 웹 서체와 같은 더 확장된 인터넷 기능을 제공하는 Internet Explorer 4.0과 더불어 인터넷의 본질에 접근하기 시작하였다. 물론 이 무렵에도 지속적으로 MSN은 전형적인 Internet Contents 제공 사업자로서의 모습을 갖추고 있었다.
그러나 MSN 이상으로, 사용자가 인터넷을 좀 더 친숙하고 편리하게 사용할 수 있는 방안이 없을지에 대한 지속적인 고민이 더해져, 2005년 늦가을에 Microsoft는 Windows Live의 첫 버전을 발매하였다. Windows 운영 체제를 사용하는 사용자들의 경험을 배반하지 않으면서도 인터넷 서비스가 갖추어야 할 강력함을 동시에 유지하는 어려운 실험을 시작하였고, 시간이 갈수록 이 실험에 대한 성과가 나타나기 시작하였다.
현재의 Windows Live는 개인 사용자들이 Microsoft의 다양한 인터넷 자원에 접근하기 위한 핵심 운영 체제와 동일한 맥락을 갖는다. Microsoft가 Windows 95 시절 이후부터 유지하고 발전시켜왔던 MSN 웹 사이트는 물론, 전자 메일 서비스를 제공하는 Hotmail, 인스턴트 메신저 서비스를 제공하는 Windows Live Messenger 등 일반 사용자를 위한 서비스가 핵심이 되고, Windows Azure Platform의 등장과 더불어서 Cloud Computing 환경에서의 Claim 기반 인증 수단으로 Windows Live ID는 그 핵심을 차지하고 있다.
그리고 Windows Live는 지속적으로 다른 웹 응용프로그램들의 장점을 수용하고 발전시켜나가면서 우리가 잘 아는 Google의 AJAX 기반 Web Application과 다르지 않은, 그러면서도 기존 Office나 Windows 사용자들의 경험을 배반하지 않는 Web Application을 성공적으로 Windows Live에서 제공하기 시작하였다. 한 마디로, Windows Live는 Microsoft의 핵심 인터넷 서비스이자 Microsoft가 출시하는 각종 소프트웨어는 물론 여러분이 고객에게 제공하게 될 서비스에 Microsoft의 인터넷 서비스를 자연스럽고 강력하게 통합시킬 수 있는 확장 기능 집합이라 할 수 있다.
Case #3 – TROPO
TROPO에 대해서는 생소한 사람들이 많을 것이다. 이 서비스를 한 마디로 요약하면, 전화 통신 시스템을 가상화한 것이라고 말할 수 있다. 어떻게 그게 가능했을까? 답은 VOXEO Corporation의 기술력에 있다.
VOXEO Corporation은 전통적으로 전화 통신 기반으로 지속적으로 연구 개발을 해왔던 기업으로 기간 망을 운용하는 사업자들처럼 사업의 규모에 집중한 것이 아니라, 전화를 이용한 부가 가치 창출에서 꼭 필요한 자동화 시스템을 구현하는 일에 많은 자원을 투자한 것으로 유명한 회사이다. 덕분에 이 분야에 뛰어든 다른 여러 회사들 가운데에서도 VOXEO Corporation의 행보는 남다르다고 할 수 있다.
필자 역시 이 회사의 존재도, 이 회사가 Cloud Computing 서비스라고 소개하는 TROPO에 대해서도 사실은 전혀 알지 못하였다. 그러나 인터넷 검색을 통하여 처음 접하였고, 이 회사에서 제공하는 TROPO 서비스를 알게 되었으며, 덕분에 Imagine Cup 2010 대회에 참가하기 위하여 제출한 아이디어에서 이 서비스의 능력을 Windows Azure Platform과 연계하여 적극 활용하여 원하는 IT 솔루션을 실제로 그려낼 수 있었다.
종전에는 자동 응답 시스템, 혹은 대화형 음성 응답 시스템을 구현하기 위해서는 여러 개의 전 이중 회선을 전화국으로부터 할당 받아 전화 수신이 폭주하는 경우에도 최대한 전화를 받을 수 있도록 해야 했고, 이러한 기능을 수행할 수 있는 매우 비싼 장비를 구축해야 하고, 이러한 장비를 제어하고 유지보수하기 위한 소프트웨어를 개발하는 등 생각할 수 있는 모든 역량을 집중해야 한다. 그러나 여기서 장치, 전 이중 회선, 유지 보수 등 생각할 수 있는 모든 복잡한 요소를 제거하고 순수하게 어떤 시나리오를 재현하는 음성 응답 시스템을 만들 수 있는 스크립트만을 작성하여 게시하면, 미리 지정된 전화 번호로 전화를 걸었을 때 작성한 스크립트대로 동작하는 것을 들을 수 있다. 더 중요한 것은, 기능을 테스트하고 개발하는 동안에는 무료로 사용하고 실제로 서비스를 수행할 때 비용을 지불할 수 있다는 것이다.
빠른 이해를 돕기 위하여, DEMO 응용프로그램을 Skype를 통하여 직접 테스트해볼 수 있다. DEMO 응용프로그램은 아래와 같은 스크립트로 구성되어있다.
answer();
say("Yes, Tropo is this easy!");
hangup();
전화, Skype, SIP 등을 이용하여 음성 출력을 사용하는 통신 수단으로 이 응용프로그램에 접근한다면 TTS 엔진을 통하여 변환된 음성을 들을 수 있을 것이다. 반면 텍스트 기반 통신 수단으로 이 응용프로그램에 접근한다면 문자 메시지나 대화에 대한 응답으로 텍스트를 받을 수 있을 것이다. 즉, TROPO는 음성과 텍스트에 대한 완벽한 가상화를 지원하고 있는 것이다.
다음 시간부터는 순차적으로 Microsoft의 3대 Cloud Computing 전략에 대하여 살펴보기로 할 예정이다. 그 중 가장 첫 번째로, Office 365에 대한 이야기를 풀어보고자 한다. Office 365는 이전에 언론 등을 통하여 Business Productivity Online Standard (BPOS) Suite로 소개되었으며 이것이 Microsoft Office 2010 또는 그 이후 버전과 함께 군을 이루어 2010년중에 정식 버전으로 소개될, 현재 Windows Live가 제공하는 개인 및 SOHO를 위한 Office 확장과는 별개인 더 전문적인 Mobile Office용 Cloud Computing 서비스이다. 그 후, Windows Server Family에서 사용할 수 있는 Cloud Computing과 상호 운용 기술을, 마지막으로는 Windows Azure Platform에 대하여 개발자 관점과 IT Professional 관점으로 나누어 상세하게 다루어볼 예정이다.
[Updated] All demos were updated to the Azure SDK 1.3 / 모든 DEMO들이 SDK 1.3 버전에 맞추어졌습니다.
[New demo script] Deploying and Managing SQL Azure Databases with Visual Studio 2010 Data-tier Applications / Visual Studio 2010 데이터 계층 응용프로그램에서 SQL Azure 데이터베이스를 배포하고 관리하는 프레젠테이션이 추가 되었습니다.
[New presentation] Identity and Access Control in the Cloud / 클라우드 환경에서의 아이덴티티와 액세스 제어에 관한 프레젠테이션이 추가되었습니다.
[New presentation] Introduction to SQL Azure Reporting / SQL Azure 레포팅에 대한 프레젠테이션이 추가되었습니다.
[New presentation] Advanced SQL Azure / SQL Azure의 고급 기능 및 상세 정보에 대한 프레젠테이션이 추가되었습니다.
[New presentation] Windows Azure Marketplace DataMarket / 이전 버전인 Codename: Dallas의 정식 버전인 Windows Azure Marketplace DataMarket에 대한 프레젠테이션이 추가되었습니다.
[New presentation] Managing, Debugging, and Monitoring Windows Azure: Windows Azure 응용프로그램을 관리, 디버깅, 모니터링하는 방법을 소개하는 프레젠테이션이 추가되었습니다.
[New presentation] Building Low Latency Web Applications: 빠른 응답 속도를 구현하기 위하여 웹 응용프로그램에서 취해야 할 가이드라인을 소개하는 프레젠테이션이 추가되었습니다.
[New presentation] Windows Azure AppFabric Service Bus: AppFabric Service Bus에 대한 새 프레젠테이션이 추가되었습니다.
[New presentation] Windows Azure Connect: 이전 버전인 Codename: Sydney의 정식 버전인 Windows Azure Connect에 대한 새 프레젠테이션이 추가되었습니다.
[New presentation] Moving Applications to the Cloud with VM Role: 기존의 응용프로그램을 VM Role 환경으로 이식하는 방법에 대한 새 프레젠테이션이 추가되었습니다.
이 내용들 중 VM Role에 관한 것은 이전에 제가 같이 게시하였던 VM Role 관련 Step-by-step 문서와 더불어서 보실 것을 권합니다. 감사합니다. :-)
PDC 2010에서 언급된 대로 이번 Windows Azure 업데이트에는 많은 수의 업그레이드가 있었습니다. 이러한 업그레이드들의 공통적인 목표는 단 한가지, 좀 더 높은 수준의 서비스를 좀 더 손쉽고 빠르게 개발할 수 있도록 개발자들을 지원하기 위함이었습니다. 그리고 12월 1일, 드디어 새 버전의 SDK와 함께 윈도 애저 서비스 포털이 새 단장을 합니다.
새 버전의 Windows Azure SDK의 버전은 1.3이며, Windows Azure Management Portal은 이제 정식으로 사용할 수 있도록 서비스됩니다. 다음은 Windows Azure SDK 버전 1.3에서 바뀐 사항들을 정리한 것입니다.
권한 상승과 전체 IIS 기능 사용을 통하여 좀 더 완성도 높은 응용프로그램의 개발이 가능하게 됩니다. 이제 웹 역할과 작업자 역할에서 관리자 권한을 이용한 실행을 지원하므로 고유한 소프트웨어의 설치가 가능하게 되었고, 특히 웹 역할의 경우 IIS 전체 기능을 지원하도록 개선되어 IIS 7 전용 모듈을 설치하는 등의 작업이 가능하게 되었습니다.
윈도 서버 2008 R2 기반의 역할 지원: Windows Azure는 이제 Windows Server 2008 R2를 OS로 사용할 수 있도록 웹 역할, 작업자 역할, 그리고 가상 머신 역할이 개선되었습니다. 여기에는 IIS 7.5, AppLocker를 비롯하여 고급 명령줄 도구와 PowerShell 버전 2.0과 같은 자동화 기능까지 지원되며, 이전에 제 블로그 글 ([Software Development/Windows Azure] - 이제 UNIX 기반 프로그램도 Windows Azure의 First Citizen이 됩니다.)에서 언급했던 것과 마찬가지로 SUA 등의 리소스를 사용하여 UNIX, LINUX, POSIX 기반 응용프로그램을 윈도 애저 플랫폼으로 이식하는 작업도 가능하게 됩니다.
다중 서비스 관리자 지원: 이제 Windows Azure는 다수의 윈도 라이브 ID를 관리자로 인정하여 서비스에 대한 제어를 수행할 수 있도록 기능이 개선되었습니다. 팀 단위 작업에 대한 지원을 고려하여 추가된 기능으로 더 효율적이고 편리한 작업을 수행할 수 있습니다. 특히 이 기능은 작업 시간대가 서로 다르고 위치가 떨어져있는 팀원들 사이에 관리 작업을 공유할 때 매우 효율적입니다.
실버라이트 기반의 Windows Azure Portal 런칭: 기존의 AJAX 기반 Windows Azure Portal보다 더 사용하기 쉽고 빠르며, 새로운 기능들에 대한 완벽한 인터페이스를 제공하는 실버라이트 UI를 Windows Azure Portal에서 사용할 수 있습니다.
향상된 진단 정보: 1차원적인 진단 정보가 아닌 좀 더 상세한 진단 정보를 통하여 관리하는 역할 인스턴스들의 종류, 배포된 시간, 마지막으로 다시 부팅한 시간등을 확인할 수 있습니다.
새로운 회원 가입 프로세스: 이전보다 더욱 편리하고 쉽게 Windows Azure 서비스에 가입하여 곧바로 클라우드 컴퓨팅 서비스를 이용할 수 있게 됩니다.
이제 개발자와 IT 전문가들은 Windows Azure Management Portal을 통하여 다음의 베타 서비스에 액세스할 수 있습니다.
Windows Azure 마켓플레이스: Windows Azure 마켓플레이스는 여러분의 빌딩 블록 구성 요소를 공유하거나, 판매하거나, 구입할 수 있도록 도우며, 고급 데이터를 거래할 수 있도록 도와주는 온라인 마켓플레이스입니다. 현재는 DataMarket (구 Codename: Dallas)이 런칭된 상태이며, 이번에는 Application Market Section이 오픈되었습니다. 40개 파트너사와 50여개의 응용프로그램과 서비스가 현재 게시되어있습니다.
다음의 기능은 CTP (Community Technology Preview)로 제공됩니다.
Windows Azure Connect (구 Project Sydney): 더욱 단순하고 관리하기 쉬운, 클라우드와 온 프레미스 사이의 IP 기반의 네트워크를 형성할 수 있도록 도움을 주는 서비스가 CTP로 런칭되었습니다. 현재는 별도의 비용을 받지 않는 CTP 버전으로 제공되며 Windows Azure Management Portal을 통하여 서비스를 신청하고 미리 테스트해보실 수 있습니다.
미국 시간 기준으로 2010년 12월 1일 오전 9시 (한국 시간은 2010년 12월 2일 오전 2시)에 Windows Azure Management Portal을 통하여 Overview 웹 캐스트 (http://go.microsoft.com/fwlink/?LinkID=207019)가 게시될 예정이니 관심있으신 분들께서는 꼭 살펴보시기 바랍니다. :-)
요즈음 개그콘서트에서 한창 인기를 누리고 있는 "남하당 여당당"의 두 주인공이 직접 촬영한 Windows 7 Personal Cloud Life 캠페인 동영상, 보셨나요? 이 글을 쓰고 있는 현 시점에서 두 편의 동영상이 선 공개되었고 조만간 새로운 동영상들이 유익한 내용과 함께 여러분을 찾아가게 될 예정입니다. 나른하고 졸린 식곤증을 재미있는 개그 동영상과 함께, 그리고 유익한 정보를 함께 배우며 재미있게 보내보신다면 좋겠습니다. :-D
오늘 오전 10시부터 네이트 앱 스토어에서 Amazon Elastic Cloud 기반 Social App을 런칭하였습니다. 주식회사 SHESTORY의 서비스이며, QR 코드에 독창적인 컨텐츠를 부여하고 자신의 메시지를 남들에게 전달하거나 공유하고, 댓글 등을 통하여 의견을 받을 수도 있는 LinkupWith라는 App이며, Microsoft Silverlight 4를 사용하였고, 조만간 iPhone과 Android용 전용 QR Code Reader Application이 추가 공개될 예정입니다.
위의 이미지는 Silverlight 기반 Client UI로 주요 실행 화면들을 스크린 샷으로 촬영한 것입니다. App의 자세한 사용법은 http://club.cyworld.com/5451477817/43245835 에서 소개하고 있습니다. 이번에 사용한 클라우드 플랫폼은 Amazon EC2로, Windows Server 2008 x86 및 IIS 7에서 ASP.NET과 WCF를 사용하여 구현된 서비스입니다.
Windows Azure에 대하여 가장 많은 요청이 있었고 가장 많은 관심을 받았던 업데이트들 중에서, 오늘은 Windows Azure 인스턴스를 원격으로 제어하기 위하여 앞으로 배포될 SDK와 서비스에서 어떻게 클라우드 서비스를 구성하면 될지 그 방법을 미리 살펴보는 글을 올립니다.
Windows Azure 서비스 패키지에 원격 데스크톱 연결 추가하기
1단계: 이제까지 해왔던 것처럼 Windows Azure 서비스 프로젝트를 만들고 테스트한 후 배포할 준비를 마치십시오.
위의 대화 상자를 볼 수 있는 단계까지 여러분의 클라우드 서비스가 준비되어있다면 이 글의 내용을 시험해 볼 수 있습니다. 새 버전의 SDK에서는 "Configure Remote Desktop Connections…" 링크가 "Enable IntelliTrace for .NET 4 roles" 체크 박스 바로 아래에 새로 나타날 것입니다. 링크를 클릭하면 다음과 같이 추가 대화 상자가 나타날 것입니다.
2 단계: 원격 데스크톱 연결 구성하기
이어서 나타나는 대화 상자에서, "Enable connections for all roles" 체크 박스에 체크합니다. 그리고, 보안 연결에 사용할 인증서를 선택하고, 원격 연결에 사용할 사용자 ID와 이름을 지정합니다. 해당 계정에는 반드시 계정 만료 기간을 지정하도록 되어있습니다. 한 가지 알아둘 점이 있다면, 이번에 같이 소개된 VM Role과는 다르게 웹 역할과 작업자 역할은 그 자체로 완성된 응용프로그램으로 볼 수 있으며 가능한 원격 연결을 사용하지 않더라도 완전하게 구동될 수 있는 것을 목표로 하는 것이 좋습니다. 또한, 온 프레미스 환경에서의 클라우드 운영과 다르지 않은 보안 목표를 설정할 수 있는데 바로 노출 영역의 최소화라는 관점입니다. 계정 날짜 만료는 이러한 목표를 달성할 수 있도록 돕습니다.
Windows Azure 호스팅 서비스를 통하여 배포하기
지금부터 설명할 내용은 새 버전의 실버라이트 기반 Windows Azure 호스팅 서비스 관리 도구를 기준으로 인증서와 클라우드 서비스를 배포하는 방법에 대한 내용입니다.
1단계: 화면 좌측 하단에 있는 Compute, Storage & CDN 탐색 영역을 클릭하여 화면을 이동합니다.
2단계: 새로 나타나는 트리 뷰에서 Compute Services 노드를 클릭하면 우측의 화면이 아래와 같이 바뀌게 됩니다.
3단계: 상단의 리본 메뉴의 New 섹션 안에 있는 New Hosted Service 버튼을 클릭하면 아래와 같은 대화 상자가 나타납니다. 앞 단원에서 설명한 대로 진행하기 위해서, 아직은 실제 클라우드 서비스 패키지를 배포하지 않습니다. 여기서 미리 배포를 하기 위해서는 앞 단원에서 설명한 클라우드 서비스 패키지와 매칭할 수 있는 인증서가 클라우드 서비스에 미리 등록되어있어야 합니다. Deploy 그룹 아래의 Do not deploy 버튼을 선택하고, 서비스 이름과 서비스 별칭을 지정, Affinityp Group, Region 등을 설정한 후 OK 버튼을 클릭합니다.
4단계: 이제 별도의 인스턴스가 생성되지 않은 서비스가 구독 항목 아래에 생성되는 것을 볼 수 있습니다. 우측 트리 뷰에서 Compute Services 항목을 펼칩니다.
5단계: Compute Services 노드 아래에 인증서를 등록할 수 있도록 별도의 옵션이 나타나는 것을 볼 수 있습니다. Service Certificates 노드를 선택하고, 상단의 리본 메뉴에서 Certificates 섹션 아래의 Add Certificate 버튼을 클릭합니다.
6단계: 아래 대화 상자에서, 개인용 인증서 파일과 암호, 그리고 인증서로 증명할 대상 Hosted 서비스를 선택하고 Create 버튼을 클릭합니다.
7단계: 새 인증서가 Grid Control에 등록되는 것이 보인다면, 이제 다시 우측의 Compute Services 노드를 클릭하여 이전 화면으로 되돌아갑니다.
8단계: 4단계에서 생성한 클라우드 서비스를 선택하고, 상단의 리본 메뉴에서 New 섹션의 New Production Deployment – 또는 – New Staged Deployment 버튼을 클릭합니다. Production Deployment는 3단계에서 설명한 서비스 주소에 직접 연결되는 인스턴스를 생성할 수 있도록 하고, Staged Deployment는 임시 주소를 할당 받아 인스턴스를 생성할 수 있도록 해주지만 언제든 Production Deployment로 서비스 중단 없이 곧바로 교체할 수 있도록 준비되는 인스턴스들입니다. 아래 대화 상자에서 CSPKG 파일과 CSCFG 파일을 컴퓨터에서 찾아 지정하고, OK 버튼을 클릭합니다.
9단계: 전보다 더 보기 쉽고 안정적으로 동작하는 UI에서 실시간으로 인스턴스들의 상태가 가지런히 열거됩니다.
아래 그림처럼 모든 인스턴스들의 상태가 Ready로 바뀔 때까지 기다립니다.
이제 Ready로 표시된 인스턴스 하나를 클릭해 봅니다. 그러면 상단의 리본 메뉴에 Remote Access 섹션에 Connect 버튼이 활성화되는 것을 볼 수 있습니다. 클릭하면 브라우저의 다운로드 기능을 통하여 해당 인스턴스에 직접 접속할 수 있는 RDP 스크립트 파일의 다운로드를 허용할 것인지를 묻는 창이 나타납니다. 이렇게 생성된 RDP 파일은 USB 저장 장치나 바탕 화면 등에 보관하여 원격 데스크 톱 클라이언트와 함께 가지고 다니면서 사용할 수 있습니다.
많이 보던 시나리오인 것을 알 수 있습니다. Amazon Elastic Cloud Computing에서 호스팅되는 Windows Server와 마찬가지로 원격 제어 기능이 이제 개별 인스턴스에 대해서도 가능해졌습니다. 그리고 이러한 기능을 통하여 Windows Azure 기술 지원 팀에게 직접 설명하기 어렵고 민감한 조치 사항들을 고민하지 않고, 쉽고 빠르고 안전하게 문제를 해결하거나 진단할 수 있게 되었습니다. J
간단히 살펴본 새로운 기능과 새 관리자 도구였습니다. 올해 연말, 그리고 내년 연초에는 이러한 기능들이 모두 실제로 사용할 수 있도록, 그리고 좀 더 개선된 형태로 Windows Azure 고객들에게 제공될 예정이니 많은 기대를 하셔도 좋겠습니다.
웹 역할은 IIS 7.5 전체 사양 지원을 통하여, 좀 더 완성된 웹 응용프로그램과 미들웨어를 Windows Azure에서 호스팅할 수 있게 되었습니다.
웹 역할과 작업자 역할의 경우, 관리자 권한 개념이 추가되어 소프트웨어 구동에 필요한 COM 서버, ActiveX 컨트롤, COM+ 서버 등을 64비트 내의 32비트 호환 모드 - 또는 - 64비트 모드에서 미리 설치하여 구성할 수 있게 되어 더욱 다양한 서버 환경을 호스팅할 수 있게 되었습니다.
원격 데스크톱 기능을 각각의 인스턴스에 허용하여, 실행 중인 인스턴스에서 발생하는 다양한 문제점을 Windows Azure Team의 기술 지원이 완료되기까지 기다리지 않고 직접 관리자 재량으로 수행할 수 있는 방안이 제공됩니다. 이는 웹 역할, 작업자 역할에도 동일하게 적용됩니다.
새로운 클라우드 기반의 네트워킹 기능이 Windows Azure 가상 네트워크 아래에서 제공되며, 첫 단계로 Windows Azure Connect가 (http://www.microsoft.com/windowsazure/virtualnetwork/default.aspx) 현재 CTP 발표 준비 중에 있습니다. Windows Azure Connect는 이전에 Codename: Sydney로 발표된 적이 있었으며, IP 기반의 네트워크를 기존의 온 프레미스 환경과 Windows Azure의 클라우드 환경 사이에 형성할 수 있도록 하여 Windows Azure의 다양한 리소스를 인터넷이 아닌 로컬 네트워크 수준에서 손쉽게 관리하고 공유할 수 있는 메카니즘을 제공하게 됩니다.
더욱 합리적인 플랫폼 접근
클라우드 컴퓨팅을 운영하면서 가장 이슈가 되는 부분은 비용에 관한 부분이며, 이에 대한 답으로 이번 PDC 2010에서는 최대한 저렴하게 개발하고 테스트할 수 있는 방안으로 기존의 소형 인스턴스 요금보다 최대 50% 이상 저렴한 Extra Small 인스턴스를 제공합니다. 그리고 Microsoft 파트너 회원사를 위하여 Cloud Essential Pack 요금제의 출시를 앞두고 있다는 소식도 있습니다. (http://www.microsoft.com/windowsazure/faq/#partners)
향상되는 서비스
실버라이트 기반의 새 Windows Azure 포털 서비스는 이전과는 완전히 다릅니다. 더 사용하기 쉽고, 더 직관적이며, 더욱 강력한 기능들을 제공할 것입니다.
현재 제공되는 진단 정보 (Diagnostic Information)에 새로운 항목이 더 추가됩니다. 역할의 종류를 확인하고, 배포된 시간과, 최근 해당 인스턴스나 역할이 다시 기동된 시점을 알아볼 수 있습니다.
새로운 가입 절차를 기획 중에 있으며, 이를 통하여 지금보다 더 빠르고 간편하게 Windows Azure 서비스에 가입할 수 있게 될 것이라고 합니다.
Windows Azure Marketplace가 새로 발표되었습니다. Windows Azure Marketplace에는 향후 여러 종류의 마켓이 추가될 것이며 여기에는 데이터 뿐만 아니라 소프트웨어, 서비스, 빌딩 블럭 등 클라우드 환경 구축에 필요한 다양한 제품의 판매를 목적으로 합니다. 첫 번째 마켓으로, Codename: Dallas가 정식으로 DataMarket(https://datamarket.azure.com/)으로 데뷔합니다.
2011년 중에 발표될 예정인 업데이트들
동적 컨텐츠 캐시: 지금은 BLOB 저장소에서 공개 권한으로 열려있는 파일에 대한 CDN 서비스만이 가능하지만, 직접 운영하는 Windows Azure 응용프로그램에서 API를 사용하여 CDN 서비스로 게시할 컨텐츠를 직접 설정할 수 있게 됩니다.
CDN SSL 지원: 현재는 일반적인 유형의 CDN 서비스가 제공되지만, SSL/TLS 기반의 암호화된 내용을 바탕으로 데이터를 전달하는 CDN 서비스가 추가될 예정입니다.
CDN 노드 추가 개설: 중동 국가들을 경유하는 노드가 추가될 예정에 있으며, 현행 미국과 브라질 간 연결 속도를 더 개선할 예정입니다.
주문형 VM 역할 제작 서비스: VM 역할이 발표된 직후에는 온 프레미스 환경의 Windows Server 2008 R2 기반의 컴퓨터만을 Physical to Virtual (P2V) 도구를 이용하여 VM 역할로 변환이 가능하지만, 새로운 인스턴스의 생성을 관리 도구 수준에서 가능하게 할 예정입니다. 이는 기존의 가상화 기반 클라우드 서비스들이 제공하는 것과 동일한 컨셉입니다.
2011년 중에 VM 역할로 사용할 수 있는 서버 운영 체제로 Windows Server 2003과 Windows Server 2008 SP2가 추가될 것입니다. 발표 직후에는 Windows Server 2008 R2에만 한정됩니다.
Java 개발자를 위한 지원 향상: 현재와 같이 Visual Studio - 또는 - Visual Web Developer에 JRE나 JDK를 같이 배포하는 방식이 아닌, Java를 직접 Windows Azure 개발 환경에 사용할 수 있도록 Eclipse용 개발 도구와 라이브러리가 향상될 것이며, 2011년 중에 이에 대한 새로운 내용이 발표될 것입니다. 이로서 Windows Azure를 이용하는 사업자는 .NET 이외에도 Java를 프로그래밍 언어로 직접 선택할 수 있습니다. Microsoft는 이러한 전략에 대하여, Java를 Windows Azure의 First Citizen으로 향상시키는 것으로 표현하고 있습니다.
Project Riviera - 동적 스케일링 샘플에서 더 확장된 예제로, 윈도 애저 스토리지, Windows Workflow, 액티브 디렉터리 페더레이션 서비스, Patterns & Practices Enterprise Library 캐싱 및 로깅 응용프로그램 블럭, 윈도 라이브 ID 인증 등 엔터프라이즈 및 아키텍처에서 등장하는 기술들이 골고루 사용된 고급 샘플입니다: http://code.msdn.microsoft.com/riviera
Patterns & Practice - Windows Azure Platform을 위한 아티클이 새로 업데이트되고 있는 중입니다.