Network Computing is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Cloud Computing Isn't The Emperor's New Clothes

There is a lot of BS being spewed in the press and by bloggers, analysts, and pundits about cloud computing. There is also the requisite back-lash that cloud is just hype. A commenter on W. David Gardner's news story "'Culture' Biggest Hurdle To Cloud Computing"  said "'Cloud' is just the Emperors New Clothes, much like Utility Computing and ILM [information lifecycle management].  Why can't the vendors be honest and admit that 'Cloud Computing' is just outsourcing/hosting?'"  Maybe because cloud computing is more than just "outsourcing/hosting."

I might as well as throw my hat into the ring and define cloud computing along with Kevin Hartig, Jim Metzler, Chris Hoff, and NIST. Forget about technologies, implementation details and location. Those are all distractions in trying to define cloud computing.

Cloud computing fundamentally changes how applications (which includes computing, networking, storage, operating systems, program code, etc) are provisioned, managed and delivered. Products like software virtualization make cloud easier to implement, but aren't a requirement for cloud computing. Ultimately, I want to be able to define a set of computing requirements like processing power, memory, networking, and storage that I need. Deploy the OS and application to achieve my goal, and then be able to effortlessly scale my requirements.

Conceptually, cloud computing describes several abstraction layers:

  1. Server/OS abstraction layer. The OS is the interface to the hardware. To make provisioning and deployment easier, I don't want to worry about which particular machine to use. I want to select my processing needs and click a big red button to make it so.
  2. OS/storage layer. Similar to servers, I need X amount of storage for my application and I don't care where it is or how I get it. I just need the space.
  3. OS and Application/network layer. I need the application to perform well, but I don't want server identity tied to an IP address. I want to be able to move my applications around but still have them reachable through a name service like DNS. Like servers and storage, I want to be able to define my bandwidth, latency and loss requirements.
  4. Server management layer. I want a set of APIs and interfaces to monitor and manage the cloud stuff. I also want the server management to meet my requirements, but without adding to my management burden.
  5. Process/human layer. I want to hide as much detail as possible and automate as many functions as I can so that people can focus on building applications, not managing servers, storage and networking.

Taken together, cloud computing becomes a computing resource that lets application developers and managers focus on the things they need to do like developing and managing applications rather than worrying about the implementation details of which server and network to use. These abstractions also allow useful features such as: dynamically scaling up or down based on demand; better resiliency by moving applications from server to another or one data center to another will little impact on users; speeding provisioning and time to delivery; and letting your highly paid engineers work on interesting problems rather than mundane server management.

Cloud computing becomes a resource which you can allocate and manage like office space.  The cloud metaphor means the details of hardware and service provisioning are hidden from you. That is a powerful computing model. Pure hosting/outsourcing shares little with cloud computing. In hosting/outsourcing, you lease a server, storage, and networking in fixed capacities which you then have to provision and manage. If you want more, you have to contract to get more, then provision that and add it to the pool. It's largely a manual process that you have to think about.

  • 1