아키텍트2009. 12. 10. 15:50

많은 분들이 “마이크로소프트의 클라우드 컴퓨팅 전략, Windows Azure Platform이 뭘까?” 라고 궁금해 하십니다.

이런 질문에 적절한 답을 드리기 위해 마이크로소프트 개발자 및 플랫폼 사업총괄 Senior 그룹에서 아키텍처 저널사이트를 운영하고 있습니다. (본 저널은 위키로 만들어져 내용이 지속적으로 갱신 및 추가되고 있습니다.)

■ 아키텍처 저널 : http://www.architecturejournal.org/wiki/Main_Page

■ Windows Azure Platform : http://www.architecturejournal.org/wiki/Windows_Azure_Platform

■ 클라우드 컴퓨팅 (일반)

   1. 아키텍처: http://www.architecturejournal.org/wiki/Cloud_Computing:Architecture
   2. 비교 분석: http://www.architecturejournal.org/wiki/Cloud_Computing:Comparative_Analysis
   3. 산업 활용 시나리오: http://www.architecturejournal.org/wiki/Cloud_Computing:Industrial_Scenarios
   4. 사업 전략: http://www.architecturejournal.org/wiki/Cloud_Computing:Business_Strategy
   5. 종합: http://www.architecturejournal.org/wiki/Cloud_Computing

많은 활용 부탁 드립니다.

Posted by 조이트리
아키텍트2009. 12. 8. 11:33

서비스를 개발하기 위해 WCF, WF를 사용해보신 경험이 있을 겁니다. 실제 환경에서 WCF와 WF를 사용할 때의 과제 중 하나는 서버 환경에서 서비스와 워크플로를 호스트하는 위치를 결정하는 것이죠. WCF를 위해 Windows Server 2008의 IIS와 WAS(Windows Process Activation Service)를 선택하는 경우가 일반적 입니다.

현재 IIS와 WAS를 조합하면 들어오는 메시지에 응답하여 프로세스 활성화, 프로세스 모니터링 및 상태관리, 프로세스 재활용, CLR AppDomain 통합, 기본 제공 보안, 그리고 IIS 관리자와 Windows Powershell cmdlet을 통해 사용할 수 있는 몇 가지 기본적인 관리 기능을 포함하여 다양한 핵심 기능이 제공됩니다.

IIS와 WAS의 조합으로 WCF 응용 프로그램 호스팅을 위한 기반이 마련되었지만 서비스 관리 영역에서는 부족한 점이 있습니다. IIS/WAS 조합은 서비스 추적, 모니터링, 실행중인 서비스 인스턴스 진단과 같은 WCF 전용 서비스 관리 기능을 전혀 제공하지 않습니다. 호스팅되는 서비스의 상태를 쿼리할 수 없기 때문입니다. 또한, 여러 서버팜에서 장기간 실행되는 워크플로를 지원하려면 기본적으로 상태 저장 모델이 요구되기 때문에 서버환경에서 WF 응용 프로그램을 호스팅하기는 까다롭습니다. .NET Framework 3.0에서는 WF 서버 호스트를 제공하지 않았기 때문에 개발자가 직접 작성해야 했죠. 그러나 .NET Framework 3.5부터는 WorkflowServiceHost 클래스가 도입되면서 기본적으로 WF 워크플로를 WCF 서비스로 호스트할 수 있게 되었고, IIS/WAS 내에서 WF 워크플로를 호스트 하는 것 또한 가능해졌습니다.

WorkflowServiceHost가 도움은 되긴 하지만, 전체 여러 웹 서버 팜에서 상태 저장 워크플로를 관리하기 위한 도구 자원이나 런타임에 실행 중인 워크플로 인스턴스를 모니터링 및 관리하기 위한 도구가 없었습니다. 대부분의 개발자는 BizTalk Server와 서비스 및 워크플로 관리 기능 면에서 비슷하면서도 간소화 된 환경을 원합니다. 즉, WCF와 WF 응용 프로그램을 위해 특별히 디자인된 단순한 모델이 적절하고 필요한 것입니다.

