Cloud Computing Elements
A hybrid computing model enables an organization to leverage both public and private computing services to create a more flexible and cost-effective computing utility:
The public cloud is a set of hardware, networking, storage, service, and interfaces owned and operated by a third party for use by other companies or individuals.
A private cloud is a set of hardware, networking, storage, service, and interfaces owned and operated by an organization for the use of its employees, partners, and customers.
In a hybrid cloud environment, an organization combines services and data from a variety of models to create a unified, automated, and well-managed computing environment.
Whether your cloud is public, private, or hybrid, you’ll need a cloud provider that provides elasticity, scalability, provisioning, standardization, and billed usage. Elasticity is important because it means that you are able to use a service for a long or short period of time based on need. You can add more services from a self-service portal rather than wait for IT to do the heavy lifting for you. Increasingly, as companies begin to understand that they will use a combination of different platforms to meet different business needs, the hybrid cloud will become the foundation for computing. The advent of the hybrid cloud will also help redefine the purpose and use of the traditional data center as well.
One of the fundamental differences between cloud computing and traditional computing is the way a cloud is designed to manage resources. Whereas the data center is designed to manage applications, the cloud is intended to manage a pool of resources. A pool of resources is precisely what it sounds like — a set of shared, configured services that are independent of physical location.
For example, suppose you are a cloud provider. You do not want customers to have to select one server or one storage system; rather, the customer is abstracted from that idea. Instead, the customer simply says I need some more storage, and those storage resources are pooled together from various physical systems to create a set of resources. Customers never know which storage system they are accessing. To make resource pooling work, it’s important that each element that is pooled be written with service-oriented constructs in mind. This means that each resource is written as an independent service without dependencies and with well-defined interfaces.