A Measured Approach To Cloud Computing:
With the advent of Cloud Computing, the long-standing vision of “Computing as a Utility” is beginning to emerge. Since the early days of mainframe time-sharing computing, that vision has taken a quantum leap towards reality. One of the earliest references to Cloud Computing occurred in 1961 at the MIT Centennial. On that occasion, John McCarthy presented his vision of computing organized as a public utility. Just as the telephone system had developed into a major industry, Professor McCarthy envisioned that “Computing as a Utility” could one day become the basis of a new and important public industry. In broad essence, the genesis of Cloud Computing goes back a long way.
So what is Cloud Computing? Recently, a team of government computer scientists at the National Institute of Standards and Technology (NIST) began crafting a working draft outline to consolidate the characterization of Cloud Computing. Loosely based on a taxonomy model, it includes five key characteristics (on-demand self-service, broad network access, resource pooling, rapid elasticity and measured service), three delivery models (SaaS – Software as a Service, PaaS – Platform as a Service and IaaS – Infrastructure as a Service) plus four deployment models (Public/Consumer Private, Hybrid and Community) and is described as follows:
To leverage Cloud Computing effectively, instead of just asking “To Cloud or Not to Cloud”, enterprises should focus on “How to Cloud and What to Cloud”. Begin with Sy Sims’ famous slogan, “An Educated Consumer is our Best Customer.” Not only is this insight relevant for enterprises planning their Cloud Computing strategy, but also it will become increasingly important for them to counter the escalating Cloud hype. Inevitably, in the current media and vendor-spun world of Cloud Computing, the mega buzz is also accompanied by growing confusion and increasing number of myths/misconceptions (e.g. unintended consequences stemming primarily from marketing slogans) as well as “gotchas”.
Case in point, in September 2006, Jeff Bezos promoted Amazon’s Cloud services offering with the catchy marketing slogan: "We make muck so you don't have to". It is easy to see how such a message could be conveniently hyped, rehashed and misinterpreted to promote the myth that “Cloud Computing is a self-service black box – knowledge is not required.” On the contrary, there will be no “big or easy switch” for enterprise IT to transition overnight from running applications on premises to the Cloud. Because the shift should not be an “all-or-nothing” or a “one size fits all” endeavor, it is vital for stakeholders to become educated consumers in order to address the “how and what” to Cloud.
SaaS and Cloud Services are fully managed services and hosted by the Cloud Services providers while Utility Computing services are by design, “DIY” for developers and technical IT system staff. The granularity of control and levels of customization can vary considerably among the different vendor offerings. For example, Amazon EC2 offers hardware-level VM cycles enabling users to configure their own software stack. Because this article focuses on the planning guide and management methodology for the demand side of Cloud Computing, the following sections will address more specifically the capacity planning of IaaS and PaaS. Although not covered here, clearly, there is another aspect that centers on the supply side for many of the issues raised in this article.
ITIL based Capacity Planning for Cloud Computing Infrastructure Services: IaaS and PaaS
By now the need of ITIL based Capacity Planning is well-established for enterprise datacenters. While the need is not unique to Cloud Computing, Capacity Planning for Cloud Computing is fundamentally essential because it directly affects budget planning. In June 2009, Gartner acknowledged the essential role of Capacity Planning for Cloud Computing with this succinct observation, “as capacity is planned, the budget is also planned”. This reminder is critical because of the “Cloud Computing is a black box” myth which gives rise to the popular misconception, “Cloud Computing offers infinite resources on- demand – Capacity Planning/Management is not required.” Unfortunately, the latter can inflict serious consequences including reducing the effectiveness of and perhaps even derailing the Cloud Computing strategy for some enterprises.
As clearly stated in the aforementioned UC Berkeley RAD Lab report, Cloud Computing provides the illusion of infinite computing resources available on-demand. By overlooking the pivotal word “illusion”, the difference would be, to paraphrase Mark Twain, “between the lightning bug and the lightning”. In this case, the difference can be between success and failure.
Incidentally, this should be akin to déjà vu for the many enterprises who have already deployed Virtualization (either server or storage); today’s primary commercial offering that supports the illusion of “liberation” from physical constraints of computing resources. Analogous to Virtualization, enterprise IT should be prepared that there will be a caveat [with Virtualization, one of the most common unintended consequences is referred to as virtualization sprawl (the rampant spreading of a mixture of hypervisors) leading to significant complexity and management challenges.] and/or cost with Cloud Computing when reaping the benefits [the benefits include reducing complexity for application development and deployment/mobility or increasing effective resource utilizations to engender productivity.] of infinite computing resources. For example, consumers using elastic Cloud services have to carefully plan and continuously monitor how much to use based on their own allocated budgets. Put differently, although the “pay-per-use” utility model of Cloud Computing can indeed provide what may seem to appear to be an infinite supply of resource on-demand, no viable organization has an infinite budget. Invariably, consumers have to determine, plan, obtain, manage their computing budget and pay for their own finite demand. To wit: Cloud Computing enables consumers to pay for only what they get. However, consumers must diligently manage their demands so that they get only what they could pay for.
Strategically, there are additional business incentives for practicing Cloud Computing budget planning based on proactive capacity analysis and business forecasts. A follow on article will describe two of these incentives:
Underscoring both incentives is the requirement that IT practitioners, especially capacity planners, should routinely track/report on IT spending and work with business units to stay within budget.
In addition to budget planning, Capacity Planning will also affect Cloud service performance assurance and how service level objectives/agreements will be met. Currently, to achieve elasticity and the illusion of infinite computing resources available on demand, Cloud Computing providers typically rely on statistical multiplexing algorithms and load balancing mechanisms. Consequently, they will require various forms of “virtualization /abstraction” to mask the physical implementations of how resources are multiplexed and shared; regardless of whether commercial server virtualization technology is actually in use.
To drive home the point one more time: although Cloud Computing in general uses “virtualization /abstraction” techniques, Cloud Computing is not the same as and does not require commercial Virtualization offerings (such as VMware, Hyper-V etc). However, server and storage Virtualization offerings, can and will facilitate Cloud Computing providers to support on-demand elasticity and dynamic provisioning of resources.
Hence, IT professionals should underscore the critical roles played by integrated virtualized service oriented management, governance, performance assurance, and analytics-based feedback loops. Together, they can safeguard the successful adoption and, ultimately, the viability of Cloud Computing in enterprise IT.
NIST: a non-regulatory federal agency established within the U.S. Department of Commerce to promote innovation by setting measurement criteria for science, standards, and technology. www.nist.gov
SaaS: Software deployment model whereby a provider licenses an application to customers for use as a service on demand; PaaS: Delivery of computing platform & solution stack as a service; IaaS: Delivery of computer infrastructure (typically a platform virtualization environment) as a service.
Although this article focuses on the planning guide and methodology for the demand side of Cloud Computing, there is another aspect that centers on the supply side for many of the issues raised in this paper. In particular, Capacity Planning, Performance Assurance and vigorous Application Load Testing are not only essential but indispensable for Cloud service providers. Case in point: the root cause of the much publicized September 2, 2009 Gmail failure was primarily attributed to inadequate router capacity and stress load testing.
Copyright © 2009-2012 BSMReview.com or individual contributors.