마이크로소프트는 WCF 및 WF 응용 프로그램을 위한 유용한 호스팅 및 관리 기능을 제공하는 코드명 “Dublin” 이라는  Windows Server 확장 집합을 준비하고 있습니다. “Dublin”은 기본적으로 IIS/WAS에 기반을 두는 서비스 관리 확장의 집합으로 Windows Server의 일부로 제공됩니다. “Dublin” 확장을 사용하면 서비스와 워크플로는 여전히 IIS/WAS에서 호스팅 되지만 현재 IIS/WAS에 없는 추가적인 WCF와 WF 전용 관리 기능과 도구를 응용 프로그램에서 사용할 수 있습니다. 향후 버전의 Windows Server에는 다양한 “Dublin” 확장이 Windows Server 응용 프로그램 서버 역할의 일부로 제공될 계획입니다. 일부에서 Windows Application Server라고 부르는 사람들도 있습니다.

“Dublin” 확장에서는 안정적이고 견고한 서비스와 장기 실행 워크플로를 위한 관리지원이 포함되어 있습니다. “Dublin”을 사용하면 응용 프로그램을 팜의 여러 개별적인 서버에 배포할 수 있으며 세부적인 서비스 관리 작업에 필요한 도구도 제공됩니다. 그림1의 아키텍처를 살펴보도록 하겠습니다. 

그림1. “Dublin” 아키텍처

“Dublin”에서는 서비스 지속성과 모니터링을 위한 기반이 되는 몇 가지 런타임 데이터베이스를 제공합니다. .NET Framework에서 제공하는 런타임 구성 요소와 서비스 계층이 있으며 이 계층은 이러한 데이터베이스에 기반을 둡니다. “Dublin”에서는 이러한 런타임을 더욱 확장하여 통합된 호스팅, 지속성, 모니터링 및 메시징 기능을 제공합니다. 이 계층과 기본 런타임 데이터베이스를 합친 것을 “Dublin” 이라고 합니다.

아키텍처의 최상위 두 개 계층은 “Dublin”을 사용할 수 있도록 만들어 주는 것입니다. Windows Powershell cmdlet을 통해 다양한 기능을 스크립팅 할 수 있도록 해주는 관리 API 계층이 있습니다. 그 위에 IIS 관리자 환경이 있고, 실질적으로 Windows Powershell cmdlet 에 기반을 두고 있기에 대부분의 IIS 관리자가 편안하게 느낄 수 있습니다. IIS 관리자에서 할 수 있는 모든 일은 cmdlet으로도 할 수 있습니다. 앞에서 언급한 호스팅 및 관리 작업을 수행하기 위해 다양한 UI 확장을 IIS 관리자에 추가했습니다. 그 중에서도 응용 프로그램 배포 및 구성, 응용 프로그램 관리, 그리고 응용 프로그램 모니터링을 위한 확장이 있습니다. 이러한 확장은 실행, 일시 중단, 지속된 워크플로 인스턴스 등의 항목을 보여주는 시스템 런타임 대시보드도 제공합니다.

참고문헌: MSDN, .NET Framework 4.0과 "Dublin"의 WCF 및 WF 서비스

Posted by 조이트리
아키텍트2009. 12. 8. 10:48

Velocity 시나리오 (2)

두번째 시나리오: Velocity Session State Provider (세션 상태 제공자)
지마켓이나 옥션에서 구매할 물건을 선택한 후 장바구니에 담기 해보신 적 있으시죠? 클라이언트와 서버 사이에 세션이라는 것이 맺어져서 서로 통신을 하게 되는데, 여러대의 서버를 사용하고 있다면 어떤 물건을 선택했는지에 대한 정보가 저장되어 있어야 장바구니에서 사라지지 않게 되겠죠. 실제 상품이 결제까지 끝난 후 세션 상태를 지워주는 역할을 하게 됩니다.

세션의 상태 정보를 저장하는데 데이터베이스에서 제공하는 SQL Server Session Provider를 사용하곤 했을 겁니다. 
오늘 글에서는 Velocity Session State Provider와 SQL Server Session Provider를 사용하는 방식에 대해 비교 분석을 해보겠습니다.

그림1. 전자 상거래 애플리케이션 아키텍처


성능 테스트를 하기 위해 6대의 웹서버를 사용했습니다.

성능 테스트
. Database와 Velocity 버전의 Throughput 테스트
. Database와 Velocity 버전의 Scalability (확장성) 테스트
. Velocity 버전에는 고가용성 오버헤드, Failover에 대한 테스트를 병행했음

