Working with Microsoft Azure in Cloud Computing
Microsoft, the incumbent in the application development and deployment market, has taken its .Net platform into the cloud computing community. Azure is Microsoft’s Platform as a Service (PaaS) strategy that was announced in 2008. Microsoft defines the Azure platform as an Internet-scale cloud services platform hosted in Microsoft data centers, which provides an operating system and a set of developer services that can be used individually or together.
Microsoft’s overall strategy is a combination of on-premise computing with cloud-based services. The idea is that developers want to build some applications that live on-site, while other components will live in the cloud. Microsoft calls this strategy software plus services. The heart of Microsoft’s strategy is to allow developers to use the same underlying technology and enablers to build both on-premise applications and cloud applications.
While the main focus of the Azure platform is to bring Microsoft’s familiar programming model to the cloud, Microsoft also intends to support other programming models, including Ruby on Rails and Python. For interoperability, Microsoft supports various Internet protocols, including HTTP, REST, SOAP, and XML.
The Azure platform is composed of four different components:
Windows Azure: This Windows environment runs applications locally and stores the related data on servers inside the Microsoft data center.
Microsoft .NET Services: These are the same .Net services that Microsoft has in its Windows environment. It has been extended to support cloud-based as well as on-premise applications.
Microsoft SQL Services: These are the same data services Microsoft offers on premise that have been extended to the cloud. However, if you want to take advantage of Azure’s scaling capability, you must rewrite the SQL code. The goal of SQL services is to provide an asset of cloud-based approaches for storing the data in the cloud. The data services expose both SOAP and REST interfaces as data access methods. For data storage, Azure doesn’t use a relational model.
Live Services: This set of services allows developers to connect code developed in the Windows Live platform into the cloud. These services include a framework intended to integrate, connect, and synchronize code. The platform also includes support for different programming languages and allows all resources to include a URL address.
When you put the pieces together, Microsoft has created a platform that allows developers to use familiar tools such as Microsoft’s Visual Studio and .Net services and then store the data in a Microsoft-owned cloud platform. Therefore, developers familiar with building .Net applications will be comfortable with Microsoft’s cloud approach.
Like Google, Microsoft has a pay-as-you-go consumption model for its PaaS offering. And like Google, Microsoft doesn’t charge for development and testing phases. It begins charging customers when the applications are deployed.