In this post I am going to change tack slightly. Rather than focus on Windows Azure I am going to illustrate one simple way that Learning Tree International is using cloud computing technology internally.
One of the most compelling use cases for cloud computing is the so-called “Dev/Test”. In this use case a machine (or machines) running in the cloud is configured for development and testing. Dev/Test is appealing because of the relative ease and low cost associated with provisioning the cloud based resources compared to buying and configuring physical machines. It is also one of the simplest and least risky ways for organizations to gain experience with cloud computing.
Internally Learning Tree uses SharePoint. Applications range from simple document sharing, team discussions and wikis to complex reporting, business intelligence and dashboards. Currently there is no automated system in place for employee expense submissions. It is natural to consider using the document workflow capabilities of SharePoint for this purpose.
Anyone who has ever done any .NET development for SharePoint using Visual Studio (prior to the 2010 versions) knows that the process can be somewhat complicated. SharePoint 2007, for example, requires a server OS. Development and debugging using Visual Studio 2008 is best accomplished when the development environment is running on the same machine that is hosting SharePoint. Usually, for developers, this has meant doing development on some kind of Virtual Machine anyways.
So, why not provision a Windows Server machine in the cloud, install SharePoint and Visual Studio on that machine and party on? That is exactly what we did.
We chose Amazon EC2 as our IaaS provider. Amazon makes it incredibly easy for anyone with a credit card to rapidly provision an instance of one of their ever increasing inventory of machine images. We chose a Windows Server 2008 machine also running SQL Server 2008 Express Edition. This became the starting point of the development platform. Additional components, including SharePoint 2007 and Visual Studio 2008 were installed on this instance under our development license agreement. For a few dollars and a few hours spent installing software we had a development and testing environment suitable for our purposes. It would have taken more time and been more expensive to have commissioned these equivalent physical resources.
One appeal to this approach was the capability to take snapshots of the current state of the machine instance at various times during the development. These snapshots became the basis of our own private machine images. In this way we had a built in backup mechanism and could very quickly spin up an instance of our project at various stages of development.
So, how did it all work out? Well, so far, so good! There were a few hiccups along the way. For one thing, we learned about the benefits of using Elastic IP Addresses. We also got to experience the fun of having to rename a SharePoint server after stopping and re-starting an Amazon machine instance!
All in all, though, the development experience was a good one. Using Visual Studio through a Remote Desktop connection was almost like working on a development machine directly. The bottom line is that we were able to provision a fully functional, self-contained development environment cheaper and faster than we otherwise could have.
For a brief demo (< 10 minutes) of an early stage in the development process click here.