1) 확장성

그림2. 300KB 오브젝트로 측정한 Throughput

확장성을 측정하기 위해 6대의 서버가 사용되었는데, Latency는 0에서 조금씩 증가하는 형태로 진행됐음.

그림3. 확장성 그래프

재미있는 결과 값을 확인할 수 있습니다. 3개의 노드까지는 데이터베이스와 유사한 결과값을 보이다가 노드수가 증가하면 데이터베이스의 경우 throughput이 줄어드는 현상이 나타납니다. 왜 이럴까요? 웹서버가 수가 늘어나면 데이터베이스에 과부하가 발생할 수 있습니다. 웹서버에서의 요청이 처리되기 전에 또 다른 요청이 데이터베이스로 유입되면서 전체적인 성능이 저하되는 현상이라고 할 수 있습니다. 즉, 병목현상이 벌어지는 거죠. 다시 말하면 웹서버의 수가 많더라도 충분히 활용되지 못하는 것입니다.

2) 고가용성

고가용성을 on, off하는 것은 큰 차이가 나타나지 않는 것으로 나타났습니다.

그림4. HA(고가용성) on, off에 따른 Throughput과 Latency

3) Failover

. 6대의 웹서버 운영
. 한대의 Velocity 호스트 turn-off
. 애플리케이션이 정상 상태로 돌아올 때까지 대기
. 두번째 Velocity 호스트 turn-off
. 애플리케이션이 정상 상태로 돌아올 때까지 대기

캐시의 장애는 3가지로 구분됨: 프로세스 kill, 서비스 stop, Velocity 관리도구를 이용하여 캐시 호스트 stop
1. At ~4:30 첫번째 호스트 turn off
2. At ~9:30 두번째 호스트 turn off

그림5. 프로세스를 kill 했을 때의 Throughput, Latency

오늘의 테스트를 통해 다음과 같은 결론에 도달할 수 있습니다.

. Velocity는 순차적인 확장성을 제공합니다.
. Velocity는 저렴한 서버에서도 잘 구동되고, 세션 상태에 대해 확장성과 고가용성을 제공합니다.
. 데이터베이스는 웹서버의 수가 증가하면, 병목현상으로 인해 성능이 저하되는 현상이 발생할 수 있습니다.
   - Velocity를 통해 CPU, 디스크, 네트웍 관련 병목 현상을 제거할 수 있습니다.
   - 다시 말하면, Velocity는 데이터베이스의 부하를 두드러지게 줄여줍니다.

이 글은 Grid Network의 Velocity Benchmark White Paper를 기준으로 작성했습니다.

Posted by 조이트리
아키텍트2009. 12. 7. 18:48

Windows Server AppFabric은 확장성, 가용성 및 고성능 애플리케이션을 개발하는데 필요한 분산 메모리 캐싱 플랫폼을 제공합니다. 오늘은 Velocity에 대해서 정리해보려고 합니다.

캐시를 통하면 애플리케이션이 불필요하게 데이터 소스 (Database 등)에 연결하여 데이터를 가져올 필요가 없기 때문에 급격하게 성능이 향상 됩니다. 분산 캐싱은 캐시 클러스터를 통해 수요가 증가하더라도 복잡한 로브밸런싱을 구성하지 않고도 안정적인 성능을 제공 받게 됩니다. 확장성은 서버를 추가하기만 하면 얻을 수 있게 되는 간단한 개념으로 바뀝니다. 고가용성은 해당 데이터를 Velocity가 복사할 수 있도록 설정하면, 해당 클러스터로 연결된 모든 서버간에 고가용성을 얻게 되는 거죠. Velocity는 원격 네트웍에 있는 서버 간에도 설정될 수 있습니다.

이전 글에서, 현재까지 구성되는 클라우드 컴퓨팅은 인프라 클라우드, 즉 서버 운영에 대한 부분에 집중되어 있다고 말씀 드렸습니다. 하지만, 애플리케이션에 대한 확장성, 분산 캐싱, Fail-over 등이 이루어져야 진정한 의미의 클라우드 컴퓨팅 플랫폼이라고 할 수 있습니다. 인프라 Fabric, 즉 인프라 클라우드는 마이크로소프트의 Dynamic Data Center toolkit으로 구성하고, 애플리케이션 Fabric은 Windows Server AppFabric으로 구성하면 진정한 의미의 분산 클라우드 운영체제를 구성할 수 있게 될 것 같습니다. 자, 그럼 AppFabric의 Velocity에 대해 좀 더 자세히 알아보도록 하겠습니다. Velocity는 현재는 CTP(Community Technology Preview) 버전이고, CTP4가 최신 입니다.

