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.
Defines the type of access to the 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
The private cloud allows systems and services to be accessible within an organisation. It is more secure because of this nature
The community cloud allows systems and services to be accessible by a group of organisations.
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.
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
It is difficult for the customer to switch between cloud providers. This results in dependancy on a particular service provider.
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.
Cloud computing allows multiple customers to share a pool of resources. One can share single physical instances of hardware, database and other basic infrastructure
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.