마이크로소프트 @cloud conference share
우리가 사용하는 클라우드 서비스들의 백엔드에서 움직이는 시스템의 구성과 그 시스템들이 움직이는 원리를 이해할 수 있는 좋은 기회였다.
마이크로소프트 클라우드 제품군은 개념적으로
- Infra@cloud
- Data@could
- Application@cloud
로 구분한다. 기조연설이 끝나고 나서, 각 제품군별로 3개의 트랙으로 나누어 세션들이 진행되었으며, 난 Infra@cloud 에 참석했다. 대부분의 청중들은 각 기업의 IT 관리자였다.
지식노동자들은 어떻게 일하는가?
지식노동자들의 일의 본질은 무엇인가를 선택하는 것이다. 올바른 선택을 위해 데이터가 필요하고, 데이터는 데이터소스로 부터 받을 수 있다. 방대한 데이터에서 유용한 데이터를 선택하고 해석하고 사용하는 일일 것이다.
‘클라우드’ 란 무엇인가?
마이크로소프트는 클라우드를
필요에 의해 유연하게 확장될 수도 축소될 수도 있는 컴퓨팅 리소스들—하드웨어, 소프트웨어, 데이터베이스, 네크워크—의 풀
로 정의한다.
과거에는 기업들이 데이터센터를 보유했었다 (비용↑, 통제가능성↑). 그 이후엔 소유는 하되, 외부 전문 관리 업체에 맡겼었다 (비용↓, 통제가능성↓). 반면 클라우드는 컴퓨팅 자원 및 데이터센터를 소유하지 않고, 빌려 쓰는 개념이다 (비용↓, 통제가능성↑).
클라우드란 갑자기 생긴 기술이 아니다. 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
Private 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
클라우드가 왜 필요한가?
1. for SCALE
클라우드는 컴퓨팅 리소스의 유연한 확장과 축소를 위해 필요하다. 미리 정의된 이벤트—Traffic의 급속한 증가—가 발생하면 Windows Workflow Foundation 이 동작해서, 1 분 이내에 1 대의 서버를 11 대의 서버로 확장했다가, 다시 Traffic 이 줄어 들면 다시 Workflow 에 의해서 1 대로 줄어드는 데모는 상당히 인상적이었다.
즉, 필요한 서비스 수준에 따라 컴퓨팅 리소스를 유연하게 사용함으로써, 서비스 비용 및 운영 비용을 최적화 할 수 있음을 의미한다.
2. for Multi-Tenancy
다양한 서비스를 유연하게 사용하기 위해서 클라우드가 필요하다. 가령, 어떤 사용자는 Windows 가 필요한 반면, 다른 사용자는 Linux 나 CentOS 가 필요할 수도 있다. ASP.net 이 아니라, PHP 나 Java 가 필요할 수도 있다.
3. for Compute
클라이언트의 요청에 대해 Master 서버가 여러 Worker 컴퓨터에게 작업을 할당하기 위해 필요할 수 있다.
4. for Storage
Blobs, Tables, Relational Data 들을 효율적으로 저장하기 위해서 필요하다.
5. for Communiation
이건 위의 모든 내용을 종합한 것이 아닐까 싶다. 컴퓨팅 리소스를 사용해야 하는 지식노동자들의 가장 큰 업무가 의사소통이니까… 그게 이메일이든, 메신저든, 그 온라인 소통 매체이든…
기업내 사용자들의 ‘클라우드’ 사용 시나리오
사용자는 ‘위키서비스를 하려고 하는데 CPU 2 개, RAM 2GB, Linux, Apache, PHP, PostgreSQL 이 필요하다’ 와 같이 요구하기 보다는 최대 동시 사용자수 300 명, 서버응답속도 2 초 와 같이 요구한다. (이를 SLA, Service Level Agreement 라 한다)
클라우드와 엮여서 동작하는 Application@cloud 데모로 2010 년 5 월에 발표예정인 Excel 2010 용 PowerPivot Add-in 데모는 정말 훌륭했다. 실시간 데모에서 워싱턴에 위치한 SQL 이나 DataFeed 등으로 부터 1 억 줄의 레코드를 가져와 엑셀에 표시하는데 10 초, 1 억 줄을 정렬하는데 1 초도 안 걸렸다. 속도도 속도지만, 클라우드가 뭔지도 모르는, 하지만 비즈니스 데이터를 분석해야 하는 사용자가 익숙한 엑셀 인터페이스로 쉽게 사용할 수 있는 기능들을 제공하고 있었다. PowerPivot 기능은 SharePoint 2010 에도 통합되어 있다.
보고 와서 …
2008 년 인가 처음 Azure 에 대한 내용을 듣고 보았다. 그때 난 사용자 입장에서 클라우드가 뭔지도 잘 몰랐다. 이번 컨퍼런스를 통해 Azure 가 클라우드를 구현하는 백엔드 솔루션 (플랫폼) 으로 많이 발전된 모습을 보고 왔다. (마이크로소프트는 소프트웨어 개발은 정말 잘 한다. 시장이나 고객에 대한 고민도 많이 한다.) 지금 난 구글을 사용하고, 윈도우라이브를 사용하고, … 사용자가 클라우드라는 용어 조차 모른다 해도, 우리에게 익숙한 서비스들은 이미 클라우드이다. 즉, 솔루션 제공자들의 솔루션 성숙도도 높아졌고, 사용자의 서비스에 대한 기대수준도 상당히 높아졌다고 볼 수 있다.
IT 관리자라면, 마이크로소프트에서 제공하는 Opalis 란 관리용 도구를 주목할 필요가 있겠다. 서버들의 물리적인 구조를 개념적인 그림으로 표시해 주고, 프론트엔드에 장애가 발생하면, 백엔드 어떤 노드에서 문제점이 발생했는 지를 직관적으로 보여 주고, 드릴다운을 통해 문제의 원인을 쉽게 파악 할 수 있도록 해 준다. 솔루션의 편리함 뿐만 아니라, 마케팅매니저와 더 마케팅스러운 개발자가 유기적으로 진행하는 마이크로소프트의 컨퍼런스 진행과 데모 수준에도 또 한번 깜짝 놀랐다.