Microsoft’s Windows Azure Platform is a cloud computing platform offering that “provides a wide range of Internet services that can be consumed from both on-premises environments or the Internet”. That’s what the official Azure’s website says. And we see that Microsoft is moving to cloud computing like Google Apps, Amazon, SalesForce and some other already does. Azure is a PaaS or “Platform as a Service” and it used to be free to use but now (starts from June 28 there is some additional charges for computing time, storage and data transferring).
Some words about cloud computing. Cloud computing is Internet-based computing, whereby shared resources, software and information, are provided to computers and other devices on-demand, like the electricity grid. Cloud computing layers could describe this architecture the best and shows the difference from client-server (client – application server – server) architecture. Cloud computing layers are:
- Client. This could be operating system, browser or mobile device.
- Application. Also known as SaaS (Software as a Service) that means to deliver software as a service over the Internet, eliminating the need to install and run the application on the customer’s own computers and simplifying maintenance and support.
- Platform. Also known as PaaS (Platform as a Service) that means to deliver a computing platform and/or solution stack as a service, often consuming cloud infrastructure and sustaining cloud applications. It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers.
- Infrastructure. Also known as IaaS (Infrastructure as a Service) that means to deliver computer infrastructure, typically a platform virtualization environment as a service. Rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service.
- Server. The servers layer consists of computer hardware and/or computer software products that are specifically designed for the delivery of cloud services, including multi-core processors and cloud-specific operating systems.
Back to Microsoft’s cloud computing needs to notice that Azure allows applications to be hosted and run at Microsoft datacenters. The platform includes five services:
- Live Services allows developers to have a deeper control and offers access to the core Windows Live services and data through open and easily accessible APIs.
- SQL Azure (formerly SQL Services) extends the capabilities of Microsoft SQL Server into the cloud as a Web-based, distributed relational database. It provides Web services that enable relational queries, search, and data synchronization with mobile devices. It can store and retrieve structured, semi-structured, and unstructured data.
- AppFabric (formerly .NET Services) comprises Service Bus and Access Control, which can be used to build distributed and federated applications as well as services that work across network.
- SharePoint Services. It was included like standard Windows SharePoint Services free add-ons.
- Dynamics CRM Services. There is an API to Microsoft Dynamics CRM.
This services can be used to build the applications that will run in the cloud. A client library, in managed code, and associated tools are also provided for developing cloud applications in Visual Studio.
An important thing is that Windows Azure is the cloud services operating system that serves as the development, service hosting, and service management environment for the Windows Azure Platform. Windows Azure is an open platform that will support both Microsoft and non-Microsoft languages and environments. Windows Azure welcomes third-party tools and languages such as Eclipse, Ruby, PHP, and Python.
The Azure Services Platform can currently run .NET Framework applications compiled for the CLR. It can support PHP websites. Also two SDKs have been made available for interoperability with the Azure Services Platform: The Java SDK for AppFabric and the Ruby SDK for AppFabric. These enable Java and Ruby developers to integrate with AppFabric Internet services.