Friday, October 2, 2009

A First Look at Azure in the Cloud

I spent some time yesterday at a Microsoft presentation for their soon to be released Azure Cloud Services. I came away with mixed feelings. Firstly, the concept of cloud computing is a promising foundation for removing hardware acquisition costs for an enterprise organization. The ability to virtualize a company's applications on virtually unlimited hardware resources will definitely benefit organizations where constant resources are not required for suitable application uptime. On the reverse, I do not see an increased advantage for users whose applications are not being utilized in a non-normalized pattern. With the advent of in-house virtualization, most smaller applications can achieve the same dynamic resource boosting as seen from a cloud computing environment without recurring costs.
Another big disadvantage to adoption of this technology is the inability to meet any protocol standards, ie data hosted on a cloud environment will not be able to be proven within HIPAA guidelines. Many markets will not be able to adopt the technology specifically for this reason. Both the medical and financial industries will find it hard to comply with any regulatory guidelines. It will work well for online commerce sites, but with the increasing governmental involvement, how long before regulations will limit the usefulness of holding data in the cloud?
As for Microsoft's foray into the cloud foundation, I came away both skeptical and intrigued by what they have put together so far. As with a lot of Microsoft products, they seem to be in their infancy in terms of offerings compared to competitors. They are promising a November release to the public, and I highly doubt that much needed technology will be included by that time. Foremost, the ability to manage the web and worker instances is nowhere near completion. The interface for managing the instance numbers is very simplistic, but can use a little work. The bigger disadvantage they have is not having a utility to show current performance versus increased performance of adding instances. Right now, it is purely a guessing game on how many instances will handle an application's traffic and processing requests. Microsoft definitely needs to develop a workload simulator in the staging environment that provides real feedback to determine instance usage.
Microsoft also needs to work on the SLA portion to allow users to automatically increase/decrease the number of instances based upon acceptable performance standards. How many of us want to wake up in the middle of the night because our application is being over-utilized just to update an XML file to deploy more instances for a two hour period? It would make more sense for the fabric controller to sense the utilization levels and increase to meet the demand up to a specified point, either a price point or utilization point.
That all being said, I look forward to learning more about the other cloud foundations at the Day of Cloud conference in two weeks. Hopefully I will be able to provide more feedback on the Amazon, Google, and initiatives then.