When Microsoft introduced Azure earlier this year, it entered the market well behind established players such as Amazon, AT&T and Google. It's not the first time Microsoft has been the last guest at the party -- remembering Web browsers, search engines and other products. But, Microsoft has a lot of resources at its disposal, so we shouldn't underestimate its potential success with Azure.
Let's take a look at Azure's prospects in the market place by reviewing what it has to offer compared to its competitors. According to one source, cloud vendors offer a variety of services and applications.
Azure has some unique services, applications and a development platform. The chart below shows that various cloud providers offer SaaS, storage or infrastructure. Microsoft provides a broad platform including SaaS services, storage services for application data storage, a fabric to connect services and resources, and physical data centers.
|Amazon||Database, content delivery, messaging storing, computing capacity, on-demand storage capacity||Several offerings and maturity
in the market
Large data infrastructure
|Software as a Service (SaaS) Productivity tools: email, calendaring, word processing, application development||Internet expertise, existing
|AT&T||Virtual servers and storage||Built-in cloud infrastructure|
|GoGrid||Web-based storage, Windows and Linux server and application deployment||100% uptime SLA
Expertise in server hosting
|Rackspace||Website development platform, storage service, virtual servers||Expertise in hosted data
|SalesForce.com||SaaS -- sales, marketing and social networking tools; Web application development and hosting platform||Pioneer in SaaS SalesForce.com
is frequently mentioned in cloud
An added benefit is the development platform in Microsoft's .NET framework, formerly called .NET Services, now called AppFabric. This is advantageous to companies that already have applications written in .NET languages, and it gives Microsoft cloud services an advantage over Google, which only uses Java in its cloud, requiring non-Java apps to be converted. Microsoft also provides data centers to host services.
Figure 1 shows the essential components of the Azure platform -- with the compute, management and storage services, all connected by a fabric, providing secure connections between the services and managing resources for the applications.
The Compute service runs the SaaS applications and is scalable to run large numbers of simultaneous users by running the apps in virtual machines hosted by several physical servers, as opposed to running on a few heavy-duty machines. This provides better redundancy and allows absorption of the failure of individual machines by shifting the load to other instances -- even to the extent of creating new virtual machines.
The Management service provides a Web interface for applications, using Windows Live authentication. Developers can simply upload the application and manage versions.
The Storage service provides application storage in blobs, tables or queues for Azure applications in the cloud and for on-premises applications and applications hosted in another cloud platform. The downside to the storage service is that it does not support relational database storage. However, Microsoft offers SQL Azure for this capability. An application's instances can occupy storage geographically disparate locations for redundancy, recovery and security.
The Fabric provides secure connections between servers, switches and other components of the Microsoft data center. The Azure Fabric Controller -- a set of machines that communicates with agents on each of the servers hosting storage or applications -- manages the operating systems. This includes necessary patching and creation of new VMs to add capacity needed for increased demands or to adjust for failures of physical hosts or virtual machine instances by moving them to other resources.
Of course it can also shrink when the demand drops. An application can be configured to reside on one of several virtual machine configurations, depending on memory, CPU and storage requirements. The fabric handles the switch to different instances in case of hardware or OS failure.
AppFabric contains API libraries, tools, samples and documentation for building cloud-based and cloud-aware applications with the .NET platform. It consists of Access Control Service, which provides means of authentication and authorization, and the Service Bus, which allows developers to expose applications and service functionality to the cloud or on-premises. This permits, among other things, the ability to deploy existing apps to the cloud. AppFabric contains Software Development Kits (SDKs) available for download from the AppFabric website.
Azure cost and TCO
Microsoft offers a wide variety of pricing plans. They allowing their customers to pay by the connection, by the database, by instance size and service hours, while guaranteeing 99.99% SLA in most categories. The various and flexible pricing plans would seem to benefit all organizations. The company also has a TCO calculator (Figure 2) and other tools to help determine the most advantageous plan.
Perhaps the greatest advantage Microsoft has is the leverage of its popular applications that can adapt to the cloud. It already has SQL Azure, which is extended to provide relational database capability to Azure applications. I raised questions to several Microsoft sources, but they were unable to confirm that other apps like Exchange Server, SharePoint, and Office might follow suit. But it seems that would be a huge benefit to Microsoft and its customers.
Gary Olsen is a systems software engineer at Hewlett-Packard in Global Solutions Engineering. He authored Windows 2000: Active Directory Design and Deployment and co-authored Windows Server 2003 on HP ProLiant Servers. Olsen is a Microsoft MVP for Directory Services and formerly for Windows File Systems.