This blog posting—that continues the Cloud Platforms series—will be dedicated to evaluation of Microsoft’s Windows Azure cloud operating system.
Windows Azure Services Platform is a Windows-resembling cloud computing architecture. Architecturally, it is a Platform as a Service (PaaS), which means the delivery of a computing platform and solution stack as a service, not an Infrastructure as a Service (IaaS). Microsoft’s Windows Azure cloud operating system can be deployed as a run-time for applications and includes three main components: Compute (computation environment), Storage (scalable storage), and Fabric (hosting environment). Azure also offers five services: Live Services, SQL Azure (formerly SQL Services), AppFabric (formerly .NET Services), SharePoint Services, and Dynamics CRM Services, which the developers can use to build the applications that will run in the cloud.
Windows Azure Pros
- Windows Azure provides advantages for .NET developers and other customers, as it offers some of the existing Microsoft technologies already embedded in Azure: virtual servers, the .NET Framework, Internet Information Server (IIS), MS Visual Studio, databases, queues, enterprise service bus, workflows, authentication, etc.
- Among Azure’s computation features, there is an ability to run Microsoft ASP.NET Web applications or .NET code in the cloud.
- The service hosting environment includes Internet Information Services 7.0 and Microsoft .NET Framework 3.5 SP1, Microsoft .NET Framework 4.0, and FastCGI support that allows customers to deploy and run Web applications written with non-Microsoft programming languages, such as PHP.
- .NET Full Trust allows for usage of additional .NET features, such as Windows Communication Foundation (WCF), and from Full Trust .NET, developers can call into unmanaged DLLs.
- Azure’s simple data storage enable blobs, tables, and queues to be hosted in the cloud close to the computation.
- From the development point of view, Windows Azure offers command-line SDK tools and samples, complete offline development environment (including computation and storage services), and visual Studio add-in that enables local debugging.
- Windows Azure Tools for Microsoft Visual Studio (extending Visual Studio 2008 and Visual Studio 2010 Beta 1) enable creating, building, debugging, running, and packaging scalable Web applications and services on Windows Azure.
- Windows Azure supports open standards, such as REST/SOAP and XML.
Windows Azure Cons
Still, there are some challenges and common PaaS bottlenecks one may face working with cloud management platforms. In particularly, while platform facilitates deployment of applications without the complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, it makes available only particular services and exposes vendor specific computing environment, which in turn may raise portability challenges with application code, business data, application services and management.
Windows Azure Recommended Use
Windows Azure can be deployed by .NET developers, who can apply their knowledge in the familiar Visual Studio environment to build cloud apps. A simplified usage of virtual machines can also be appreciated by non-technical customers.