Velocity를 어떻게 활용할 것인지에 대한 일반적인 시나리오를 몇 개 설정해봤습니다.
(Grid Dynamics가 벤치마크를 실시했습니다.)

1. 블로그 엔진 애플리케이션, 분산 캐싱
2. 전자상거래 웹사이트, 세션 상태 제공자 (Session State Provider)

Velocity 시나리오 (1)

블로그 엔진은 데이터를 많이 사용하는 웹 애플리케이션의 좋은 예제라고 할 수 있습니다. 친구 리스트 및 feeds, 게시글에 대한 아이템을 가져오기 위해 복잡한 데이터베이스 쿼리를 사용하게 됩니다. 또한, 같은 정보가 사이트 내의 여러 페이지에 보여지는 경우가 많죠. 결국 같은 정보를 여러 번 반복해서 가져오게 되는 거죠. 분산 캐싱을 이용하면 성능 향상을 볼 수 있는 이유 입니다.

 
그림1. 블로그 엔진 애플리케이션 아키텍처

두 개의 버전으로 테스트가 이루어졌습니다. 첫 번째, 데이터베이스만 사용. 두 번째, 데이터베이스에서 조회된 내용을 캐시에 저장함.

1) Throughput


그림2. Throughtput (Without Velocity, With Velocity)

그림3. Latency (Without Velocity, With Velocity)

2) 확장성

그림4. Scalability (Without Velocity, With Velocity)

작은 데이터 셋 때 이 정도의 결과값이었고, 큰 데이터 셋을 대상으로 했을 때 더 좋은 결과가 나왔습니다.

3. 고가용성

그림5. HA(High Availability)를 켰을 때와 껐을 때의 결과 값

큰 차이가 나지 않는다. 다만, HA를 켜지 않은 상황에서 2배 정도의 메모리를 더 사용하는 것으로 나타남

4) Failover


 
 그림6. 애플리케이션의 throughput - Failover 테스트                   

At 05:00에 Node1 제거
At 10:00에 Node2 제거
At 20:00에 Node1 삽입
At 30:00에 Node2 삽입

오늘은 여기까지 정리하겠습니다. 내일은 2번째, Session State Provider에 대해 적어보겠습니다.

이 글은 Grid Network의 Velocity Benchmark White Paper를 기준으로 작성했습니다.

Posted by 조이트리
아키텍트2009. 12. 2. 16:31

아주 신선한 아이디어 아닌가요? 과연 이것이 가능할까요? 가능하다면 정말 유용할 것 같지 않으세요?

첫째, 그린 IT에 대해서는 많은 사람이 관심을 갖고 있기 때문에 마케팅 효과를 얻는데 활용되는 경우가 많습니다. 데이터센터의 열로 가정용 난방을 한다? 이건 대단한 마케팅 효과를 얻을 수 있을 것 같네요. 지금 저도 대신 글을 적어주고 있잖아요?

둘째, 비용을 절감할 수 있다면, 체감하기 어려운 숫자만이 아니라 누가 보더라도 공감할 수 있다면, 이것 또한 더 대단한 것입니다. 바로 이 프로젝트를 진행하는 Academica의 Pietari Paivanen은 계획에 의하면 1년에 $561,000 (한화 약 6.7억)의 난방비를 절감할 수 있다고 밝혔습니다. 아래 사진은 핀란드, 헬싱키의 우스펜스키 사원 입니다. 바로 그 데이터센터가 이 사원의 지하에 건설 중입니다.

일반적인 데이터센터의 경우 실제 컴퓨팅 자원이 사용하는 전력은 50%를 넘지 못하는 경우가 대부분 입니다. 나머지는 교류를 직류로 전환하거나 서버에서 발생하는 열을 식히는, 즉 쿨링에 나머지 50%의 전력을 사용하는 거죠.

