“Windows Azure는 세계 최초의 범용 클라우드 플랫폼”, 마이크로소프트의 Server and Tools 비즈니스 President인 Bog Muglia의 말입니다. 범용 이라는 말이 눈에 들어 옵니다.
Windows Azure는 IaaS(Infra as a Service), PaaS(Platform as a Service)를 포괄하는 클라우드 운영체제 입니다.
Google의 AppEngine은 PaaS 영역에 해당하지만, Python과 Java 2가지 언어만을 지원합니다. 구글 AppEngine에서 가이드하는 방식에 맞도록 개발을 해야 합니다. Amazon은 IaaS 영역에 해당하는 서비스이고, 개발을 위한 도구를 지원하지는 않습니다. 애플리케이션을 어떻게 개발해야 할지에 대한 가이드, 도구는 제공하지 않는다는 의미입니다. 순수하게 가상화된 서버를 제공하고, 애플리케이션 개발은 개발자가 알아서 하는 방식 입니다.
이에 반해 Windows Azure Platform은 개발자가 원하는 어떤 언어, 프레임웍으로도 개발 가능합니다. 오픈소스 소프트웨어, 즉 MySQL, Apache도 사용할 수 있습니다. 상호운용성을 염두에 둔 플랫폼이라는 의미입니다. 쉽게 이야기하면 Windows Server를 이용해 Java, PHP, .NET, Python, Ruby 등의 언어 및 프레임웍을 사용할 수 있는 것과 같은 개념인거죠. 조금 더 확장하면 네이티브 언어, 즉 C나 C++같은 언어도 지원 가능합니다. 완전 범용이라는 의미입니다.
”개발자를 위한 플랫폼” 철학으로 만들어졌습니다. Visual Studio를 이용하거나, Eclipse를 이용하거나 상관 없습니다. 모든 유형의 개발자를 수용 가능한 플랫폼 입니다.
또 하나의 특징은 SDK(Software Development Toolkit)을 제공한다는 것 입니다. 클라우드에 배포하기 전에 PC에서 해당 애플리케이션을 클라우드 환경에서 구동되는 것처럼 에뮬레이션하여 테스트가 가능합니다. 클라우드 환경에서 디버깅을 하는 것은 그렇게 편안한 작업은 아닐 것이므로, 로컬 PC에서 테스트를 한 후에 자신이 있을 때 클라우드로 옮기는 것이 가능해지는 거죠.