Thursday, August 30, 2012

Cloud Computing - Introduction

Cloud Computing: The most often quoted and widely accepted definitions of Cloud Computing is from National Institute of Standards and Technology's (NIST)
" Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g. servers, network, storage, application and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."

This cloud model is composed of five essential characteristics, three service models, and four deployment models as defined by NIST.


Essential Characteristics:
  • On-Demand Self-Service – A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider. Consumer view catalogue via web interface to request for a service 
  • Broad Network Access - Capabilities are available over the network and accessible from thin or thick clients like mobile, laptop, tablet etc.
  • Resource PoolingThe 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. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, and network bandwidth. 
  • 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 capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
  • Measured Service - Cloud systems automatically control and optimize resource use by leveraging a metering capability (Typically this is done on a pay-per-use or charge-per-use basis.) at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.

 
Cloud Service and Deployment Models : three primary cloud service models are Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). cloud deployment models are Public, Private, Community, and Hybrid.

Cloud Service Models:

Infrastructure-as-a-Service (IaaS) : The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).

IaaS is the base layer of the cloud services stack. It serves as the foundation for both the SaaS and PaaS.
Amazon Elastic Compute Cloud (Amazon EC2) is an example of IaaS

Platform-as-a-Service (PaaS)  : The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.

       Google App Engine and Microsoft Windows Azure Platform are examples of PaaS.

Software-as-a-Service (SaaS): The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure2. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

     Example Salesforce.com is a provider of SaaS-based CRM applications, Google's gmail

Deployment Models: cloud computing is classified into four deployment models—public, private, community, and hybrid.

Public: In a public cloud model, the cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider.

Private :  The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.
 
Community:The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises.
 
Hybrid : The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).

Cloud Enabling Technologies – Grid Computing, Utility Computing, Virtualization, Service Oriented Architecture (SOA)


Cloud computing infrastructure, challenges of cloud computing: Cloud computing infrastructure usually consists of the following layers:

·    Physical infrastructure: The physical infrastructure consists of physical computing resources, which include physical servers, storage systems, and networks.
·    Virtual infrastructure: Virtualization enables fulfilling some of the cloud characteristics, such as resource pooling and rapid elasticity.
·    Applications and platform software: - SaaS , PaaS

Cloud management and service creation tools:  The cloud management and service creation tools layer includes three types of software:

·  Physical and virtual infrastructure management software
·  Unified management software - The key function of the unified management software is to   automate the creation of cloud services.
·  User-access management software

Cloud Optimized Storage: Cloud-optimized storage typically leverages object-based storage technology. Key characteristics of cloud-optimized storage solution are:

• Massively scalable infrastructure that supports large number of objects across a globally distributed infrastructure.   
• Unified namespace that eliminates capacity, location, and other file system limitations 
• Metadata and policy-based information management capabilities that optimizes data protection, availability and cost, based on service levels 
• Secure multitenancy that enables multiple applications to be securely served from the same infrastructure. Each application is securely partitioned and data is neither co-mingled nor accessible by other tenants 
• Provide access through REST and SOAP web service APIs and file-based access using variety of client devices

Cloud Challenges – Consumer’s Perspective: Security and regulation, Network Latency, Supportability, Vendor lock-in

Provider’s Perspective: Service warranty and service cost, Complexity in deploying vendor software in the cloud, No standard cloud access interface (API).

Reference and further reading

http://www.nist.gov/itl/csd/cloud-102511.cfm
http://csrc.nist.gov/publications/PubsSPs.html#800-145

No comments: