The end of the decade (wow where did all the time go since the big 2K scare?) has brought us to a world in the cloud. Some might say, this will never work, some others worry about security, availability and performance and yet the cost of maintaining the IT infrastructure and the drive to bring services and products to market faster is driving companies to look to the "cloud" for IT resources.
There are some acronyms coming out such as IaaS, PaaS and SaaS and standards groups like DMTF (Distributed Management Task Force (www.dmtf.org) all looking to help make the "Cloud" a platform/infrastructure for both internal and external customers.
All of this growth and opportunity (IMHO) can lead to not only confusion but concern. So how do we as IT professionals and as an industry make the shift to the cloud? One way is to ensure we understand the value of both utilizing cloud services and the move to the cloud, where it makes sense. This is a dollar discussion for the value (ROI) and the cost associated with the move. The value must out weigh the cost to have mass adoption.
The second and more direct path (near and dear to my heart) to acceptance of the cloud is availability and performance. As my other blogs have stated, the old world was/is used to putting an application onto a physical computer (one for one). All the resources of the physical computing platform (network cards, CPU, memory, and to some extent I/O and storage) are available for the individual application. Virtualization has enabled the move to utilizing shared resources (CPU, Memory, Storage (NAS) and Network). The next move is to be hosted in a truly virtual world. That being the application is now an appliance (the application can run anywhere on any platform) that has been detached from the underlying hardware and can be moved and run anywhere. I have VM's which I created on my laptop, moved to my desktop server and are now running on my hypervisor server on shared storage.
So what are the issues around availability and performance? The first is the location of the appliance, what hypervisor is it running on, where is it running, what priorities are set at that location for providing my appliance the resources I contracted for and many more questions. Once I consider moving my applications/appliances to the cloud, the lawers get involved and start writing service level agreements (SLA's.). Now I have been involved in SLA's and charge back (they do go hand in hand) for many years. Most fall somewhere between a hand shake and a legal document so loose that it is hard to quantify and adhere to. The outsourcing world has been addressing these issues for years. How much do we report to the customer and how much leeway do we allow to maintain the SLA?
So back to the cloud. With private and public clouds being created with large investments from companies like IBM, Amazon, VMware (build it and they will come) and many managed service providers and hosting companies, the need to assure application availability and performance is a must. We start with the data collection. How do we collect and correlate the information for the application when the application is running on outside your realm of control?