Seven Elements of Cloud Computing

Cloud Computing is a major step forward in the development of distributed computing, and one that will reshape the IT industry for years to come.  What is it?  Cloud computing is the provision of dynamically scalable and often virtualized 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.  These services often provide common business applications online that are accessed from a web browser, while the software and data are stored on the servers in secure facility.

Utility Pricing

Cloud Computing is first and 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 the her team following the merger with another company, without having to worry about adding new servers or buying more hard drives.

Virtualized Resources

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 fir or would take too 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).

Management Automation

Cloud Computing platforms differ from traditional corporate data-centers in one major way: standardization. While your typical data-center will usually host every version of every operating system and database known to mankind, thereby creating massive management overhead, most Cloud Computing platforms usually standardize on a single kind of CPU (x86-bases predominantly), a single hypervisor (VMware, Xen, etc.), a single operating system (some Linux distribution usually), and a single database (My SQL rules ). This standardization has an obvious business benefit: dramatic reduction of operating costs through aggressive management automation. Following our previous example, the sales team at CRM application is served by one of 16 instances, each made of a few dozen 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 60,000 customers were to require a dedicated infrastructure, it would take several thousand full time resources to manage it all

Self-service Provisioning

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 server had to be provisioned for each customer, 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.

Third-party Ownership

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.

Managed Operations

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 the third-party, according to well-defined Service Level Agreements. Following out 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 upgrades process that took place over the week-end. In the cloud, ignorance is bliss.

Ismael Ghalimi, Enterpriseirregulars.com

NEED-HELPGG-DIFFERENCE
Untitled-6