1. 1
Chapter 2 – Cloud Computing
Define - Cloud Computing
“ Cloud computing is 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. ”
“ Cloud computing refers to the delivery of computing resources over
the Internet. Instead of keeping data on your own hard drive or
updating applications for your needs, you use a service over the
Internet at another location - to store your information or use its
applications. ”
Cloud services allow individuals and businesses to use software and
hardware that are managed by third parties at remote locations.
Examples of cloud services include online file storage, social networking
sites, webmail, and online business applications. The cloud computing
model allows access to information and computer resources from
anywhere that a network connection is available. Cloud computing
provides a shared pool of resources, including data storage space,
networks, computer processing power, and specialized corporate and
user applications.
2. 2
Cloud Computing Service Models / Cloud Service
Delivery Models
Based on the usages of data and applications cloud computing services
are broadly classified in three different types called as cloud service
models.
1. Software as a Service(SaaS)
2. Platform as a Service (Paas)
3. Infrastructure as a Service (Iaas)
3. 3
Software as a Service(SaaS) –
The first model is Software as a Service which provides a platform in
which the users access the software from the cloud. The users of
SaaS will not have to worried about managing the cloud infrastructure
and platform on which the application is running. The software
installation and operation is the responsibility of the service providers
and already available by using IaaS and PaaS. This is typically end
user applications delivered on demand over a network on a pay per
use basis. The examples of SaaS include: google apps,
MicrosoftOffice365, Onlive, GT Nexus, Marketo, and TradeCard. These
applications are hosted in “the cloud” and can be used for a wide
range of tasks for both individuals and organizations.
Advantages of SaaS –
#1. No additional infrastructure or platform required to run the
applications, as it provided by the service provider (IaaS and PaaS).
#2. Software Applications are ready to use once the user subscribes.
The user only have to pay for software not for infrastructure or
platform setup.
#3. With SaaS services application development is simple. So anyone
can develop an application with less technical knowledge any time by
using web browser.
#4. Software updating is automatic i.e if any updates are available
online to existing user, offered free of charges.
4. 4
#5. SaaS provides mobility to the user where applications can be
accessed via any internet enabled device, which makes it ideal for
those who use a number of different devices, such as internet enabled
phones and tablets, and those who don’t always use the same
computer.
#6. The services are not isolated, application specific or location
dependent. So users in various locations can work together provided
they as connected through a communication medium.
#7. There are no initial setup costs is required with SaaS, as SaaS
offered with other services.
5. 5
Platform as a Service (Paas) –
Here, a layer of software, or development environment is encapsulated
& offered as a service, upon which other higher levels of service can
be built. The customer has the freedom to build his own applications,
which run on the providers infrastructure. To meet manageability and
scalability requirements of the applications, PaaS providers offer a
predefined combination of OS and application servers, such as LAMP
platform (Linux, Apache, MySql and PHP), restricted J2EE, Ruby etc.
Google’s App Engine, Force.com, etc are some of the popular PaaS
examples.
Advantages of PaaS –
#1. The user doesn’t have to invest for physical infrastructure as it will
be provided by IaaS on demand. So this gives fully mobility to focus
on the development of applications.
#2. With PaaS services application development is simple. So anyone
can develop an application with less technical knowledge by using web
browser.
#3. User can have control over the applications that are installed
within their platforms and can create a platform that suits their specific
requirements. They can pick and choose the features they feel as
necessary.
#4. In PaaS the applications can be changed or modified if required.
#5. The services are not isolated, application specific or location
dependent. So users in various locations can work together provided
they are connected through a communication medium.
6. 6
#6. Security of users data and the application is the responsibility of
the cloud provider. Data security, backup and recovery are the major
security issues.
7. 7
Infrastructure as a Service (Iaas) –
IaaS provides basic storage and computing capabilities as standardized
services over the network. Servers, storage systems, networking
equipment, data centre space etc. are pooled and made available to
handle workloads. The customer would typically deploy his own software
on the infrastructure. Some common examples are Amazon, GoGrid, 3
Tera, etc.
Advantages of IaaS –
#1. Resources are available on demand as and when the user
requires it. That means the user will not have to worry about the
Infrastructure required to run the application. so this scalable.
#2. In IaaS the Infrastructure i.e the virtualized environment is set up
and maintained by the cloud provider. So no investment in hardware
for the users. As it saves the implementation cost and time of
execution.
#3. The service can be accessed on demand and the client only pays
for the resource or application used not for the Infrastructure.
#4. The service can be accessed from any location 24X7 provided
there is an internet connection. So IaaS is location independent.
#5. Physical security of users data is the responsibility of the cloud
provider. So the time required to give security to data is saved.
#6. The chance of system failure is less. Any case of failure will be
smoothly handled by the service provider. So it is fault tolerant.
8. 8
Deployment Model
According to the usages of data and applications required by the users
the cloud computing models are broadly classified in four different types
called as cloud deployment models.
1. Public Cloud
2. Private Cloud
3. Hybrid Cloud
4. Community Cloud
Public Cloud –
Cloud is called as Public cloud when the services offered are open for
Public use. Public clouds are owned and operated by third parties;
they deliver superior economies of scale to customers, as the
infrastructure costs are spread among a mix of users, giving each
individual client an attractive low-cost, “Pay-as-you-go” model. All
customers share the same infrastructure pool with limited configuration,
security protections, and availability variances. These are managed and
supported by the cloud provider. One of the advantages of a Public
cloud is that they may be larger than an enterprises cloud, thus
providing the ability to scale seamlessly, on demand. General Example
for public cloud can be Amazon AMS, Google.
9. 9
Private Cloud –
Private clouds are built exclusively for a single enterprise. They aim to
address concerns on data security and offer greater control, which is
typically lacking in a public cloud. There are two variations to a private
cloud:
1. On-premise Private Cloud –
On-premise private clouds, also known as internal clouds are
hosted within one‟s own data center. This model provides a more
standardized process and protection, but is limited in aspects of
size and scalability.
IT departments would also need to incur the capital and
operational costs for the physical resources. This is best suited
for applications which require complete control and configurability
of the infrastructure and security.
2. Externally hosted Private Cloud –
This type of private cloud is hosted externally with a cloud
provider, where the provider facilitates an exclusive cloud
environment with full guarantee of privacy.
This is best suited for enterprises that don‟t prefer a public cloud
due to sharing of physical resources.
10. 10
Hybrid Cloud –
Hybrid Clouds combine both public and private cloud models. With a
Hybrid Cloud, service providers can utilize 3rd party Cloud Providers in
a full or partial manner thus increasing the flexibility of computing. It
takes all the unique features of mentioned clouds and tries to eliminate
all the disadvantages of the above clouds. Such a combinations help
the organization to coonect with each other for their temporary needs.
The Hybrid cloud environment is capable of providing on-demand,
externally provisioned scale. The ability to augment a private cloud with
the resources of a public cloud can be used to manage any
unexpected surges in workload.
Community Cloud –
The Community Cloud shares the infrastructure among several
organizations, belonging to the same community and having specific
objectives. It is not as expensive as private cloud, but not so cheap
as public cloud. The cost of community cloud is divided among the
users of community.
11. 11
Advantages of Cloud Computing
# 1. Convenience - You can access your data anywhere you can
connect to the Internet.
# 2. Backups - You have a backup of your data in case your local
computer crashes.
# 3. Collaboration - With your permission, others can access, view,
and modify your documents.
# 4. Flexibility for growth - The cloud is easily scalable so companies
can add or subtract resources based on their needs. As companies
grow, their system will grow with them.
# 5. Efficient recovery - Cloud computing delivers faster and more
accurate retrievals of applications and data. With less downtime, it is
the most efficient recovery plan.
# 6. Almost Unlimited Storage - Storing information in the cloud gives
you almost unlimited storage capacity. Hence, you no more need to
worry about running out of storage space or increasing your current
storage space availability.
# 7. Cost Efficient - Cloud computing is probably the most cost efficient
method to use, maintain and upgrade.
# 8. Increased data reliability & Quick Deployment.
# 9. Latest Versions availability.
12. 12
Disadvantages of Cloud Computing
# 1. Slow speeds - Uploading and downloading of large documents may
take a long time.
# 2. Limited features - If you use remote software that’s provided by
the storage service to manipulate and modify your data, it usually lacks
the features of a program running locally.
# 3. Storage limit - While your local hard drive may be able to hold
500GB or more of data, unfortunately a remote server may only allow
you to freely store very few amount of data. If you want more space,
you’ll have to pay.
# 4. Security and privacy in the Cloud - Security is the biggest concern
when it comes to cloud computing. By a remote cloud based
infrastructure, a company essentially gives away private data and
information, things that might be sensitive and confidential. It is then
up to the cloud service provider to manage, protect and retain them,
thus the provider’s reliability is very critical.
# 5. Data stored on the cloud is safe, replicated across multiple
machines. But in case users data goes missing, then user don’t have
physical or local backup.
13. 13
# 6. Limited Control - Since the cloud infrastructure is entirely owned,
managed and monitored by the service provider, it transfers minimal
control over to the customer. The customer can only control and
manage the applications, data and services operated on top of that,
not the backend infrastructure itself. Key administrative tasks such as
server shell access, updating and firmware management may not be
passed to the customer or end user.
# 7. Technical Difficulties - Certainly the smaller business will enjoy not
having to deal with the daily technical issues and will prefer handing
those to an established IT company. The whole setup is dependent on
internet access, thus any network or connectivity problems will render
the setup useless. It might take several minutes for the cloud to detect
a server fault and launch a new instance from an image snapshot.
14. 14
Security & Privacy Issues of Cloud Computing
The security issues in cloud computing environment are greatest
challenge of information system. Understanding the risks of the security
and privacy in the cloud computing environment and developing efficient
and effective solutions for it is really a difficult task. Confidentiality,
integrity, reliability and availability are widely used terminology for
security issues in cloud computing environment means that the users
data in the cloud should remain confidential and protected from
unauthorized access.So the implementation of the cloud computing
architecture must be ensured about the security of its resource nodes.
Some of the security issues occur in cloud computing are listed below:
# 1. Cloud Security –
This includes organizational and technical issues related to keeping
cloud services at an acceptable level of security by ensuring the
computing resources available and usable by its authentic users. These
risks can be overcome by using encrypted file systems, security
applications, data loss software and buying security hardware.
# 2. Privacy in Cloud –
Privacy is the process of making sure that the users data remains
private, confidential and restricted from unauthorized users. Due to data
virtualization the users data may be stored in various virtual data
centers rather than in the local computers. So the unauthorized users
may access the private information of the authorized users. Data
authentication is one of the most popular options of security before
putting the sensitive data into cloud.
15. 15
# 3. Data integrity and Reliability –
An important aspect of cloud services is availability of users data with
reliability. It is necessary for the cloud service provider to ensure the
integrity by making their system capable to check over the cloud data
from any unauthorized access.
# 4. Performance and Bandwidth cost –
The major issues that can affect performance in cloud based
environment is due to the unethical transaction-oriented and data
access applications. So the users who are at a long distance from
cloud providers may experience high latency and delay, this is due to
the availability bandwidth in the network. Bandwidth cost may be low
for smaller Internet-based applications, which are not data intensive,
but could significantly, grow for data-intensive applications. The service
providers instead of saving money on hardware, they should spend
more for the bandwidth. This can deliver intensive and complex
application over the network.
# 5. Legal Issues –
In addition, providers and customers must consider legal issues, such
as contracts and E-Discovery, and the related laws, which may vary
from one country to another.