Thursday, December 18, 2008

Demystifying Cloud Computing

Cloud computing is not fluff — it's the future of IT. Take a closer look at what's in the clouds and what it might mean for your organization.

It became a buzzword even before it was defined. But if you're under the illusion that cloud computing is all fluff, maybe it's time to take a closer look.

Cloud computing is all about efficiency. It provides a way to deploy and access everything from single systems up to massive amounts of IT resources, on demand, in real time, at an affordable cost. Because the best cloud strategies build on concepts and tools that developers already know, clouds have the potential to redefine the relationship between IT and the developers and business units who depend on it. IT gains new efficiency and points of control while their customers gain access to services with a new level of simplicity and control.

What cloud computing is — and isn't

Cloud computing is a style of computing or massively-scalable IT-related capabilities that are provided as a service across the Internet to multiple external customers. "Customers," in this case, could be defined as employees, contractors, partners as well as traditionally defined customers. From there, the cloud can be divided into two contexts: the private or enterprise-computing cloud and the public computing cloud.
While public cloud computing may not yet offer all of the services you want, as an enterprise you don't want to miss out on the benefits provided through virtualization. This gives rise to the creation of a private cloud environment. Within Sun IT, we are creating a private cloud to take advantage of the properties of cloud computing by deploying our private services into it.
A private cloud is set up by your IT organization and is owned by the enterprise. Services are consumed by employees and/or authorized partners/suppliers directly from the Internet. From an IT perspective, it's important to rapidly deploy services into the cloud and have these services be nonstop operating services, trusted and secure, and be scalable both horizontally and vertically. Private clouds are typically created when public clouds don't offer the service needed, shared tenancy won't work, or the public offerings can't provide the scalability, security, reach, touch, or reliability that an enterprise requires.
The public computing cloud however, derives its efficiency from the shared tenant model because multiple customers share the same computing resources to maximize delivery of their computing platform. Security controls are a consideration, but as time moves forward and the public clouds become more available, more secure, more geographic, and more enterprise-ready companies will move away from personal private clouds and toward public, shared clouds.

Here's a quick overview of what cloud computing is (and isn't), how you can take advantage, and how Sun can help.

All cloud computing deployments have a few things in common. At the highest level, they are a means of delivering IT resources as a set of well-defined services. Just as electric utilities gain efficiency by limiting your options for voltage and frequency, clouds gain efficiency by doing a small number of services very well. Of course this means that some applications won't fit a particular cloud, but that's the important tradeoff.

Other key elements of cloud computing lead to additional efficiencies. Self provisioning and programmatic APIs dramatically reduce the role of humans. Aggressive use of virtualization optimizes physical resources. And the ability to scale up and down dynamically, combined with "pay-as-you-go" pricing, incents cloud users to be efficient with their usage.

There are also many important differences among clouds. "Sun's view is that there are three dimensions to cloud computing, each with unique possibilities and opportunities," said Sun's David Douglas, Senior Vice President of, Sun's cloud computing initiative.

Dimension 1: Layers of abstraction

In the same way that different types of meteorological clouds form at different altitudes, different types of IT clouds can form depending on the layer of abstraction. There are three predominant cloud types:

  • Infrastructure as a Service (IaaS) is at the lowest layer, and is a means of delivering basic storage and compute capabilities as standardized services over the network. The best-known commercial example is Amazon Web Services (AWS) whose EC2 and S3 services offer bare-bones compute and storage services (respectively).
  • Platform as a Service (PaaS) is in the middle, consisting of higher-layer capabilities that developers can knit into applications. Commercial examples include Google App Engine and's platform.
  • Software as a Service (SaaS) is at the highest layer and features a complete application offered as a service, on-demand, via multi-tenancy — meaning a single instance of the software runs on the provider's infrastructure and serves multiple client organizations. Examples include and the iTunes store.

It is important to note is that IaaS and PaaS clouds introduce new interfaces and APIs. These new interfaces can make life simpler for developers in the short term, but they also carry the potential to lock developers into a specific vendor or cloud — as is the case with traditional platforms.

Dimension 2: Types of deployment

