Cloud computing enables ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Five essential characteristics
On-demand self-service: A consumer can unilaterally provision computing capabilities, such as server time and network storage, automatically as needed without requiring human interaction with each service provider.
Broad network access: Capabilities are available over the network and accessed via standard mechanisms that promote use by heterogeneous thin or thick client platforms (mobile phones, tables, laptops, workstations).
Resource pooling: The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.
Rapid elasticity: Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the resources appear to be unlimited.
Measured service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at a level of abstraction that's appropriate to the type of service (storage, processing, band-width, or active user accounts).
Commonly characterized as providing three types of functionality, referred to IaaS, PaaS, and SaaS.
Infrastructure as a Service (IaaS): Offers users the basic building blocks of computing: processing, network connectivity, and storage. (Other capabilities are needed as well such as user accounts, usage tracking, and security).
Platform as a Service (PaaS): Instead of offering low-level functions within the operating system, offers higher-level programming frameworks that a developer interacts with to obtain computing services. For example, rather than open a file and write a collection of bits to it, in a PaaS environment the developer simply calls a function and then provides the function with the collection of bits. In a PaaS environment, the developer simply calls a function and then provides the function with the collection of bits. The PaaS framework handles the work of opening the file, writing the bits to the file, and ensuring the bits have been received by the system. The PaaS framework provider takes care of backing up the data and managing the collection of backups.
Software as a Service (SaaS): All application functionality is delivered over a network in a pretty package. The user needs to do nothing more than the use the application; the SaaS provider deals with the hassle associated with creating and operating the application, segregating user data, providing security for each user as well as the overall SaaS environment.
Public Cloud Computing: Anyone can use it
Private Cloud Computing: IT organizations use hosted services like AWS in their own data centers available for their own users.
Hybrid Cloud Computing: Organizations use a combination of private and public cloud environments.
Comments