클라우드 서비스 하면 흔히 쉽게 확장할 수 있다는 이야기를 하곤 합니다. 윈도우 애저와 같은 클라우드 플랫폼 역시 이런 확장성 부분을 굉장히 중요한 기능으로 생각하고 있으며, 여기에서는 어떤 기능으로 인해 이와 같은 서비스 확장이 가능한지에 대해서 알아보려고 합니다.

먼저 윈도우 애저가 기존 애플리케이션의 동작 방식과 다른 부분은 서비스 자체에서는 데이터를 저장하지 않도록 하는 부분이 있습니다. 다시 말해서, 앞 단에서 서비스를 처리하는 것과 뒷 단에서 데이터를 저장하는 것을 명확하게 분리함 으로서 확장의 주체를 구분하게 됩니다.

이를 통해서 특정 애플리케이션이 부하가 집중될 때 이 부하의 원인이 사용자가 몰려서 앞 단에 생기는 것이라면, 앞 단의 웹 서버 부분만을 확장하는 방법을 사용해야 할 것이고, 뒷 단의 데이터 입출력 부분이 원인이라면, 그 부분만을 확장할 수 있습니다.

윈도우 애저의 서비스는 이 같은 부하의 정도를 알 수 있도록 외부에 성능 카운터와 같은 정보를 볼 수 있는 API들을 노출하고 있습니다. 따라서 관리자 입장에서는 이 같은 API를 통해서 모니터링을 하면서, 혹은 자동으로 규칙을 만들어서 서비스를 늘리거나 줄일 수 있게 됩니다. SCOM(System Center Operation Manger)를 이용하면 보다 쉽게 이 같은 모니터링을 할 수 있습니다.

imageSCOM Azure MP in action
(윈도우 애저 상태 모니터링 대시보드 샘플과 시스템 센터 오퍼레이션 매너지로 윈도우 애저 인스턴스 모니터링 하는 모습)

뒷 단의 저장소의 경우 윈도우 애저 저장소는 기본적으로 최대 허용량 까지 자동 확장 되는 구조로 이루어져 있습니다. 만약 의도치 않은 데이터 트래픽이 일어날 경우를 대비해서, 이를 모니터링하는 API 역시 존재 합니다.

위에서 언급한 서비스와 저장소 각각의 서비스 확장을 통해서, 많은 경우 서비스가 폭주 시에도 정상적으로 운영되도록 구성할 수 있으며, 필요없는 인프라 비용을 줄이고 사용자들에게 안정적인 서비스 경험을 줄 수 있습니다.

<참고 자료>

윈도우 애저 컴퓨팅 인스턴스
http://www.microsoft.com/windowsazure/features/compute/

윈도우 애저 저장소
http://www.microsoft.com/windowsazure/features/storage/

윈도우 애저 동적 확장 샘플(현재 업데이트가 되지 않음)
http://archive.msdn.microsoft.com/azurescale

시스템센터 윈도우 애저 애플리케이션용 모니터링 팩
http://www.microsoft.com/download/en/details.aspx?id=11324

윈도우 애저 플랫폼 파워셀 Cmdlets
http://wappowershell.codeplex.com/