Understanding what Windows Azure -- Microsoft’s fledgling cloud computing platform -- is all about can be confusing, especially when you compare it to competitive offerings.
In a nutshell, Windows Azure is a cloud-based platform bringing Windows Server and all the underlying support software like the .Net runtime, IIS, and ASP.Net, along with a cloud-based version of SQL server.
Amazon’s Web Services would be the closest thing to a real competitor if you’re strictly looking at the services each provides. Google’s AppEngine would be another potential competitor, although you are somewhat restricted to a specific set of languages -- Python and Java -- and Google’s BigTable datastore.
David Chappell, principal of Chappell and Associates in San Francisco, defines cloud computing in terms of two categories: cloud applications and cloud platforms. Examples of cloud applications would include Salesforce.com, Microsoft’s Exchange Online, and Google Apps. Cloud platform services include Amazon Web Services (AWS), Google AppEngine, Microsoft’s Windows Azure platform and Salesforce.com’s Force.com. Understanding the differences between the two will help better define the solutions and the problems that each tries to solve.
Microsoft believes its programming model for Azure helps set it apart from cloud competitors.
The fact that you can now begin to develop and deploy enterprise applications with access to a scalable SQL engine is significant for many IT shops firmly entrenched in traditional development processes and tools. Windows Azure delivers a path and the tooling to take those enterprise apps to the cloud.
Moving an existing enterprise application to the cloud seems to be an adventure that more and more companies are willing to try. The kicker comes when you try to move an application with dependencies on a specific database, like Microsoft’s SQL server or Oracle. Security is another significant issue and presents itself in two different forms -- authentication and authorization. Microsoft’s Windows Azure platform has security support baked in, although it’s tied closely to a Windows Server or Active Directory-based system.
Both Amazon and Microsoft make it possible to pick and choose which services you want to keep on premises and the ones you want to push up to the cloud. If you’re an existing Microsoft shop, you may have a smoother transition going with their services. You’ll still have to do a good bit of architecting from a network and overall system-design perspective.
John R. Rymer, a principal analyst for enterprise development with Forrester, had this perspective:
“Microsoft is trying to create an environment that supports patterns you see in enterprise apps. SQL Azure is just SQL for the cloud or Azure elastic scaling. Most enterprise apps are built with SQL of some kind on the back end. They’re hoping to grab the attention of enterprise developers and business away from Amazon and SalesForce.com,” Rymer said.
VMware has several product offerings addressing the private cloud and Infrastructure as a Service (IaaS) in vSphere and vCloud. Building your own datacenter for a private cloud is where vSphere comes in. It leverages all of VMware’s virtualization experience along with management tools to deliver computing and storage services able to dynamically scale up or down, depending on demand. That’s essentially what Amazon or Microsoft will do for you with their cloud offerings.
For a public cloud, there’s vCloud. The key to this product is the bridge between public and private resources. vCloud is an IaaS offering providing the connectivity between clouds. It also includes an API providing all the hooks a developer would need to programmatically manage the service. In that sense it’s a lot like Microsoft’s Azure platform from a control perspective. vCloud is still in its infancy but will assuredly be a hit with existing VMware customers.
VMware jumped into the cloud development game last year with the acquisition of Spring source. Cloud Foundry is another acquisition made by SpringSource, bringing to the table a tool for deploying Java applications based on the Spring Framework into a cloud environment. You can see a strategy starting to develop with Amazon’s ECS as the primary target for enterprise VMware customers looking to move their Java-based apps up to the cloud.
Which Way to Go?
Choosing a path to take for getting onto the cloud bandwagon depends a lot on what you’re trying to accomplish. Going with Microsoft’s Windows Azure platform can make sense for Microsoft-heavy enterprise IT departments. If you have a smattering of other technologies, such as Linux servers, you’ll find Amazon’s services to be more Linux friendly. You can test all the services out on a small scale before you sink too many corporate resources into the project.