마이크로소프트의 Public cloud 솔루션인 Windows Azure platform은 현재 전세계 41개국에 출시되었지만 한국에는 아직 정식 출시되지는 않았다. 하지만, Public cloud 솔루션을 고민하는 많은 국내 기업에서 Windows Azure platform에 대한 관심이 그 어느 때보다 높고 실제 POC가 활발히 진행 중이다.
기업이 클라우드의 도입을 검토하게 되면, 먼저 기업내 수많은 시스템 가운데 클라우드로의 이행이 용이한 것과 어려운 것을 찾아내고 가급적 쉽게 이행 가능한 부분에 적용을 결정하게 된다. 이행이 결정된 시스템은 POC를 수행하기 위해 적절한 범위를 선정하고 적용 가능한 클라우드 솔루션 및 서비스를 검토한다. 검토를 통해 선정된 클라우드 솔루션은 POC 과정을 통해 기업이 갖춘 인프라와 기업이 가져다 쓰는 3rd party 솔루션, 가용한 인적 자원 등의 제약 사항 등의 영향을 감안하면서 진행하고 향후 적용 및 확산에 대한 실마리를 찾아낸다. POC라는 과정은 일반적으로 전체 시스템을 관통하는 아키텍처 관점에서 대단한 중요한 시니리오를 선정하여 진행하는 것이 바람직하며 여기에는 비기능적인 요구 사항도 포함된다. 성공적인 POC 이후에는 상부의 sponsorship을 얻기 위한 보고서 작성이 수반되고 여기에는 클라우드 도입의 가장 큰 이유 가운데 하나인 비용 절감 효과를 기술하게 된다.
하지만, 클라우드 기반의 시스템이 취하는 과금 방식이 예전 시스템 운영 방식과는 너무 다르고, 과금되는 요소들이 세분화되다 보니 고객이 예상되는 비용을 산정하는 것이 쉽지만은 않다. 하여, 많은 클라우드 사업자들이 예상 비용 산출 툴을 제공하거나 이를 전문적으로 제공하는 서비스가 출현하기에 이르렀다. 마이크로소프트의 Windows Azure platform의 공식 싸이트에서도 예상 비용 산정 툴이 제공되지만, POC를 진행하는 고객들은 여전히 어려움을 겪고 있어서 이에 대한 정리를 해 보기로 한다.
일반적인 웹 기반 애플리케이션을 Windows Azure platform에서 구현하고자 할 때 어떤 요소들이 사용되고 어떻게 과금되는 지를 알아보기 위해 가장 일반적인 애플리케이션 형태를 상정해보자. 즉, 사용자와의 인터페이스를 담당하는 웹 애플리케이션이 존재하고, 배치 작업 등을 위한 별도의 백엔드 애플리케이션이 돌고 있고, 이 둘 사이에 필요에 따라서 메시지 기반의 비동기 전송 방식(큐)을 통해 통신을 하고, 처리 결과 등은 RDB에 저장되며, 로깅이나 정적 데이터를 저장하는 용도의 blob 저장소가 존재하며, 정적 데이터의 빠른 전송을 위해 CDN 서비스를 사용하고 있다고 상정해보자. 이를 Windows Azure Platform에 올리게 되면 아래 그림과 같은 Azure의 서비스를 사용하게 된다. 이때 청구되는 비용을 따져보자.
청구되는 항목은 위 그림 순서대로 살펴보면
1. 데이터센터를 들고 나는 데이터 양에 대해, 1GB 당 센터로 유입되는 경우 0.10$, 센터에서 나가는 데이터에 대해 1GB당 0.15$ (아시아의 경우 0.20$)가 과금된다.
2. Windows Azure Compute : 위 그림에서 웹 애플리케이션을 위한 Web Role 2개, 배치 작업을 구현한 Worker Role 2개를 사용한다. 따라서 비용은 Small Instance 기준으로 한다면, 0.12$ (시간당 단가) x 24 (시간) x 30 (일) x 4 (개) 만큼 과금된다.
3. Windows Azure Storage : 위 그림에서 Windows Azure Storage Queue와 Windows Azure Storage Blob을 사용하고 있는데, Windows Azure Storage는 두 가지 관점에서 과금된다. 첫째 과금 기준은 사용하는 데이터 양인데, 한달 기준으로 과금되며 한달 평균 사용량에 대해 과금한다. 한달 평균 사용량 측정은 매시간 가장 많이 측정된 수치를 기록하였다가 이를 더하여 한달 평균 시간 (730시간)으로 나누어 1GB 당 0.15$가 과금된다.
4. Windows Azure Storage의 두번째 과금 기준은 Windows Azure Storage에 대한 트랜잭션 양이다. 즉, Storage에 대해 읽고 쓰고 하는 모든 활동에 대해 10,000건당 0.01$가 추가 과금된다.
5. SQL Azure : SQL Azure는 비교적 명쾌하게 비용을 예상할 수 있다. 두 개 에디션 총 7개 종류에 대해 한달 사용료가 정해져있다. 가장 작은 Web Edition의 1GB 짜리 한달 사용료가 9.99$이며, 가장 큰 Business Edition의 50GB 짜리 한달 사용료가 499.95$이다.
6. CDN Transaction : CDN의 경우에도 Windows Azure Storage에서와 마찬가지로 CDN이 처리하는 모든 요청에 대해 10,000건당 0.01$가 과금된다.
7. CDN Data Transfer : CDN 서비스를 통해 전달되는 데이터 양에 대해 1GB당 미국과 유럽은 0.15$, 아시아는 0.20$가 과금된다.
물론, 위에서 언급되지 않은 Windows Azure AppFabric의 서비스를 사용하게 되면 해당 서비스 별로 추가 과금된다.