데이터센터가 지하에 만들어졌다는 이야기는 사실 처음 들어 보는데, 그 데이터센터에서 발생하는 열을 파이프로 연결해, 그 열을 가정용 난방으로 활용한다? 정말 이노베이티브 한, 디자인 Thinking을 잘 적용한 사례라고 생각합니다.

 

핀란드의 수도, 헬싱키의 우즈펜스키 사원 전경
출처) Reuters

Posted by 조이트리
아키텍트2009. 11. 27. 17:30

마이크로소프트의 클라우드 컴퓨팅, Windows Azure Platform이 CTP 버전이 아닌 정식 버전이 되었음을, 즉 상용서비스로서의 준비가 끝났음을 공식 발표 했습니다. 2010년 1월까지는 빌링 시스템의 정확성을 점검하는 기간이고 2010년 2월부터 정식 과금이 이루어집니다.

Ray Ozzie (Chief Software Architect)의 메시지

마이크로소프트의 PC, 전화, TV 등의 모든 장치들이 클라우드를 기반으로 상호 연결되어 동일한 사용자 경험을 할 수 있다는, “three screens and a cloud” 비전이 발표되었습니다.

제가 늘 이야기 해왔던 하이브리드 환경, 즉 on-premise 환경과 cloud가 업무의 특성에 따라 절절히 혼재되어 애플리케이션이 개발될 것이라는 이야기가 나왔습니다.

주목할 만한 내용은 마이크로소프트 Pinpoint, Windows Azure Platform을 이용하여 개발된 애플리케이션을 판매할 수 있는 온라인 마켓플레이스가 발표되었습니다. 파트너들이 글로벌 SaaS 비즈니스를 할 수 있는 터전이 마련된 것이기 때문에 큰 의미가 있습니다.

또 한가지 주목할 만한 것은 Information service, “Dallas” 입니다. Dallas는 Windows Azure Platform 기반으로 만들어진 서비스인데, 이 서비스를 이용하면 개발자나 사용자가 다양한 플랫폼 위에 있는 참고자료, 컨텐츠 등을 쉽게 접근하여 용도에 맞게 가공할 수 있도록 해줍니다. 예를들면, 관련된 신문, NASA, National Geographic, UN, 기상청 등의 공공기관, 연구기관, 언론 등의 다양한 포맷의 데이터를 불러 올 수 있습니다. 방대한 데이터를 가지고 있는 기관들은 데이터를 판매해 매출을 발생할 수 있고, 정보 이용자는 정보 활용을 통한 부가가치를 얻을 수 있는 아주 기대 되는 서비스 입니다. 이후에 사용법에 대해 제가 써보고 올려보도록 하겠습니다.

Bob Muglia (Server and Tool business, President)의 메시지

클라우드 컴퓨팅의 등장으로 고객이 직접 구축하는 private cloud, IDC 및 호스팅 업체가 구축하는 hosted cloud, public cloud의 3가지 유형이 존재할 것이라고 밝혔습니다. 애플리케이션이 이렇게 클라우드로 옮겨 갈 것인데, 계속 반복하는 이야기지만 모든 애플리케이션이 다 옮겨 가지는 않고, on-premise와 cloud가 혼재할 것입니다. 결국 직접 구축, cloud가 함께 존재하므로 동일한 인증시스템을 on-premise, cloud가 함께 사용하기를 원하고, 통합된 서비스를 위해 Windows Server AppFabric Beta 1을 제공한다고 했습니다. cloud에서 운영하던 애플리케이션을 on-premise로 이전하는 것이 가능하고, on-premise에서 운영하던 애플리케이션을 cloud로 옮기는 것도 가능합니다. (물론, 이 경우에는 커스토마이징이 발생할 수 있습니다.)

이전 버전에서 .NET service라고 알려져 있던 부분인데요, AppFabric Service Bus와 AppFabric Access Control이 포함되어 있습니다. 정식 버전은 2010년에 가용할 것이라고 했습니다.

좀 더 자세한 내용은 아키텍처 저널 (www.architecturejournal.org/wiki)를 참조하시면 됩니다.

Posted by 조이트리
아키텍트2009. 11. 27. 16:53

마이크로소프트 플랫폼에 대해 알고 싶으세요? 영문자료가 아닌 한글화된 자료를 찾고 계십니까? Wikipedia에 가서 찾아봐도 영문자료만 가득하고, 정작 원하는 내용은 구하기 어려우셨죠?

