0% found this document useful (0 votes)
25 views

Unit 4

Uploaded by

ledasi2421
Copyright
© © All Rights Reserved
Available Formats
Download as KEY, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Unit 4

Uploaded by

ledasi2421
Copyright
© © All Rights Reserved
Available Formats
Download as KEY, PDF, TXT or read online on Scribd
You are on page 1/ 44

CLOUD AS A DISTRIBUTED

ENVIRONMENT
The Vision of Cloud Computing
Defining a Cloud
A Cloud Computing Reference Model
Cloud Deployment Models: Public,
Private, Community, Hybrid Clouds
Cloud Delivery Models: IaaS, PaaS,
SaaS
Characteristics and Benefits
Challenges Ahead
Historical Developments
Introduction

In 1969, Leonard Kleinrock, one of the chief scientists of the


original Advanced Research Projects Agency Network
(ARPANET), which seeded the Internet, said:
“As 0f now, computer networks are still in their infancy, but as
they grow up and become sophisticated, we will probably see the
spread of ‘computer utilities’ which, like present electric and
telephone utilities, will service individual homes and offices across
the
country.”

How computing transformed into a model


consisting of services?
Introduction

Cloud computing is a technological advancement that focuses


on the way we design computing systems, develop applications, and
leverage existing services for building software.
It is based on the concept of dynamic provisioning
Resources are made available through the Internet and offered on
a pay-per-use basis from cloud computing vendors.
Utility computing or Cloud computing
Introduction

Cloud computing allows renting infrastructure, runtime environments, and


services on a pay-
per-use basis.
This principle finds several practical applications and then gives different
images of cloud computing to different people.
Cloud computing turns IT services into utilities - Such a delivery model is
made possible by the effective composition of several technologies such as
Web 2.0, Service orientation and Virtualization.
Vision of Cloud
computing
Defining a Cloud

Cloud computing is the delivery of computing services—


including servers, storage, databases, networking, software,
analytics, and intelligence—over the Internet
(or)
Cloud computing refers to both the applications delivered as
services over the Internet and the hardware and system
software in the datacenters that provide those services .
According to National Institute of Standards and Technology (NIST)
Cloud computing is a model for enabling ubiquitous, 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.
The three major models for deploying and
accessing cloud computing environments are
public clouds, private/enterprise clouds, and
hybrid clouds
Need for Cloud Computing

Some practical scenarios to understand the need for Cloud


Computing,
1. Large enterprises can offload some of their activities to cloud-based

systems
2. Small enterprises and start-ups can afford to translate their ideas into
business results more quickly, without excessive up-front costs
3. System developers can concentrate on the business logic rather than
dealing with the Complexity of infrastructure management and scalability
4. End users can have their documents accessible from everywhere and any
device.
Characteristics and Benefits

Cloud computing has some interesting characteristics that bring benefits


to both cloud service consumers (CSCs) and cloud service providers
(CSPs).
These characteristics are:
No up-front commitments
On-demand access
Nice pricing
Simplified application acceleration and scalability
Efficient resource allocation
Energy efficiency
Seamless creation and use of third-party services
broad network access, resource pooling, rapid elasticity, and
measured service.
Business Benefits

Increased economic return


Business continuity
Increases agility in defining and structuring
software systems
Ease of scalability
Data / Resource availability (to employees)
Collaboration efficiency
Lot of new services to the customers
Access to automatic updates
Challenges

1. Security
Security, trust, and privacy issues are major obstacles for massive
adoption of cloud computing
The massive use of virtualization technologies exposes the existing
system to new threats

1. Cloud Interoperability and Standards


To fully realize cloud computing goal, introducing standards and allowing
interoperability between solutions offered by different vendors are key objectives
Vendor lock-in should be removed
Presence of standards would give room for interoperability
CCIF (Cloud Computing Interoperability Forum) + OCF (Open Connectivity Foundation’s)
Challenges

1. Scalability and fault tolerance


2. Dynamic provisioning of cloud computing resources
3. Management of large computing infrastructures and use of
virtualization techniques
4. Organizational aspects
Deployment Models: Types
of cloud - Public cloud -
Private cloud - Hybrid
cloud
Deployment Models

Characterized by multi-administrative domain, involving different


deployment models ( Private, public and Hybrid)
Designed to address the need for a specific Industry
It is owned, managed, and operated by one or more
organizations in the community, a third party, or a combination
of them
1. Public cloud
1. Public Cloud
Public cloud is a cloud service that shares computing services among
different customers through Internet

Support for Multitenancy - Multitenancy is when multiple customers of a


