Cloud Computing

Cloud computing provides the means of accessing applications as utilities over the Internet. It removes the need for locally installed desktop based applications. Cloud computing itself is the configuring and accessing of hardware and software resources remotely.

Applications such as email, web conferencing, customer relationship management can be executed on the cloud. It offers platform independency as the software is not required to be installed locally on each machine that will use it.

There are two working models for cloud computing: Deployment models and service models.

Deployment Models

Defines the type of access to the cloud

  • Public
  • Private
  • Hybrid
  • Community

Public Cloud

The public cloud allows systems and services to be easily accessible to the general public. They may be less secure because of its openness

Private Cloud

The private cloud allows systems and services to be accessible within an organisation. It is more secure because of this nature

Community Cloud

The community cloud allows systems and services to be accessible by a group of organisations.

Hybrid Cloud

A mixture of public and private clouds. Critical activities are performed on the more secure private cloud, while the non-critical activities are performed on the public cloud.

Service Models

Cloud computing is based on service models.

There are three basic service models:

  • Infrastructure as a Service - IaaS
  • Platform as a Service - PaaS
  • Software as a Service - SaaS
  • (Anything as a Service - XaaS)
    • Network as a Service
    • Business as a Service
    • Identity as a Service
    • Database as a Service
    • Strategy as a Service

Infrastructure as a Service - IaaS

Provides access to fundamental resources such as physical machines, virtual storage, networking, etc.

Platform as a Service - PaaS

PaaS provides the runtime environment for applications, development and deployment tools etc.

Software as a Service - SaaS

SaaS allows for the use of software applications as a service to end users...

Type of SaaS applications include

  • Billing and invoicing systems
  • CRM applications
  • Help desk applications
  • HR solutions

The software applications are maintained and updated by the vendor. The license to the software can be subscription based or usage based, and can be billed on a recurring basis. SaaS applications are cost effective since they do not require any maintenance on the end user's part.

They are available on demand, can be quickly scaled to meet demand, and they offer a shared data model, so that multiple users can share a single instance of infrastructure. All users run the same version of the software, meaning there are fewer compatibility issues, and appropriate training can be completed easily.

 

Advantages of Cloud Computing

  • High efficiency, reliability and flexibility
  • Cost effective
  • On demand self service
  • Resources are available on network
  • No additional software is required (or a minimal amount)
  • Cloud computing offers load balancing
  • Optimum utilisation of hardware (resulting in cost efficiency) - It just requires a network connection

Risks with Cloud Computing

Security and Privacy

Since data management is provided by a 3rd part, it is always a risk to hand over data to these providers. Although appropriate measures are taken to secure information, a security breach may result in the loss of customers for that cloud provider

Lock in

It is difficult for the customer to switch between cloud providers. This results in dependancy on a particular service provider.

Isolation failure

Involves that failure of the isolation mechanism that separates storage, memory and routing between different customers of the cloud provider

Incomplete data deletion

Extra copies of the data may be stored nearline or offline for backup reasons, so when a deletion request is sent for a particular set of data, it may not be completely removed from the provider's cloud.

Characteristics of Cloud Computing

On demand self service

Cloud computing allows users to use web services and resources on demand.

Broad network access

Since cloud computing is completely web based, it can be accessed from anywhere and at any time.

Resource Pooling

Cloud computing allows multiple customers to share a pool of resources. One can share single physical instances of hardware, database and other basic infrastructure

Rapid Elasticity

It is very easy to scale the resources vertically or horizontally at any time. Scaling of resources means the ability to deal with increasing or decreasing demand in a timely manner.