마이크로소프트의 플랫폼 전략가, 아키텍트 들이 모여서 “아키텍처 저널”을 만들었습니다.

www.architecturejournal.org/wiki

위 링크를 클릭하시면 Windows Azure Platform에 관련된 자료를 보실 수 있습니다. Wiki 사이트라 조금씩 내용이 충실해지고 있습니다. 가끔 찾아와 주셔도 좋을 것 같습니다.

아, 저도 당연히 저자 중의 한 명 입니다.

Posted by 조이트리
아키텍트2009. 11. 24. 19:24

2009년 11월 17일, 마이크로소프트의 클라우드 컴퓨팅, Windows Azure Platform 정식 서비스가 개시 되었습니다.
PDC(Professional Developer COnference) 2009, 이튿날 키노트를 담당한 서버 최고 책임자, President Bob muglia의 인터뷰 기사를 전달해드리려고 합니다.  (Seattle Times)
제 개인적인 의견도 포함해서 정리해봤습니다.

시나리오는 다음과 같습니다.
한 남자가 구름 복장의 옷을 입고 있고, 이 사람은 여러 시스템간의 서로 다른 아이덴티티 이슈로 괴로워하고 있습니다. 그 사람에게 인생 상담을 해주는 형태로 클라우드 컴퓨팅 세션의 키노트가 시작됩니다.

Q: 클라우드 복장을 한 사람을 인생 상담하는 형태로 진행됐는데, 그렇게 한 이유가 무엇인가?

A: 클라우드는 많은 사람을 혼란스럽게 만들고 있고, 실제로 시장에 등장한지 벌써 꽤 오랜 시간이 지났음에도 많은 사람들이 다르게 정의를 내리고 있다. 나는 IT 산업의 진화를 계속 지켜보고 있고, 18개월 전에 내려졌던 정의를 돌이켜봤을 때 많은 사람들이 이해하기 어렵다는 것도 알고 있다.
(여전히 많은 사람들이 편하게 정의 내리고 있는 것이 사실 입니다)

Q: 누군가가 클라우드가 뭐예요? 라고 묻는다면 뭐라고 답하겠는가?

A: 모든 유형의 사용자, 모든 유형의 회사에게 제공할 수 있는 아주 광범위한 것이다. 소비자들이 온라인 서비스를 사용하는 유형을 보면 거의 다 클라우드 기반이다. 이메일, 트위터, 페이스북, 온라인 쇼핑 등
사람들이 애플리케이션을 개발하면 웹에 우선 올리고 있고, 개발자들이 원하는 것은 구동하는데 소요되는 비용을 줄이고 효과적으로 운영하는 것이다.

주말에 집에서 인터넷 뱅킹을 주로 사용한다. 하지만, 한 달에 한 번 또는 가끔 사이트를 개편하거나 업데이트 중이라 사용할 수 없다는 메시지를 받곤 한다. 하지만, 실제로는 일어나지 말아야 하는 일이다. 마이크로소프트의 검색엔진 Bing이나 구글이 다운되는 것을 바라지 않을 것이다.

또한, 믿을 수 없을 만큼 방대한 양의 컴퓨팅 파워를 쉽게 얻을 수 있게 된다. 유전자 분석 등의 방대한 컴퓨팅 요구사항, 시장 및 트렌드 분석 등에 대해서도 쉽게 시뮬레이션을 이용할 수 있다. 비용은 단기간, 장기간에 관계없이 사용한 시간에 비례해서 비용을 지불하면 되는 것이다.

Q: 마이크로소프트가 바라 보는 클라우드 컴퓨팅 시장의 크기는?

A: 클라우드 컴퓨팅은 소프트웨어가 향후 진화해 나갈 미래의 모습이다. PC에 설치하는 소프트웨어가 사라지거나 하지는 않을 것이고, 바로 그 소프트웨어가 클라우드 서비스와 연결되어 나가는 형태로 진화할 것이다.
바로 내년에 마이크로소프트의 매출의 절반이 클라우드 창출되거나 하지는 않겠지만, 앞으로 10년 후의 모습에서는 그 정도 까지 성장할 가능성이 있다고 생각한다.