cloud provider are accessing the same server. Data from two different
companies could be stored on the same server, or processes from two
different applications could be running on the same server.
Public clouds include SaaS, PaaS, and IaaS services.

For example:
1. Amazon EC2 is a public cloud that provides infrastructure as a service

2. Google AppEngine is a public cloud that provides an application development


platform as a service
3. SalesForce.com is a public cloud that provides software as a service.
1. Public Cloud

For public cloud, one or more datacenters constitute the physical


infrastructure on top of which the services are implemented and delivered
Public clouds can be composed of geographically dispersed datacenters to
share the load of users and better serve them according to their locations.
For example, Amazon Web Services has datacenters installed in the United
States, Europe, Singapore, and Australia; they allow their customers to
choose between three different regions
Advantages and Disadvantages
1. Public cloud - Benefits
2. Private Cloud
2. Private Cloud

Need for private cloud (i.e. drawbacks in public cloud)


loss of control-Provider is in control of infrastructure and customers core
logic and sensitive data- perceived as thread or as an unacceptable risk
Security aspects
Regulations based on infrastructure region
Private clouds are virtual distributed systems that rely on a private
infrastructure and provide internal users with dynamic provisioning
of computing resources.
Private clouds have the advantage of keeping the core business
operations in-house by relying on the existing IT infrastructure and
reducing the burden of maintaining it once the cloud has been set
up.
2. Private Cloud

Key advantages
Customer information protection
Infrastructure ensuring Service Level Agreement(SLA)-
Compliance with standard procedures and operations-

Private clouds can be implemented on more heterogeneous hardware.


They generally rely on the existing IT infrastructure already deployed on
the private premises.
This could be a datacenter, a cluster, an enterprise desktop grid, or a
combination of them
Drawback: limited scalability, price
2. Private Cloud

Fig. Private clouds hardware and


software stack.
2. Private Cloud- Benefits
3. Hybrid Cloud
3. Hybrid Cloud
Drawbacks in public and private clouds
Hybrid clouds allow enterprises to exploit existing IT infrastructures, maintain
sensitive information within the premises, and naturally grow and shrink by
provisioning external resources and releasing them when they’re no longer
needed
It is a heterogeneous distributed system resulting from a private
cloud that integrates additional services or resources from one or more
public clouds.
They are also called as heterogeneous clouds.
Dynamic provisioning is a fundamental component in hybrid cloud
Dynamic provisioning refers to the ability to acquire on demand virtual
machines in order to
increase the capability of the resulting distributed system and then release
them
The resources or services are temporarily leased for the time required and
then released. This practice is also known as cloud bursting
4. Community Cloud
4. Community Cloud
The purpose of community cloud is to allow multiple customers to work
on joint projects and applications that belong to the community,
where it is necessary to have a centralized cloud infrastructure.
Community Cloud is a distributed infrastructure that solves the specific
issues of business sectors by integrating the services provided by different
types of cloud solutions.
The infrastructure is shared by several organizations and supports a
specific
has community
shared that (e.g., mission, security requirements, policy,
concerns
and compliance
considerations).It may be managed by the organizations or a third party and
may exist on premise or off premise.
Community cloud’s are mostly implemented over multiple administrative
domains
Benefits:
Openness – Dependencies on cloud vendors are removed
Community- Collectively providing resources and services-infrastructure turns
out to be more scalable
Graceful failures (No Single point of failure)
Convenience and control
The cloud computing reference modelCloud Delivery Models: IaaS, PaaS, SaaS (Organic View of Cloud
Computing)
Cloud Computing Architecture
Cloud computing is a utility-oriented and Internet-centric way of delivering IT services on demand

Cloud Computing
Architecture
Cloud Computing Architecture
User applications:
1. It includes cloud applications through which end user get interact.
2. There may be different types of user applications, like scientific, gaming, social etc.
3. Some of the examples are Gmail, Facebook.com, etc.
User-level middleware:
4. It includes cloud programming environment and tools.
5. There may be different types of programming environments and tools depends on the user applications.
6. Some of the examples of user level middleware are web 2.0, libraries, scripting.
Core middleware:
7. It includes cloud hosting platforms.
8. It manage quality of service.
9. Execution management.
10. Accounting, metering etc.

11. Virtual machines are the part of core middleware.

System infrastructure:
12. It includes cloud resources.

13. Storage hardware

14. Servers, databases are part of it.


The cloud computing 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.

