우리가 사용하는 클라우드 서비스들의 백엔드에서 움직이는 시스템의 구성과 그 시스템들이 움직이는 원리를 이해할 수 있는 좋은 기회였다. 내용을 간략히 정리한다.

 

마이크로소프트 클라우드 제품군은 개념적으로 Infra@cloud, Data@could, Application@cloud로 구분한다. 기조연설이 끝나고 나서, 각 제품군별로 3개의 트랙으로 나누어 세션들이 진행되었으며, 난 Infra@cloud에 참석했다. 대부분의 청중들은 각 기업의 IT관리자였다.

 

지식노동자들은 어떻게 일하는가?

지식노동자들의 일의 본질은 무엇인가를 선택하는 것이다. 올바른 선택을 위해 데이터가 필요하고, 데이터는 데이터소스로 부터 받을 수 있다. 이 그림을 보면 실제 업무 환경에서 클라우드의 역할과 필요성을 이해할 수 있다.

지식노동자들
선택
(기계적으로 Ctrl+c, Ctrl+v하지 않고 생각하며 코딩한다면, 코딩도 선택에 속함)
↑↑↑
 데이터소스
 사내의 정보 외부 정보 (경쟁자 정보 등) 동료, 외부 지인
 사내 데이터 센터 뉴스, 웹 

‘클라우드’란 무엇인가?

마이크로소프트(솔루션 공급자)는 클라우드를 “필요에 의해 유연하게 확장될 수도 축소될 수도 있는 컴퓨팅 리소스들—하드웨어, 소프트웨어, 데이터베이스, 네크워크—의 풀’로 정의한다. 과거에는 기업들이 데이터센터를 보유했었다(비용↑, 통제가능성↑). 그 이후엔 소유는 하되, 외부 전문 관리 업체에 맡겼었다(비용↓, 통제가능성↓). 반면 클라우드는 컴퓨팅 자원 및 데이터센터를 소유하지 않고, 빌려 쓰는 개념이다 (비용↓, 통제가능성↑).

* 괄호 안의 화살표는 개별 기업의 입장

 

클라우드란 갑자기 생긴 기술이 아니다. SaaS, IT Governance… 등 많은 기술이나 개념들이 존재해 왔었고, 그 기술들을 융복합해서 클라우드라고 부르기로 한 것이다. 따라서, 클라우드라는 용어는 일시적인 유행일 수 있으나, 클라우드를 위한 인프라와 그 위에서 동작하는 서비스가 갑자기 사라지지는 않을 것이다.


분명, 솔루션 공급사, IT관리자가 생각하는 클라우드, 일반 사용자가 생각하는 클라우드의 정의는 분명이 다르다.

 

‘클라우드’의 구분

Public Cloud

Public Cloud는 Google, Amazon EC2 등에서 컴퓨팅 리소스를 완전 빌려서 사용하는 클라우드 서비스를 의미한다. 이들은 서비스를 제공하기 위해 필경 백엔드 하드웨어와 소프트웨어 솔루션을 사용하고 있을 것이다. 이런 솔루션 중 마이크로소프트에서 제공하는 것이 Azure (한국어로 하늘색 이란 뜻) 솔루션이다.


 App Fabric (Windows Azure Platform)
 SQL Azure
 Windows Azure
그림. Microsoft Product for Public Cloud
Private Cloud

Privete Cloud는 클라우드 서비스 제공자로 부터 완전 빌려서 사용하는 것이 아니라, 스스로 기업의 데이터센터 내에 보유(within self-managed datacenter)하면서 사용자를 대상으로 클라우드 서비스를 제공하는 개념이다. 가령, 5,000개의 소프트웨어 제품 라인업이 있는 기업에서 고객을 대상으로 패치를 발행한다고 생각해 보라. 이 경우, 적절한 보안 수준을 유지하면서 비용을 최소화 할 수 있는 방법은 컴퓨팅 필요량에 따라 리소스가 유동적으로 가동/중단되는 시스템일 것이다. 이때 Private Cloud의 위력이 발휘된다. 마이크로소프트가 제공하는 솔루션은 다음과 같다.


 Windows Power Shell
 Dynamic Datacenter Toolkit
 Windows Server App Fabric
 System Center
 Windows Server 2008 R2 with Hyper-V
그림. Microsoft Product for Private Cloud

클라우드(클라우드 솔루션)가 왜 필요한가?

for SCALE