Q: 마이크로소프트는 어느 정도의 투자를 했나?

A: 굉장히 많은 투자인데, 그 중 가장 큰 영역은 데이터센터가 될 것이다. 마이크로소프트는 전 세계의 여러 곳에 대규모 데이터센터를 구축했고, 현재도 진행하고 있다. 북미의 시카고, 샌앤토니오, 퀸시 센터, 유럽의 더블린, 암스테르담, 아시아의 홍콩과 싱가폴이 대표적이고, 그 이외에도 여러개의 데이터센터가 Windows Azure 서비스를 담당할 것이다. 서버 제조업체로부터 가장 많은 서버를 구매하는 회사가 마이크로소프트였다, 짐작이 되는가?

Q: 다른 공유할 내용은?

A: 가장 중요한 메시지는 마이크로소프트가 전체 산업계가 앞으로 나아갈 수 있도록 하기 위해 엄청난 이노베이션을 하고 있다는 것이다. 현재 하고 있는 일을 계속 추진할 것이고, 파트너와 함께 해나갈 것이다. 우리는 새로운 세계를 만들어가고 있다. 이러한 노력으로 인해 소프트웨어가 전달되는 방식이 변화해 갈 것인데, 고객이 클라우드로 이전하는 것을 마이크로소프트가 함께 할 것이다. 다시 강조하지만, 소프트웨어와 서비스는 함께 연동되어 발전해 나갈 것이고, 우리는 이것을 소프트웨어 플러스 서비스라고 부른다.

Posted by 조이트리
아키텍트2009. 11. 20. 15:28

마이크로소프트 빌 게이츠 회장님의 Chief Software Architect로 바통을 이어 받은 분, 바로 Ray Ozzie 입니다. 소프트웨어 중심의 회사였던 마이크로소프트를 서비스와 접목한, 소프트웨어 플러스 서비스 전략을 만들어 내신 분이죠. 인터넷 기반의 세상에서 소프트웨어만으로는 충분하지 않다는 거죠. 한 개인이 사용하는 디바이스가 노트북, 데스크탑 등의 PC, 그 내부에서 사용하는 애플리케이션도 웹, 핸드폰 등 최소 3가지 방식으로 사용하고 있는 시대 입니다. 웹, 데스크탑, 핸드폰 간의 데이터를 공유하기 위해서도 번거로운 작업이 필요하게 됩니다. 하지만, 웹을 중심으로 클라우드에 데이터를 저장하면 다른 장치와는 동기화를 통해 번거롭지 않게 그 데이터를 보고, 편집할 수 있다면 정말 유용하겠죠. 이런 것처럼 모든 디바이스는 연결되어야 합니다.

조금 구체적으로 사용자는 각 디바이스를 이용하여 하나의 서비스에 대해 동일한 사용자 경험을 얻고자 하고, 개발자나 IT 관리자는 하나의 애플리케이션을 개발하고 운영하면 모든 디바이스에서 똑같이 사용될 수 있게 되기를 바라는 거죠. 말이 조금 어려워지나요?

마이크로소프트의 거대한 프로젝트, 클라우드 컴퓨팅 플랫폼이 드디어 정식 서비스가 개시되었습니다. 2009년 11월 17일, PDC(Professional Developer Conference)에서 Ray Ozzie가 공식 선언을 한 것이죠. 덧붙여 Office 2010 베타 버전도 함께 발표하였습니다. 클라우드 컴퓨팅 플랫폼인 Windows Azure는 작년 PDC에서 CTP(Community Technology Preview) 버전이 발표되었는데요, 클라우드 상의 운영체제라고 제가 여러 번 설명 드렸던 것 같습니다.

개발자가 만든 프로그램은 마이크로소프트의 거대한 데이터센터에서 구동됩니다. CTP 이후로 마이크로소프트와 많은 고객들이 함께 테스트를 진행했고, 지금은 실제 서비스를 진행하고 있는 고객도 상당히 많이 있습니다.
코카콜라, Glaxo Smith Kline, 국내의 모기업 등이 이미 진행하고 일부는 서비스를 하고 있죠.

2009년 11월 17일, 정식 launch가 발표됐고 내년 1월에 Production 단계로 넘어갑니다. 2월 1일부터 정식으로 빌링이 시작되는 거죠. 그 말은 내년 1월 말까지는 무료로 사용하실 수 있다는 거죠.