IaaS, PaaS and SaaS are the three most popular types of cloud service offerings.
The cloud computing reference model
Infrastructure-as-a-Service
Deliver infrastructure on demand in the form of virtual
hardware, storage, and networking.
Virtual hardware is utilized to provide compute on demand in
the form of virtual machine instances.
These are created at user request on the provider
infrastructure so that users are given with necessary tools
or interfaces to configure the software stack installed in the
virtual machine.
Virtual storage is delivered in the form of raw disk space or
object store.
Infrastructure-as-a-Service
IaaS Characteristics:
Resources are available as a service
Cost varies depending on consumption
Services are highly scalable
Multiple users on a single piece of hardware
Organization retain complete control of the infrastructure
Dynamic and flexible
When to Use IaaS
Startups and small companies may prefer IaaS to avoid spending time and
money on purchasing and creating hardware and software.
Larger companies may prefer to retain complete control over their applications
and infrastructure, but they want to purchase only what they actually consume or need.
Companies experiencing rapid growth like the scalability of IaaS, and they
can change out specific hardware and software easily as their needs evolve.
Platform-as-a-Service
PaaS, or platform as a service, is on-demand access to a complete, ready-
to-use, cloud-hosted platform for developing, running, maintaining and
managing applications.
They deliver scalable and elastic runtime environments on demand and
host the execution of applications.
These services are backed by a core middleware platform that is
responsible for creating the abstract environment where applications are
deployed and executed.
It is the responsibility of the service provider to provide scalability and to
manage fault tolerance, while users are requested to focus on the logic of
the application developed by leveraging the provider’s APIs and libraries.
This approach increases the level of abstraction at which cloud computing
is leveraged but also constrains the user in a more controlled environment.
Platform-as-a-Service

Hardware and software tools available over the internet


The cloud services provider hosts, manages and maintains all the
hardware and software included in the platform - servers (for
development, testing and deployment), operating system (OS) software,
storage, networking, databases, middleware, runtimes, frameworks,
development tools - as well as related services for security, operating
system and software upgrades, backups and more.
Examples of PaaS solutions include AWS Elastic Beanstalk, Google App
Engine, Microsoft Windows Azure, and Red Hat OpenShift on IBM Cloud.
Platform-as-a-Service
PaaS Characteristics:
Builds on virtualization technology, so resources can easily be scaled up or down as
your business changes
Provides a variety of services to assist with the development, testing, and deployment
of apps
Accessible to numerous users via the same development application
Integrates web services and databases
When to Use PaaS
Utilizing PaaS is beneficial, sometimes even necessary, in several situations. For
example, PaaS can streamline workflows when multiple developers are working on
the same development project. If other vendors must be included, PaaS can provide great
speed and flexibility to the entire process. PaaS is particularly beneficial if you need to
create customized applications.
Software -as-a-Service
Software that’s available via a third-party over the internet
Provide applications and services on demand.
Most of the common functionalities of desktop applications—such
as office automation, document management, photo editing, and
customer relationship management (CRM) software—are replicated
on the provider’s infrastructure and made more scalable and
accessible through a browser on demand.
These applications are shared across multiple users whose
interaction is isolated from the other users.
The SaaS layer is also the area of social networking Websites,
which leverage cloud-based infrastructures to sustain the load
generated by their popularity.
Software -as-a-Service

Users pay a monthly or annual fee to use a complete application


from within a web browser, desktop client or mobile app.
The application and all of the infrastructure required to deliver it
- servers, storage, networking, middleware, application
software, data storage - are hosted and managed by
the SaaS vendor.
The vendor manages all upgrades and patches to the software,
usually invisibly to customers.
The vendor ensures a level of availability, performance and
security as part of a Service Level Agreement (SLA). Customers
can add more users and data storage on demand at additional
Software -as-a-Service
SaaS Characteristics:
Managed from a central location
Hosted on a remote server
Accessible over the internet
Users not responsible for hardware or software updates
When to Use SaaS:
Startups or small companies that need to launch e-commerce quickly and don’t have
time for server issues or software
Short-term projects that require quick, easy, and affordable collaboration
Applications that aren’t needed too often, such as tax software
Applications that need both web and mobile access
Some examples:

Gmail
Google drive
Dropbox
WhatsApp
Summary
IaaS solutions are sought by users who want to leverage cloud computing from
building dynamically scalable computing systems requiring a specific software
stack.
IaaS services are therefore used to develop scalable Websites or for background
processing.
PaaS solutions provide scalable programming platforms for developing
applications and are more appropriate when new systems have to be developed.
SaaS solutions target mostly end users who want to benefit from the elastic
scalability of the cloud without doing any software development, installation,
configuration, and maintenance.
This solution is appropriate when there are existing SaaS services that fit users
needs (such as email, document management, CRM, etc.) and a minimum level of
customization is needed.

You might also like