Architecture - Cloud Computing (PaaS, SaaS, …)

Definition

Ellison: The only thing new about cloud computing is the word “cloud” - it's just a computer attached to the Internet

Cloud computing is a term that defines the use of computing resources from the internet. In cloud computing, software application is provided as a “service offering” and hence the term SaaS (Software as service).

Further the cloud computing is characterised by:

  • service on demand
  • Is elastic
  • Is paid by usage

Introduction to Cloud Computing

National Institute of Standards and Technology, an agency of US department of Commerce, defines cloud computing as a model for enabling 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.

According to NIST, this cloud model promotes availability and is composed of:

  • five essential characteristics,
  • three service models,
  • and four deployment models.

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.

Broad network access

Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms mobile phones, laptops, and PDAs).

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. 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, network bandwidth, and virtual machines.

Rapid elasticity

Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer,

Measured Service

Cloud systems automatically control and optimize resource use by monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.

Service Models

Cloud Software as a Service (SaaS)

The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser web- based email). 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-specification application configuration settings.

Cloud 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 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 application hosting environment configuration.

See Architecture - Cloud Platform as a Service (Paas)

_

Cloud 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, deployed applications, and possibly limited control of select networking components (e. g., host firewalls). Amazon’s EC2 and S3 are examples of this service model.

Deployment Models

Private Cloud

The cloud infrastructure is operated solely for an organization. It may be managed by the organisation or a third party and may exist on premise or off premise

Community cloud

The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.

Public cloud

The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.

Hybrid cloud

The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability cloud bursting for load-balancing between clouds).

Choosing the right Deployment Model

The choice of the right deployment model is influenced by a number of factors including cost, manageability, integration, security, compliance and quality of service. The following table summarizes how each deployment model compares on the influencing attributes:

_

Based on the above it can be inferred that although cloud computing offers compelling benetits in terms of high high availability, elastic scalability and fast deployments; serious

Cost


Powered by ComboStrap