Cloud Platforms: Windows Azure—Ideal Cloud Architecture for .NET Developers

by Sergey BushikAugust 9, 2010
This blog post focuses on the functionality of Microsoft’s Windows Azure cloud operating system, its drawbacks, and recommended use.

Windows Azure overview and pros

Windows Azure Services Platform is a Windows-resembling cloud computing architecture. The solution 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 runtime for applications and includes three main components: Compute (a computation environment), Storage (a scalable storage), and Fabric (a 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.

Pros

  • Windows Azure provides advantages for .NET developers, 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 the .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 to deploy and run web applications written with non-Microsoft programming languages, such as PHP.
  • .NET Full Trust allows for using 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.
  • The platform supports open standards, such as REST/SOAP and XML.

 

Cons and recommended use

Still, there are some challenges and common PaaS bottlenecks a user may face working with cloud management platforms. Windows Azure facilitates deployment of applications without the complexity of buying and managing the underlying hardware, software, and provisioning hosting capabilities. However, it makes available only particular services and exposes vendor-specific computing environment. These, in turn, may raise portability challenges with application code, business data, application services, and management.

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 users.

 

Further reading


The post was written by Sergey Bushik and edited by Alex Khizhniak.