In this first post on Cloud Computing, I’ll cover Microsoft’s Cloud offerings; I’ll also discuss some of the cloud computing terms you may have heard about, as well as cover briefly what good cloud apps are. In the following two posts I’ll cover the Windows Azure Platform in more detail, and round off with a post on the IT Pro role in this world.
First let’s set the ground work for where we are today. The technology that has been the buzz for the last 12 months, and the technology forming the current buzz, have been around a while. Technology comes in cycles. Virtualization can trace its roots back to the IBM Mainframes of the early to mid-70’s; only recent hardware advances have allowed servers to bring this technology to the forefront again. Likewise, “Cloud computing” has also been around a while, although the term “Cloud” only started to gain prominence in around 2007. Some types of “Cloud computing” that you may use today include Hotmail, Gmail, Skydrive, Live Mesh, Google Apps, Windows Live Messenger. These services range from those that have been around a while, Hotmail for example, to more recent additions such as Live Mesh. These are Software as a Service (SaaS) examples; I’ll mention others later, but it’s important at this point to mention SaaS. SaaS applications are existing applications run and managed by which a 3rd party organization runs and manages. You use them as if they were installed locally. Another good SaaS example is Google Apps, a set of applications in the same category as the Microsoft Office applications.
However, it’s not these applications that are generating the buzz; it’s the platforms now being offered by companies such as Amazon, Google, Salesforce.com and, of course, Microsoft. Advances in both software and hardware virtualization that I mentioned above have allowed vendors like Microsoft to build huge data centers which host thousands of servers, and deliver hundreds of thousands of virtual images. This highlights the distinction between something like Hotmail and Windows Azure, or Amazon Web Services. These are platforms, Platforms as a Service (Paas) to give them their name. These platforms are designed to run your own applications. You can’t run your own code on, say Google Apps or Hotmail, you just consume the service as is. With Windows Azure you can develop an application and run it on an image in a Microsoft Data center. These platforms provide the services, such as compute and storage, which applications need to run. In the offering from Amazon, which you may hear called Infrastructure as a Service (IaaS), you are allocated a server image to do pretty much what you want with.
This is a different offering compared to the Windows Azure Platform. Windows Azure provides a Windows Server image, but the administrative model used restricts you from installing certain software or making certain configuration changes. I’ll go into more depth on this in the next post and why this offering has advantages over the Amazon offering. To clarify the Azure side, Windows Azure is not the platform; it’s the operating system your application runs on. Within the platform there is also SQL Azure, to provide relational data storage, and then Windows Azure platform AppFabric. Together, these three elements make up the Windows Azure Platform.
This post is all about covering Microsoft’s cloud offerings. In many ways the offerings are similar to other vendors’ like Google and Saleforce.com. It’s the offerings that differentiate them. Microsoft has both SaaS and PaaS offerings. Across the board of cloud offerings, Microsoft currently has the most. We’ve covered Paas, but what SaaS offerings does Microsoft offer? I’m not talking about Hotmail here; I’m talking about the larger servers, Exchange, SharePoint, and Office. Microsoft offers these together to make up the Business Productivity Online Standard Suite (BPOS) offering. Steve Ballmer has talked about Microsoft’s “We’re all in” strategy. Everything Microsoft does from now on will have a cloud focus; BPOS was one of the first steps towards this.
So what does BPOS allow you to do? It allows you to run some of your critical services, like E-mail or collaboration, in a hosted environment. Unlike Hotmail, for example, you have your own, dedicated environment. The service provided is identical to one you would host on-premise. For E-mail your clients can connect using Outlook, Outlook Web App, or a mobile device as they may do today. You still manage the services locally, and they integrate with Active Directory so you still control policies and users. The difference is that the server management, backups, security protection etc. are handled via Microsoft IT staff in their datacentre.
The difference between BPOS and Windows Azure Platform is that BPOS provides you services on existing software e.g. Microsoft Exchange. Windows Azure Platform provides you just the platform and tools to build on it. If you want to run an e-mail system on Windows Azure, you basically have to write it yourself, you won’t be able to just port your Exchange environment into Windows Azure, in fact you will not be able to install Exchange onto Windows Azure. But to be perfectly honest that is not really what you would use Windows Azure Platform for. So what is the Windows Azure Platform really good for?
Those of you who read a series I wrote back in November 2009 on “Managing you Windows World” may recall an example I used relating to System Center Virtual Machine Manager (SCVMM). In that example I called out the fact that using System Center Virtual Machine Manager (SCVMM) you could create a web application image template. Then, using this template, you could scale up a web application at peak times. The example was a retail application that could run on say three or four images, on one or two servers for most of the year. However, if that company ran a promotion those servers could be overwhelmed. Using SCVMM you could deploy more images to handle the load onto other servers. This type of example is something you may hear described by different vendors as a “Private Cloud”. It has most of the elements of a cloud environment, a web app and a scale out capability. In a very basic way Windows Azure Platform works the same way. You can run this scenario in your own datacentre or in a hosted environment with a traditional hoster, today. I want to mention that from now on, when I mention “Cloud” I’m talking in reference to the “Public” version such as one running in a Microsoft’s datacentre.
So back to our example, we can apply the same example to Windows Azure Platform; the web application could be developed in-house, deployed to the Azure Platform and run there. During a promotional period you would be able to throttle up the service to meet demand and the throttle back when demand tailed off. The big difference between both examples is that with Windows Azure Platform you don’t have to have that additional hardware resource in house to scale. You simply use the web administration interface for Windows Azure Platform to alter the configuration, to add servers. The fabric within Windows Azure, which is different to the Windows Azure platform AppFabric, controls this scaling out. The fabric also ensure that you always have the number of servers running you asked for, so if one fails for any reason, the fabric will notice and spin up a new instance to replace the failed version. This concept has implication in writing applications that run on Windows Azure.
There is a huge buzz around Cloud computing, but it’s not something that is going to take every server in your organization away tomorrow. In fact, the best cloud solutions are going to be a combination of both on-premise and cloud services. Some applications are just not ones you could put into the cloud currently. Take SQL Server 2008 R2 Parallel Data Warehouse as an example. Using this product requires purchase of hardware from an authorised partner which is designed to deal with hundreds of terabytes of data and use massively parallel processing (MPP) to deliver the high performance. This is a scale-up solution: bigger machines delivering better performance. Windows Azure is designed to support applications that scale-out, multiple copies of the same application running over multiple instances. Applications that you have in your organization like this could be candidates to move to the Cloud.
Cloud computing is here. It’s been here a while and it’s also going to stick around. It’s going to provide organizations with new solutions, and IT Pro’s with new opportunities to add value to their organizations. In the next post I’ll cover the Windows Azure Platform in a more detail and give you an insight into how it works.
Videos / Webcasts
White Papers / Datasheets