Sunday, October 11th 2009 | Ismael Ghalimi
Like any new IT trend, Cloud Computing gets its fair share of hype, and with it comes a multitude of vendors that use the terms in ways it was never intended for, therefore making it devoid of any sense. When pushed to the extreme, a simple server connected to a network seems to qualify as a cloud, thereby allowing pundits such as Larry Ellison to deride the concept to no end. Yet Cloud Computing is much more than a passing fad. It is a major step forward in the development of distributed computing, and one that will reshape the IT industry for years to come. But for it to happen, we must agree on a clear definition of the concept, and the less technical it is, the better. Let us introduce one that focuses exclusively on the business benefits of cloud computing.
Wikipedia defines cloud computing in the following fashion:
“Cloud computing is the provision of dynamically scalable and often virtualised resources as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the “cloud” that supports them. Cloud computing services often provide common business applications online that are accessed from a web browser, while the software and data are stored on the servers.”
The definition we propose is borrowed form the writing of Neil Ward-Dutton, who works for MWD Advisors, a specialist European IT advisory firm which focuses exclusively on issues surrounding IT-business alignment. In a post released in June 2009, Neil outlined The seven elements of Cloud computing’s value, which we reproduced here with the author’s permission and some minor editing, some suggested by Gartner’s Daryl Plummer:
In a nutshell, Cloud Computing can be defined as a set of computing and storage resources providing an application platform as a service. This platform is characterized by a unique set of economic, architectural, and strategic elements of value, which clearly distinguishes it from anything that has been available so far, even though it builds upon the legacy of more than 50 years of distributed computing.
Cloud Computing is first a foremost defined by its utility-based pricing model. Users of the platform consume computing and storage services on demand and pay for them as they go, using an Operating Expenses (OPEX) budget, instead of paying for infrastructure resources up-front using Capital Expenditures (CAPEX). For example, a Director of Sales can create CRM accounts for 10 of her sales people on Salesforce.com by using her corporate credit card, without having to ask the CFO for a budget, and without having the IT Department initiate a requisition process for a new server.
Elastic Resource Capacity
Cloud Computing differs from more traditional forms of distributed computing in the way it scales computing and storage resources up and down. Instead of tapping from a fixed set of resources, users can add or remove capacity at will, almost instantaneously, and only pay for what they actually use. While utility pricing let users pay as they go, elastic resource capacity let them pay as they grow (or shrink). Following our previous example, the Director of Sales can add 5 more accounts for the sales people that were recently added to her team following the merger with another company, without having to worry about adding new servers or buying more hard drives.
Cloud Computing would not be possible without virtualization, not for arcane technical reasons, but for one obvious business requirement: the need for multi-tenancy. In order to benefit from economies of scale, cloud computing is predicated upon the sharing of a common infrastructure by multiple groups of users, often referred to as tenants. And multi-tenancy can only be achieved through some kind of virtualization, either at the database level (Salesforce.com), application server level (Google AppEngine), kernel level (Red Hat), or CPU level (Amazon EC2). Unlike grid computing, which often pooled and aggregated distributed computing resources for the purpose of handling very large computing jobs that could not fit or would take took long to complete on a single server, Cloud Computing creates virtual slices of resources from clusters of servers and storage devices, perfectly sized to fit the specific needs of multiple users. Such virtual resources can be small or large, and scale elastically as user needs evolve over time. In our previous example, virtualization means that the CRM application used by our sales team is served by an infrastructure also used by over 60,000 other tenants, all securely isolated from each other (hopefully).
Cloud Computing platforms differ from traditional corporate data-centers in one major way: standardization. While your typical data-center will usually host every versions of every operating systems and databases known to mankind, thereby creating massive management overhead, most Cloud Computing platforms usually standardize on a single kind of CPU (x86-based predominantly), a single hypervisor (VMware, Xen, etc.), a single operating system (some Linux distribution usually), and a single database (MySQL rules). This standardization has an obvious business benefit: dramatic reduction of operating costs through aggressive management automation. Following our previous example, the sales team’s CRM application is served by one of 16 instances, each made of a few dozens servers. Altogether, this infrastructure might require anywhere from 100 to 200 full-time resources to manage. As a point of comparison, if each of Salesforce.com’s 60,000 customers were to require a dedicated infrastructure, it would take several thousands full-time resources to manage it all.
Cloud Computing and Software as a Service is often compared to the Application Service Provider (ASP) model that became popular for a brief period of time ten years ago. One element makes them fundamentally different from each other though: self-service provisioning. With the ASP model, dedicated servers had to be provisioned for each customers, which meant that technical resources had to be involved every time a new customer would be signed. Hefty setup fees would be added to the bill, and the service would become operational within a few days at best. With Cloud Computing, business end users like our Director of Sales can provision applications and user accounts in a few mouse clicks, and these become available instantly.
Cloud Computing is also a new form of outsourcing. Customers trying to focus the allocation of scarce capital resources to their core businesses soon realize the benefits of moving IT infrastructure off their balance sheet. Furthermore, as technology evolves and leading service providers roll-out ever larger data-centers, the acquisition and operation of state-of-the-art data-center facilities makes less and less sense from an economic standpoint for most organizations. Cloud Computing is all about the transfer of ownership for such resources to a third-party that specializes in their deployment. According to our previous example, the company using the CRM application provided by Salesforce.com does not own any infrastructure beyond a few laptop computers. Everything else, from data-centers to servers and storage systems is owned by Salesforce.com, Inc.
Cloud Computing is finally about allocating human resources to tasks that will directly impact the business, rather than simply managing the infrastructure that supports it. As such, Cloud Computing advocates a model according to which the IT infrastructure is not only owned by a third-party, but managed by the third-party as well. Software upgrades, data backups, and the countless other tasks required to manage mission-critical business applications on a day to day basis become the responsibility of a third-party, according to well-defined Service Level Agreements. Following our example, the Director of Sales discovered this morning the snowman adorned logo for the Winter 2010 version of Salesforce.com, without having taken any part in the software upgrade process that took place over the week-end. In the cloud, ignorance is bliss.
Until now, the only way for customers to benefit from the seven elements of value outlined above was to use a public cloud like Amazon Web Services or Force.com. Today, private cloud offerings such as Intalio are bringing these benefits on premises, behind the firewall. To learn more about how private clouds can address each element of value, please review this presentation.
Entry filed under: Cloud Computing