unit 1
unit 1
UNIT-I INTRODUCTION
Introduction - Historical Development - Cloud Computing Architecture – The Cloud Reference Model-
NIST Cloud Computing Reference Architecture – Cloud Characteristics – Cloud Deployment Models:
Public, Private, Community, Hybrid Clouds - Cloud Delivery Models: IaaS, PaaS, SaaS – Open Source
Private Cloud Software: Eucalyptus, Open Nebula, Open Stack.
1. Introduction
Cloud Computing is the delivery of computing services such as servers, storage, databases, networking,
software, analytics, intelligence, and more, over the Cloud (Internet).
Cloud Computing provides an alternative to the on-premises datacentre. With an on-premises datacentre,
we have to manage everything, such as purchasing and installing hardware, virtualization, installing the
operating system, and any other required applications, setting up the network, configuring the firewall,
and setting up storage for data. After doing all the set-up, we become responsible for maintaining it
through its entire lifecycle.
But if we choose Cloud Computing, a cloud vendor is responsible for the hardware purchase and
maintenance. They also provide a wide variety of software and platform as a service. We can take any
required services on rent. The cloud computing services will be charged based on usage.
The cloud environment provides an easily accessible online portal that makes handy for the user to
manage the compute, storage, network, and application resources. Some cloud service providers are in the
following figure.
Cost: It reduces the huge capital costs of buying hardware and software.
Speed: Resources can be accessed in minutes, typically within a few clicks.
Scalability: We can increase or decrease the requirement of resources according to the business
requirements.
Productivity: While using cloud computing, we put less operational effort. We do not need to apply
patching, as well as no need to maintain hardware and software. So, in this way, the IT team can be more
productive and focus on achieving business goals.
Reliability: Backup and recovery of data are less expensive and very fast for business continuity.
Security: Many cloud vendors offer a broad set of policies, technologies, and controls that strengthen our
data security.
In 2002, Amazon started Amazon Web Services (AWS), Amazon will provide storage, computation
over the internet. In 2006 Amazon will launch Elastic Compute Cloud Commercial Service which is
openforEverybody
After that in 2009, Google Play also started providing Cloud Computing Enterprise Application as
other companies will see the emergence of cloud Computing they also started providing their cloud
services. Thus, in 2009, Microsoft launch Microsoft Azure and after that other companies like
Alibaba, IBM, Oracle, HP also introduces their Cloud Services. In today the Cloud Computing
become very popular and important skill.
Advantages :
It is easier to get backup in cloud.
It allows us easy and quick access stored information anywhere and anytime.
It allows us to access data via mobile.
It reduces both hardware ad Software cost, and it is easily maintainable.
One of the biggest advantage of Cloud Computing is Database Security.
Disadvantages :
It requires good internet connection.
User have limited control on the data.
1. In 1950 the main frame and time sharing are born, introducing the concept of shared computer
resources.
2. During this time word cloud was not in use.
3. Cloud computing is believed to have been invented by Joseph Carl Robnett Licklider in the 1960s
with his work on ARPANET to connect people and data from anywhere at any time.
4. In 1969 the first working prototype of ARPANET is launched.
5. In 1970 the word “Client-Server” come in to use.
6. Client server defines the computing model where client access the data and applications from a central
server.
7. In 1995, pictures of cloud are started showing in diagrams, for not technical people to understand.
8. At that time AT & T had already begun to develop an architecture and system where data would be
located centrally.
9. In 1999 the salesforce.com was launched, the first company to make enterprise applications available
from a website.
10. In 1999, the search engine Google launches.
11. In 1999, Netflix was launched, introducing the new revenue way.
12. In 2003, web2.0 is born, which is characterized by rich multimedia. Now user can generate content.
13. In 2004 Facebook launches giving users facility to share themselves.
14. In 2006, Amazon launched Amazon Web Services(AWS), giving users a new way.
15. In 2006, Google CEO Eric Schmidt uses the word “cloud” as an industry event.
16. In 2007, Apple launches iPhone, which could be used on any wireless network.
17. In 2007, Netflix launches streaming services, and live video watching is born.
18. In 2008, private cloud come in to existence.
19. In 2009, browser based application like google apps are introduced.
20. In 2010, hybrid cloud (private+public cloud) comes in to existence.
21. In 2012, Google launches google drive with free cloud storage.
22. Now cloud adoption is present, which makes Cloud computing more stronger.
23. The IT services progressed over the decades with the adoption of technologies such as Internet Service
Providers (ISP) Application Service Providers.
As we know, cloud computing technology is used by both small and large organizations to store the
information in cloud and access it from anywhere at anytime using the internet connection.
o
Front End
The front end is used by the client. It contains client-side interfaces and applications that are required to
access the cloud computing platforms. The front end includes web servers (including Chrome, Firefox,
internet explorer, etc.), thin & fat clients, tablets, and mobile devices.
Back End
The back end is used by the service provider. It manages all the resources that are required to provide
cloud computing services. It includes a huge amount of data storage, security mechanism, virtual
machines, deploying models, servers, traffic control mechanisms, etc.
1. Client Infrastructure
Client Infrastructure is a Front end component. It provides GUI (Graphical User Interface) to interact
with the cloud.
2. Application
The application may be any software or platform that a client wants to access.
3. Service
Cloud Services manages that which type of service you access according to the client’s requirement.
i. Software as a Service (SaaS) – It is also known as cloud application services. Mostly, SaaS
applications run directly through the web browser means we do not require to download and install these
applications. Some important example of SaaS is given below –
ii. Platform as a Service (PaaS) – It is also known as cloud platform services. It is quite similar to
SaaS, but the difference is that PaaS provides a platform for software creation, but using SaaS, we can
access software over the internet without the need of any platform.
iii. Infrastructure as a Service (IaaS) – It is also known as cloud infrastructure services. It is responsible
for managing applications data, middleware, and runtime environments.
Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco Metapod.
4. Runtime Cloud
Runtime Cloud provides the execution and runtime environment to the virtual machines.
5. Storage
Storage is one of the most important components of cloud computing. It provides a huge amount of
storage capacity in the cloud to store and manage data.
6. Infrastructure
It provides services on the host level, application level, and network level. Cloud infrastructure includes
hardware and software components such as servers, storage, network devices, virtualization software, and
other storage resources that are needed to support the cloud computing model.
7. Management
Management is used to manage components such as application, service, runtime cloud, storage,
infrastructure, and other security issues in the backend and establish coordination between them.
8. Security
Security is an in-built back end component of cloud computing. It implements a security mechanism in
the back end.
9. Internet
The Internet is medium through which front end and back end can interact and communicate with each
other.
4. The Cloud Reference Model
The reference model for cloud computing is an abstract model that characterizes and standardizes a cloud
computing environment by partitioning it into abstraction layers and cross-layer functions.
If we look in to the reference model as seen in above image we will find classification of cloud
computing services:
1. Infrastructure-as-a-Service (IaaS),
2. Platform-as-a-Service (PaaS), and
3. Software-as-a-Service (SaaS).
4. Web 2.0
1. Infrastructure as a service (IaaS)
Infrastructure as a service (IaaS) is a cloud computing offering in which a vendor provides users access to
computing resources such as servers, storage and networking. To read more about IaaS click here.
2. Platform as a service (PaaS)
Platform as a service (PaaS) is a cloud computing offering that provides users with a cloud environment
in which they can develop, manage and deliver applications. To read more about PaaS click here.
3. Software as a service (SaaS)
Software as a service (SaaS) is a cloud computing offering that provides users with access to a vendor’s
cloud-based software. Users do not install applications on their local devices. Instead, the applications
reside on a remote cloud network accessed through the web or an API. Through the application, users can
store and analyze data and collaborate on projects. To read more about SaaS click here.
4. Web 2.0
Web 2.0 is the term used to describe a variety of web sites and applications that allow anyone to create
and share online information or material they have created. A key element of the technology is that it
allows people to create, share, collaborate & communicate.
5. NIST Cloud Computing Reference Architecture
NIST Cloud Computing reference architecture defines five major performers:
Cloud Provider
Cloud Carrier
Cloud Broker
Cloud Auditor
Cloud Consumer
1. Cloud Service Providers: A group or object that delivers cloud services to cloud consumers or end-
users. It offers various components of cloud computing. Cloud computing consumers purchase a
growing variety of cloud services from cloud service providers. There are various categories of cloud-
based services mentioned below:
IaaS Providers: In this model, the cloud service providers offer infrastructure components that
would exist in an on-premises data center. These components consist of servers, networking, and
storage as well as the virtualization layer.
SaaS Providers: In Software as a Service (SaaS), vendors provide a wide sequence of business
technologies, such as Human resources management (HRM) software, customer relationship
management (CRM) software, all of which the SaaS vendor hosts and provides services through the
internet.
PaaS Providers: In Platform as a Service (PaaS), vendors offer cloud infrastructure and services
that can access to perform many functions. In PaaS, services and products are mostly utilized in
software development. PaaS providers offer more services than IaaS providers. PaaS providers
provide operating system and middleware along with application stack, to the underlying
infrastructure.
2. Cloud Carrier: The mediator who provides offers connectivity and transport of cloud services
within cloud service providers and cloud consumers. It allows access to the services of the cloud
through Internet networks, telecommunication, and other access devices. Network and telecom carriers
or a transport agent can provide distribution. A consistent level of services is provided when cloud
providers set up Service Level Agreements (SLA) with a cloud carrier. In general, Carrier may be
required to offer dedicated and encrypted connections.
3. Cloud Broker: An organization or a unit that manages the performance, use, and delivery of cloud
services by enhancing specific capability and offers value-added services to cloud consumers. It
combines and integrates various services into one or more new services. They provide service arbitrage
which allows flexibility and opportunistic choices. There are major three services offered by a cloud
broker:
Service Intermediation.
Service Aggregation.
Service Arbitrage.
4. Cloud Auditor: An entity that can conduct independent assessment of cloud services, security,
performance, and information system operations of the cloud implementations. The services that are
provided by Cloud Service Providers (CSP) can be evaluated by service auditors in terms of privacy
impact, security control, and performance, etc. Cloud Auditor can make an assessment of the security
controls in the information system to determine the extent to which the controls are implemented
correctly, operating as planned and constructing the desired outcome with respect to meeting the
security necessities for the system. There are three major roles of Cloud Auditor which are mentioned
below:
Security Audit.
Privacy Impact Audit.
Performance Audit.
5. Cloud Consumer: A cloud consumer is the end-user who browses or utilizes the services provided
by Cloud Service Providers (CSP), sets up service contracts with the cloud provider. The cloud
consumer pays peruse of the service provisioned. Measured services utilized by the consumer. In this, a
set of organizations having mutual regulatory constraints performs a security and risk assessment for
each use case of Cloud migrations and deployments.
Cloud consumers use Service-Level Agreement (SLAs) to specify the technical performance
requirements to be fulfilled by a cloud provider. SLAs can cover terms concerning the quality of
service, security, and remedies for performance failures. A cloud provider may also list in the SLAs a
set of limitations or boundaries, and obligations that cloud consumers must accept. In a mature market
environment, a cloud consumer can freely pick a cloud provider with better pricing and more
favourable terms. Typically, a cloud provider’s public pricing policy and SLAs are non-negotiable,
although a cloud consumer who assumes to have substantial usage might be able to negotiate for better
contracts.
Deployment Models
The cloud deployment model identifies the specific type of cloud environment
based on ownership, scale, and access, as well as the cloud’s nature and
purpose. The location of the servers you’re utilizing and who controls them are
defined by a cloud deployment model. It specifies how your cloud infrastructure
will look, what you can change, and whether you will be given services or will
have to create everything yourself. Relationships between the infrastructure and
your users are also defined by cloud deployment types.
Different types of cloud computing deployment models are:
1. Public cloud
2. Private cloud
3. Hybrid cloud
4. Community cloud
5. Multi-cloud
Let us discuss them one by one:
1. Public Cloud
The public cloud makes it possible for anybody to access systems and services.
The public cloud may be less secure as it is open for everyone. The public cloud
is one in which cloud infrastructure services are provided over the internet to the
general people or major industry groups. The infrastructure in this cloud model is
owned by the entity that delivers the cloud services, not by the consumer. It is a
type of cloud hosting that allows customers and users to easily access systems
and services. This form of cloud computing is an excellent example of cloud
hosting, in which service providers supply services to a variety of customers. In
this arrangement, storage backup and retrieval services are given for free, as a
subscription, or on a per-use basis. Example: Google App Engine etc.
Advantages of the public cloud model:
Minimal Investment: Because it is a pay-per-use service, there is no
substantial upfront fee, making it excellent for enterprises that require
immediate access to resources.
No setup cost: The entire infrastructure is fully subsidized by the cloud
service providers, thus there is no need to set up any hardware.
Infrastructure Management is not required: Using the public cloud does
not necessitate infrastructure management.
No maintenance: The maintenance work is done by the service provider (Not
users).
Dynamic Scalability: To fulfill your company’s needs, on-demand resources
are accessible.
2. Private Cloud
The private cloud deployment model is the exact opposite of the public cloud
deployment model. It’s a one-on-one environment for a single user (customer).
There is no need to share your hardware with anyone else. The distinction
between private and public cloud is in how you handle all of the hardware. It is
also called the “internal cloud” & it refers to the ability to access systems and
services within a given border or organization. The cloud platform is implemented
in a cloud-based secure environment that is protected by powerful firewalls and
under the supervision of an organization’s IT department.
The private cloud gives the greater flexibility of control over cloud resources.
Advantages of the private cloud model:
Better Control: You are the sole owner of the property. You gain complete
command over service integration, IT operations, policies, and user behavior.
Data Security and Privacy: It’s suitable for storing corporate information to
which only authorized staff have access. By segmenting resources within the
same infrastructure, improved access and security can be achieved.
Supports Legacy Systems: This approach is designed to work with legacy
systems that are unable to access the public cloud.
Customization: Unlike a public cloud deployment, a private cloud allows a
company to tailor its solution to meet its specific needs.
3. Hybrid cloud
By bridging the public and private worlds with a layer of proprietary software,
hybrid cloud computing gives the best of both worlds. With a hybrid solution, you
may host the app in a safe environment while taking advantage of the public
cloud’s cost savings. Organizations can move data and applications between
different clouds using a combination of two or more cloud deployment methods,
depending on their needs.
Advantages of the hybrid cloud model:
Flexibility and control: Businesses with more flexibility can design
personalized solutions that meet their particular needs.
Cost: Because public clouds provide for scalability, you’ll only be responsible
for paying for the extra capacity if you require it.
Security: Because data is properly separated, the chances of data theft by
attackers are considerably reduced.
4. Community cloud
It allows systems and services to be accessible by a group of organizations. It is
a distributed system that is created by integrating the services of
different clouds to address the specific needs of a community, industry, or
business. The infrastructure of the community could be shared
between the organization which has shared concerns or tasks. It is generally
managed by a third party or by the combination of one or more organizations in
the community.
Advantages of the community cloud model:
Cost Effective: It is cost-effective because the cloud is shared by
multiple organizations or communities.
Security: Community cloud provides better security.
Shared resources: It allows you to share resources, infrastructure, etc. with
multiple organizations.
Collaboration and data sharing: It is suitable for both collaboration and data
sharing.
5. Multi-cloud
We’re talking about employing multiple cloud providers at the same time under
this paradigm, as the name implies. It’s similar to the hybrid cloud deployment
approach, which combines public and private cloud resources. Instead of
merging private and public clouds, multi-cloud uses many public clouds. Although
public cloud providers provide numerous tools to improve the reliability of their
services, mishaps still occur. It’s quite rare that two distinct clouds would have an
incident at the same moment. As a result, multi-cloud deployment improves the
high availability of your services even more.
Advantages of a multi-cloud model:
You can mix and match the best features of each cloud provider’s services to
suit the demands of your apps, workloads, and business by choosing different
cloud providers.
Reduced Latency: To reduce latency and improve user experience, you can
choose cloud regions and zones that are close to your clients.
High availability of service: It’s quite rare that two distinct clouds would
have an incident at the same moment. So, the multi-cloud deployment
improves the high availability of your services.
Characteristics of IaaS
There are the following characteristics of IaaS -
Characteristics of PaaS
There are the following characteristics of PaaS -
Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine,
Apache Stratos, Magento Commerce Cloud, and OpenShift.
Characteristics of SaaS
There are the following characteristics of SaaS -
It provides a virtual data center to It provides virtual platforms and It provides web software and
store information and create platforms tools to create, test, and deploy apps to complete business
for app development, testing, and apps. tasks.
deployment.
It provides access to resources such It provides runtime environments It provides software as a service
as virtual machines, virtual storage, and deployment tools for to the end-users.
etc. applications.