Cloud Computing Overview-Unit-2
Cloud Computing Overview-Unit-2
Cloud Computing Overview-Unit-2
Cloud
The term Cloud refers to a Network or Internet. In other words, we can say that Cloud is
something, which is present at remote location. Cloud can provide services over public and
private networks, i.e., WAN, LAN or VPN.
Applications such as e-mail, web conferencing, customer relationship management (CRM)
execute on cloud.
Cloud Computing
Cloud Computing refers to manipulating, configuring, and accessing the hardware and
software resources remotely. It offers online data storage, infrastructure, and application.
Basic Concepts
There are certain services and models working behind the scene making the cloud
computing feasible and accessible to end users. Following are the working models for cloud
computing:
Deployment Models
Service Models
Deployment Models
Deployment models define the type of access to the cloud, i.e., how the cloud is located?
Cloud can have any of the four types of access: Public, Private, Hybrid, and Community.
Public Cloud
The public cloud allows systems and services to be easily accessible to the general public.
Public cloud may be less secure because of its openness.
Private Cloud
The private cloud allows systems and services to be accessible within an organization. It is
more secured because of its private nature.
Community Cloud
Hybrid Cloud
The hybrid cloud is a mixture of public and private cloud, in which the critical activities are
performed using private cloud while the non-critical activities are performed using public
cloud.
Service Models
Cloud computing is based on service models. These are categorized into three basic service
models which are -
Infrastructure-as–a-Service (IaaS)
Platform-as-a-Service (PaaS)
Software-as-a-Service (SaaS)
Anything-as-a-Service (XaaS) is yet another service model, which includes Network-as-a-
Service, Business-as-a-Service, Identity-as-a-Service, Database-as-a-Service or Strategy-as-
a-Service.
The Infrastructure-as-a-Service (IaaS) is the most basic level of service. Each of the
service models inherit the security and management mechanism from the underlying model,
as shown in the following diagram:
Infrastructure-as-a-Service (IaaS)
IaaS provides access to fundamental resources such as physical machines, virtual machines,
virtual storage, etc.
Platform-as-a-Service (PaaS)
PaaS provides the runtime environment for applications, development and deployment
tools, etc.
Software-as-a-Service (SaaS)
It is the biggest concern about cloud computing. Since data management and infrastructure
management in cloud is provided by third-party, it is always a risk to handover the sensitive
information to cloud service providers.
Although the cloud computing vendors ensure highly secured password protected accounts,
any sign of security breach may result in loss of customers and businesses.
Lock In
It is very difficult for the customers to switch from one Cloud Service Provider (CSP) to
another. It results in dependency on a particular CSP for service.
Isolation Failure
This risk involves the failure of isolation mechanism that separates storage, memory, and
routing between the different tenants.
In case of public cloud provider, the customer management interfaces are accessible through
the Internet.
It is possible that the data requested for deletion may not get deleted. It happens because
either of the following reasons
Extra copies of data are stored but are not available at the time of deletion
Disk that stores data of multiple tenants is destroyed.
Characteristics of Cloud Computing
There are four key characteristics of cloud computing. They are shown in the following
diagram:
Cloud Computing allows the users to use web services and resources on demand. One can
logon to a website at any time and use them.
Since cloud computing is completely web based, it can be accessed from anywhere and at
any time.
Resource Pooling
Cloud computing allows multiple tenants to share a pool of resources. One can share single
physical instance of hardware, database and basic infrastructure.
Rapid Elasticity
It is very easy to scale the resources vertically or horizontally at any time. Scaling of
resources means the ability of resources to deal with increasing or decreasing demand.
The resources being used by customers at any given point of time are automatically
monitored.
Measured Service
In this service cloud provider controls and monitors all the aspects of cloud service.
Resource optimization, billing, and capacity planning etc. depend on it.
Virtualization
Service-Oriented Architecture (SOA)
Grid Computing
Utility Computing
Virtualization
Virtualization is a technique, which allows to share single physical instance of an
application or resource among multiple organizations or tenants (customers). It does this by
assigning a logical name to a physical resource and providing a pointer to that physical
resource when demanded.
The Multitenant architecture offers virtual isolation among the multiple tenants. Hence,
the organizations can use and customize their application as though they each have their
instances running.
Grid Computing
Grid Computing refers to distributed computing, in which a group of computers from
multiple locations are connected with each other to achieve a common objective. These
computer resources are heterogeneous and geographically dispersed.
Grid Computing breaks complex task into smaller pieces, which are distributed to CPUs that
reside within the grid.
Utility Computing
Utility computing is based on Pay-per-Use model. It offers computational resources on
demand as a metered service. Cloud computing, grid computing, and managed IT services
are based on the concept of utility computing.
Software as a Service(SaaS)
Platform as a Service
PaaS is a category of cloud computing that provides a platform and environment to allow
developers to build applications and services over the internet. PaaS services are hosted in the
cloud and accessed by users simply via their web browser.
A PaaS provider hosts the hardware and software on its own infrastructure. As a result, PaaS
frees users from having to install in-house hardware and software to develop or run a new
application. Thus, the development and deployment of the application take
place independent of the hardware.
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 configuration settings for the application-hosting environment. To
make it simple, take the example of an annual day function, you will have two options either
to create a venue or to rent a venue but the function is the same.
Advantages of PaaS:
1. Simple and convenient for users: It provides much of the infrastructure and
other IT services, which users can access anywhere via a web browser.
2. Cost-Effective: It charges for the services provided on a per-use basis thus
eliminating the expenses one may have for on-premises hardware and software.
3. Efficiently managing the lifecycle: It is designed to support the complete web
application lifecycle: building, testing, deploying, managing, and updating.
4. Efficiency: It allows for higher-level programming with reduced complexity thus,
the overall development of the application can be more effective.
The various companies providing Platform as a service are Amazon Web services Elastic
Beanstalk, Salesforce, Windows Azure, Google App Engine, cloud Bees and IBM smart
cloud.
Disadvantages of Paas:
1. Limited control over infrastructure: PaaS providers typically manage the
underlying infrastructure and take care of maintenance and updates, but this can
also mean that users have less control over the environment and may not be able
to make certain customizations.
2. Dependence on the provider: Users are dependent on the PaaS provider for the
availability, scalability, and reliability of the platform, which can be a risk if the
provider experiences outages or other issues.
3. Limited flexibility: PaaS solutions may not be able to accommodate certain types
of workloads or applications, which can limit the value of the solution for certain
organizations.
Infrastructure as a Service
Anything as a Service
It is also known as Everything as a Service. Most of the cloud service providers nowadays
offer anything as a service that is a compilation of all of the above services including some
additional services.
Advantages of XaaS:
1. Scalability: XaaS solutions can be easily scaled up or down to meet the changing
needs of an organization.
2. Flexibility: XaaS solutions can be used to provide a wide range of services, such
as storage, databases, networking, and software, which can be customized to meet
the specific needs of an organization.
3. Cost-effectiveness: XaaS solutions can be more cost-effective than traditional on-
premises solutions, as organizations only pay for the services.
Disadvantages of XaaS:
1. Dependence on the provider: Users are dependent on the XaaS provider for the
availability, scalability, and reliability of the service, which can be a risk if the
provider experiences outages or other issues.
2. Limited flexibility: XaaS solutions may not be able to accommodate certain types
of workloads or applications, which can limit the value of the solution for certain
organizations.
3. Limited integration: XaaS solutions may not be able to integrate with existing
systems and data sources, which can limit the value of the solution for certain
organizations.
Function as a Service :
FaaS is a type of cloud computing service. It provides a platform for its users or customers to
develop, compute, run and deploy the code or entire application as functions. It allows the
user to entirely develop the code and update it at any time without worrying about the
maintenance of the underlying infrastructure. The developed code can be executed with
response to the specific event. It is also as same as PaaS.
FaaS is an event-driven execution model. It is implemented in the serverless container. When
the application is developed completely, the user will now trigger the event to execute the
code. Now, the triggered event makes response and activates the servers to execute it. The
servers are nothing but the Linux servers or any other servers which is managed by the
vendor completely. Customer does not have clue about any servers which is why they do not
need to maintain the server hence it is serverless architecture.
Both PaaS and FaaS are providing the same functionality but there is still some
differentiation in terms of Scalability and Cost.
FaaS, provides auto-scaling up and scaling down depending upon the demand. PaaS also
provides scalability but here users have to configure the scaling parameter depending upon
the demand.
In FaaS, users only have to pay for the number of execution time happened. In PaaS, users
have to pay for the amount based on pay-as-you-go price regardless of how much or less they
use.
Advantages of FaaS :
Highly Scalable: Auto scaling is done by the provider depending upon the
demand.
Cost-Effective: Pay only for the number of events executed.
Code Simplification: FaaS allows the users to upload the entire application all at
once. It allows you to write code for independent functions or similar to those
functions.
Maintenance of code is enough and no need to worry about the servers.
Functions can be written in any programming language.
Less control over the system.
The various companies providing Function as a Service are Amazon Web Services –
Firecracker, Google – Kubernetes, Oracle – Fn, Apache OpenWhisk – IBM, OpenFaaS,
Disadvantages of FaaS :
1. Cold start latency: Since FaaS functions are event-triggered, the first request to a
new function may experience increased latency as the function container is
created and initialized.
2. Limited control over infrastructure: FaaS providers typically manage the
underlying infrastructure and take care of maintenance and updates, but this can
also mean that users have less control over the environment and may not be able
to make certain customizations.
3. Security concerns: Users are responsible for securing their own data and
applications, which can be a significant undertaking.
4. Limited scalability: FaaS functions may not be able to handle high traffic or large
number of requests.
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 to 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-user basis. For example, Google App Engine etc.
Public Cloud
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.
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 clouds 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 greater flexibility of control over cloud resources.
Private Cloud
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.
Hybrid Cloud
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.
Community Cloud
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.
Each model has some advantages and some disadvantages, and the selection of the best is
only done on the basis of your requirement. If your requirement changes, you can switch to
any other model.
Public Community
Factors Cloud Private Cloud Cloud Hybrid Cloud
Scalability
and High High Fixed High
Flexibility
Between public
Cost- Distributed cost
Cost-Effective Costly and private
Comparison among members
cloud
Public Community
Factors Cloud Private Cloud Cloud Hybrid Cloud
Disadvantages of IaaS
In IaaS, users have to secure their own data and applications.
Cloud computing is not accessible in some regions of the World.
Platform as a Service (PaaS) is a type of cloud computing that helps developers to build
applications and services over the Internet by providing them with a platform.
PaaS helps in maintaining control over their business applications.
Advantages of PaaS
PaaS is simple and very much convenient for the user as it can be accessed via a
web browser.
PaaS has the capabilities to efficiently manage the lifecycle.
Disadvantages of PaaS
PaaS has limited control over infrastructure as they have less control over the
environment and are not able to make some customizations.
PaaS has a high dependence on the provider.
Software as a Service (SaaS) is a type of cloud computing model that is the work of
delivering services and applications over the Internet. The SaaS applications are called
Web-Based Software or Hosted Software.
SaaS has around 60 percent of cloud solutions and due to this, it is mostly preferred by
companies.
Advantages of SaaS
SaaS can access app data from anywhere on the Internet.
SaaS provides easy access to features and services.
Disadvantages of SaaS
SaaS solutions have limited customization, which means they have some
restrictions within the platform.
SaaS has little control over the data of the user.
SaaS are generally cloud-based, they require a stable internet connection for
proper working.