Just as there are multiple types of clouds, there are multiple ways to deploy them, depending on who's sharing with whom. For example:

  • Public clouds are run by third parties, and jobs from many different customers may be mixed together on the servers, storage systems, and other infrastructure within the cloud. End users don't know who is on the same server, network, or disk their jobs are running on.
  • Private clouds are owned by a single customer who controls which applications are run where. They own the server, network and disk and can decide which users are allowed to use the infrastructure.
  • Hybrid clouds combine these two models. You own parts and share other parts, though in a controlled way.

Dimension 3: Application domain

Since applications have different characteristics and user requirements and place varying demands on infrastructure, why not tune clouds for specific types of workloads? In fact this is already happening. Some clouds are optimized for high-performance computing (HPC) applications, others for maximum Web throughput, and still others for transactions. Sun sees the trend toward application domain specialization expanding into many other areas such as payment, security, backup, and communications.

Why cloud computing changes everything

Even while IT is being asked to contain or reduce costs, demands from the business continue to rise. Streaming content. High-performance computing (HPC) applications. Rich customer Web experiences. Many of these workloads require massive compute and storage resources and also experience sudden surges and spikes in demand — they simply operate at a scale that is beyond the capacity of traditional IT infrastructure.

Cloud computing offers a solution. The core enabling technologies for cloud computing can deliver IT resources and capacities on an absolutely unprecedented scale:

  • Virtualization technology for servers, storage systems, operating systems, and other resources dramatically improves utilization rates while permitting consolidation of physical systems.
  • Sophisticated filesystems such as ZFS support virtually unlimited storage capacities, integration of the file system and volume management, snapshots and copy-on-write clones, on-line integrity checking and repair, etc.
  • "Patterns" in architecture allow for accelerated development of super-scale cloud architectures by providing repeatable solutions to common problems.
  • New techniques for handling structured, unstructured, and "semi-structured" data allow for massive scale-out of data-driven services.

Equally important, cloud computing is enabling new software architectures. It is also accelerating the adoption of lightweight, agile tools such as Hadoop, the free Java software framework that supports data-intensive distributed applications; memcached, a highly scalable "data accelerator"; and MogileFS, a file system that enables horizontal scaling of storage across any number of machines.

Cloud computing also offers the economies of scale of the utility model. Most organizations don't build their own power generators and water treatment plants — so why should every IT organization need to acquire and maintain all of the hardware, software, and development resources it uses?

"A hallmark of cloud services is standardized services for all users," said Douglas. "You don't call up the electric company and ask for 83V power to your house; they do one thing and do it very efficiently."

For end users, cloud computing means there are no hardware acquisition costs, no software licenses or upgrades to manage, no new employees or consultants to hire, no facilities to lease, no capital costs of any kind — and no hidden costs. Just a metered, per-use rate or subscription fee.

The silver lining for IT

Cloud computing creates compelling new economic models for IT service delivery. Here are the three options for taking advantage of the cloud computing model:

Use the cloud.
The number and quality of public, commercially available cloud-based service offerings are growing fast. Using the cloud is a great option for start-ups, research projects, Web 2.0 developers, or niche players who want to "load and go." You can use the cloud for:

  • Offloading overburdened IT infrastructure (temporarily or permanently). For example, why purchase separate systems for software development and testing when those tasks could be accomplished using cloud services?
  • Accommodating peak load, batch processing jobs, or spikes in demand for services
  • Experimenting with new software tools without having to purchase them

Build the cloud.
Options include building a private cloud for internal use, building a public cloud that can become a new source of revenue, or building a hybrid cloud that combines the two.

Sun expects to see huge growth in the deployment of private clouds. Many large enterprises understand the economic benefits of cloud computing but want to ensure strict enforcement of security policies, compliance with regulations, or other constraints that make public clouds impractical at this point in time.

The momentum behind public and hybrid cloud construction is also growing as enterprises and service providers gain experience with the cloud model. The high growth rates of public cloud offerings available today will no doubt accelerate that momentum.

Be the cloud.
Your organization can become a cloud computing service provider or "cloud aggregator," offering multiple types of cloud services. After all, the list of services enabled by cloud computing doesn't begin and end with SaaS, PaaS, and IaaS. Specialized cloud forms include payment as a service, security as a service, backup as a service, collaboration as a service, the list goes on.