Azure 운영체제가 구동되는 데이터센터는 북미, 유럽, 아시아를 모두 포괄하고 있습니다. 북미지역에서는 Quincy, San Antonio, 유럽지역은 Ireland Dublin, 네덜란드 암스테르담, 아시아에서는 싱가폴과 홍콩에 데이터센터가 위치하고 있습니다. 즉, 글로벌 서비스가 가능해지는 건데요, 기존 패키지 소프트웨어 업체나 글로벌 거점을 갖고 있는 국내 글로벌 업체들의 경우는 굉장히 유용한 활용이 가능해집니다. 특히 패키지 업체의 경우 기존 소프트웨어를 Windows Azure에 올리는 것이 생각보다 어렵지 않다는 것이 기존 업체들의 이관을 통해 밝혀 졌는데요, 80%의 코드가 컴파일이 되고, 나머지 20%에 해당하는 부분을 Windows Azure에 맞도록 바꾸면 글로벌 SaaS 서비스가 탄생하게 되는 것이죠. 신규로 개발한다면 기존에 패키지를 개발하는 언어를 가지고 그대로 할 수 있기 때문에, 또한 생산성 측면에서 큰 장점을 얻게 되는 거구요. 다양한 사례는 아래 링크를 방문하시면 보실 수 있습니다.
http://www.microsoft.com/windowsazure/evidence/

이후에 PDC에 대한 이야기를 좀 이어서 해보도록 하겠습니다.

Posted by 조이트리
아키텍트2009. 10. 27. 19:50

앞의 글에서 2010년, 가장 주목 받는 기술로 가상화가 선정되었다고 말씀 드렸습니다. 가상화, 아주 유용한 기술임에 틀림 없습니다.

가상화 시장의 승자는 누가 될까요? VMWare, Microsoft? 아니면 Xen?
어떻게 생각하세요? 보는 시각에 따라, 설명하는 사람에 따라 전혀 다르게 이야기할 것 같습니다.
지금까지의 우위는 VMWare가 가져가고 있었습니다. 하지만, 앞으로는 다르게 전개될 것 같다는 것은 확실히 말씀드릴 수 있을 것 같네요.

VMWare vs Microsoft, Windows Server 2008에서는 VMotion, 즉 A 호스트에서 구동되던 가상머신을 B 호스트로 이전할 때 세션의 끊김 없이, 즉 사용자의 작업이 중단되는 일 없이 이전되는 기능이 VMWare에는 있었고 Microsoft의 Hyper-V에서는 없었죠. 사실 실제 정상적인 운영 시나리오에서 많이 사용하지 않는 기능임에도 불구하고 큰 결함처럼 여겨졌던 것이 사실 입니다.하지만, 이 차이가 Hyper-V 2.0에서는 사라졌습니다. Microsoft의 Live Migration 기능을 통해 가능해진 것이죠.

그런데 실제로 중요한 것은 이런 부가적인 기능, 즉 나무를 보는 것이 아니라 숲을 보아야 한다는 것입니다.
모든 워크로드가 가상화 된다? 많은 엔터프라이즈 고객들은 트랜잭션이 많이 발생하는 데이터베이스, 입출력 작업이 많은 경우는 가상 서버로 운영하지 않습니다. 물리적인 서버를 그대로 유지하고자 하죠. 가상머신으로 운영하고자 하는 업무들은 분명히 늘어나는 추세지만, 이 비율이 50%를 넘어가지 않을 것이라고 마이크로소프트는 생각합니다. 결국, 물리적인 서버와 가상 머신이 공존하는 환경으로 구성됩니다. 여기에 마이크로소프트의 관리 제품 군에서는 물리적 서버와 가상 머신 모두에 대해 모니터링, 관리, 설정 및 백업, 복구가 가능하지만, VMWare는 가상머신에 대해서만 관리가 가능하다는 차이가 있습니다.

또한, Windows Server 2008 R2, Hyper-V 2.0, System Center 제품군을 활용한 인프라 클라우드 구축을 통해 보다 더 진일보한 IT 시스템, 비즈니스 Enabler로서의 역할을 담당하는 핵심을 바로 마이크로소프트 가상화가 자리잡고 있습니다.

Posted by 조이트리