클라우드는 컴퓨팅 리소스의 유연한 확장과 축소를 위해 필요하다. 미리 정의된 이벤트—Traffic의 급속한 증가—가 발생하면 Windows Workflow Foundation이 동작해서, 1분 이내에 1대의 서버를 11대의 서버로 확장했다가, 다시 Traffic이 줄어 들면 다시 Workflow에 의해서 1대로 줄어드는 데모는 상당히 인상적이었다. (이 같이 요구사항에 맞는 컴퓨팅 자원이 할당되고 회수되는 것을 Provisioning이라고 한다.)

즉, 필요한 서비스 수준에 따라 컴퓨팅 리소스를 유연하게 사용함으로써, 서비스 비용 및 운영 비용을 최적화 할 수 있음을 의미한다.

 

Browser
Web role
Business Logic role
Azure Storage

그림. 일반적인 시스템 구성

 

for Multi-tenancy

다양한 서비스를 유연하게 사용하기 위해서 클라우드가 필요하다. 가령, 어떤 사용자는 Windows가 필요한 반면, 다른 사용자는 Linux나 CentOS가 필요할 수도 있다. ASP.net이 아니라, php나 Java가 필요할 수도 있다.

 

for Compute
      worker
Client Master (task scheduler) worker
      worker

그림. 컴퓨팅 작업의 할당

 

for Storage

Blobs, Tables, Relational Data들을 효율적으로 저장하기 위해서 필요하다.

 

for Communiation

이건 위의 모든 내용을 종합한 것이 아닐까 싶다. 컴퓨팅 리소스를 사용해야 하는 지식노동자들의 가장 큰 업무가 의사소통이니까… 그게 이메일이든, 메신저든, 그 온라인 소통 매체이든…

 

기업내 사용자들의 ‘클라우드’ 사용 시나리오

사용자는 ‘위키서비스를 하려고 하는데 CPU2개, RAM2GB, Linux, Apache, php, PostuerSQL이 필요하다’와 같이 요구하기 보다는 최대 동시사용자수 300명, 서버응답속도 2초 와 같이 요구한다. (이를 SLA, Service Level Agreement라 한다)

 

클라우드와 엮여서 동작하는 Application@cloud 데모로2010년 5월에 발표예정인 Excel 2010용 PowerPivot Add-in 데모는 정말 훌륭했다. 실시간 데모에서 워싱턴에 위치한 SQL이나 DataFeed등으로 부터 1억 줄의 레코드를 가져와 엑셀에 표시하는데 10초, 1억 줄을 정렬하는데 1초도 안 걸렸다. 속도도 속도지만, 클라우드가 뭔지도 모르는, 하지만 비즈니스 데이터를 분석해야 하는 사용자가 익숙한 엑셀 인터페이스로 쉽게  사용할 수 있는 기능들을 제공하고 있었다. PowerPivot기능은 SharePoint2010에도 통합되어 있다.

 

보고 와서…

2008인가 처음 Azure에 대한 내용을 듣고 보았다. 그때 난 사용자 입장에서 클라우드가 뭔지도 잘 몰랐다. 이번 컨퍼런스를 통해 Azure가 클라우드를 구현하는 백엔드 솔루션(플랫폼)으로 많이 발전된 모습을 보고 왔다. (마이크로소프트는 소프트웨어 개발은 정말 잘 한다. 시장이나 고객에 대한 고민도 많이 한다.) 지금 난 구글을 사용하고, 윈도우라이브를 사용하고… 사용자가 클라우드라는 용어 조차 모른다 해도, 우리에게 익숙한 서비스들은 이미 클라우드이다. 즉, 솔루션 제공자들의 솔루션 성숙도도 높아졌고, 사용자의 서비스에 대한 기대수준도 상당히 높아졌다고 볼 수 있다.

 

IT관리자라면, 마이크로 소프트에서 제공하는 Opalis란 관리용 도구를 주목할 필요가 있겠다. 서버들의 물리적인 구조를 개념적인 그림으로 표시해 주고, 프론트엔드에 장애가 발생하면, 백엔드 어떤 노드에서 문제점이 발생했는 지를 직관적으로 보여 주고, 드릴다운을 통해 문제의 원인을 쉽게 파악 할 수 있도록 해 준다. 솔루션의 편리함 뿐만 아니라, 마케팅매니저와 더 마케팅스러운 개발자가 유기적으로 진행하는 마이크로소프트의 컨퍼런스 진행과 데모 수준에도 또 한번 깜짝 놀라고 왔다.

 

발료자료와 웹캐스트가 공개되면 다시 업데이트하자.

 
http://systemscoaching.kr/trackback/137 관련글 쓰기
소중한 의견 남겨 주세요!