0% found this document useful (0 votes)
18 views41 pages

074607a5-8d68-4a9f-887e-fe409b8e6fd6

The document provides an overview of cloud computing, defining it as a model for on-demand access to shared computing resources. It outlines key characteristics such as self-service, resource pooling, and rapid elasticity, while also discussing the historical developments and technologies that have contributed to its evolution. Additionally, it highlights various cloud service providers and the applications of cloud computing in modern IT environments.

Uploaded by

gopal10supriya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views41 pages

074607a5-8d68-4a9f-887e-fe409b8e6fd6

The document provides an overview of cloud computing, defining it as a model for on-demand access to shared computing resources. It outlines key characteristics such as self-service, resource pooling, and rapid elasticity, while also discussing the historical developments and technologies that have contributed to its evolution. Additionally, it highlights various cloud service providers and the applications of cloud computing in modern IT environments.

Uploaded by

gopal10supriya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

Cloud Computing

Course Code: 21CS72

By D Chaitra
Assistant Professor
SJBIT

1
Introduction to Cloud Computing
An Overview of Cloud Platforms and Technologies

2
INTRODUCTION
•Definition: Cloud computing as 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).

•Key Characteristics: On-demand self-service, broad network access, resource pooling, rapid elasticity, and measured
service.

•On-Demand Self-Service: Users can automatically provision computing capabilities without


human intervention from the service provider.
•Broad Network Access: Resources are available over the network and accessed through
standard mechanisms.
•Resource Pooling: The provider’s computing resources are pooled to serve multiple consumers
using a multi-tenant model.
•Rapid Elasticity: Resources can be rapidly and elastically provisioned to quickly scale out and
released to scale in.
•Measured Service: Cloud systems automatically control and optimize resource use by leveraging
a metering capability.

3
Cloud computing at a Glance
prediction by Leonard Kleinrock about computing utilities, drawing parallels to how cloud services are
consumed today.

In 1969, Leonard Kleinrock, one of the chief scientists of the original Advanced Research
Projects Agency Network (ARPANET), which seeded the Internet, said:

“As of 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.”

4
• Cloud computing allows renting infrastructure, runtime environments, and services on a pay-
peruse basis.

• This principle finds several practical applications and then gives different images of cloud
computing to different people.

• Chief information and technology officers of large enterprises see opportunities for scaling their infrastructure on
demand and sizing it according to their business needs.

• End users leveraging cloud computing services can access their documents and data anytime, anywhere, and from
any device connected to the Internet. Many other points of view exist.

5
One of the most diffuse views of cloud computing can be summarized as follows:

“I don’t care where my servers are, who manages them, where my documents are stored, or where my
applications are hosted. I just want them always available and access them from any device connected
through Internet. And I am willing to pay for this service for as a long as I need it.”

6
The vision of cloud computing
• Cloud computing allows anyone with a credit card to provision virtual hardware, runtime
environments, and services. These are used for as long as needed, with no up-front commitments
required.

• The long-term vision of cloud computing is that IT services are traded as utilities in an open
market, without technological and legal barriers. In this cloud marketplace, cloud service
providers and consumers, trading cloud services as utilities, play a central role.

7
• Many of the technological elements contributing to this vision already exist. Different
stake-holders leverage clouds for a variety of services. The need for ubiquitous storage
and compute power on demand is the most common reason to consider cloud computing.
A scalable runtime for applications is an attractive option for application and system
developers that do not have infrastructure or cannot afford any further expansion of
existing infrastructure.

8
THE VISION OF CLOUD COMPUTING (CONTD…)
• To provide a scalable runtime for applications for application and system
developers that do not have infrastructure or cannot afford any further expansion
of existing infrastructure.
• Provide automation of the discovery of various services and its integration into
existing software system – No human intervention
• To provide opportunities for optimizing datacenter facilities and fully utilizing
their capabilities to serve multiple users
• To reduce the waste of energy and carbon emissions, thus contributing to a greener
IT on one end and increasing revenue

9
10
11
Defining a cloud
The term cloud has historically been used in the telecommunications industry as an
abstraction of the network in system diagrams. It then became the symbol of the most
popular computer network, the Internet. This meaning also applies to cloud computing,
which refers to an Internet-centric way of computing. The Internet plays a fundamental role
in cloud computing, since it represents either the medium or the platform through which
many cloud computing services are delivered and made accessible.

12
“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.”
definition given by Armbrust et al.

“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.”
definition proposed by the U.S. National Institute of Standards and Technology (NIST):

13
According to Reese, we can define three criteria to discriminate whether a service is
delivered in the cloud computing style:

• The service is accessible via a Web browser (nonproprietary) or a Web services


application programming interface (API).

• Zero capital expenditure is necessary to get started.

• You pay only for what you use as you use it.

14
Definition Of Cloud Computing (contd…)

• The utility-oriented nature of cloud computing is expressed by Buyya et al


“A cloud is a type of parallel and distributed system consisting of a collection of
interconnected and virtualized computers that are dynamically provisioned
and presented as one or more unified computing resources based on service-
level agreements established through negotiation between the service provider
and consumers. “

15
Historical Developments

16
Historical Developments
In tracking the historical evolution, we briefly review five core technologies that played an
important role in the realization of cloud computing. These technologies are

1. Distributed Systems
2. Virtualization
3. Web 2.0
4. Service Orientation
5. Utility Computing.

17
1. Distributed Systems
Clouds are essentially large distributed computing facilities that make available their
services to third parties on demand. As a reference, we consider the characterization of a
distributed system

“A distributed system is a collection of independent computers that appears to its users as


a single coherent system.”
The primary purpose of distributed systems is to share resources and utilize them better.
• Heterogeneity
• Openness
• Scalability
• Transparency
• Concurrency
• Continuous availability
• Independent failures.
18
Distributed Systems (Cont’d…)
Three major milestones have led to cloud computing:

A. Mainframe Computing
B. Cluster Computing
C. Grid Computing.

19
A.Mainframe Computing
• These were the first examples of large computational facilities leveraging multiple processing
units.
• Mainframes were powerful, highly reliable computers specialized for large data movement and
massive input/output (I/O) operations.
• Mostly used by large organizations for bulk data processing tasks such as online transactions,
enterprise resource planning, and other operations involving the processing of significant
amounts of data
• Highly reliable computers that were “always on” and capable of tolerating failures transparently.
• No system shutdown was required to replace failed components, and the system could work
without interruption.

20
B. Clusters
• Started as a low-cost alternative to the use of mainframes and supercomputers.

• These machines could then be connected by a high bandwidth network and controlled by
specific software tools that manage them as a single system.

• Built by commodity machines, they were cheaper than mainframes and made high-
performance computing available to a large number of groups, including universities and
small research labs.

• Some frameworks for distributed computing, including Condor, Parallel Virtual Machine
(PVM), and Message Passing Interface (MPI).

21
C. Grid Computing
• Grid computing proposed a new approach to access large computational power, huge
storage facilities, and a variety of services
• Users can “consume” resources in the same way as they use other utilities such as
power, gas, and water.
• A computing grid was a dynamic aggregation of heterogeneous computing nodes, and its
scale was nationwide or even worldwide
• Why Computing Grids:
 clusters became quite common resources
 They were often underutilized
 New problems were requiring computational power that went beyond the capability of single clusters
 The improvements in networking and the diffusion of the
 Internet made possible long-distance, high-bandwidth Connectivity.

22
2. Virtualization
• Virtualization is the creation of a virtual (rather than actual) version of something, such as an
operating system, a server, a storage device or network resources

• It is the process of converting a physical IT resource into a virtual IT resource

• It encompasses a collection of solutions allowing the abstraction of some of the fundamental


elements for computing, such as hardware, runtime environments, storage, and networking

• Virtualization is essentially a technology that allows creation of different computing


environments.

• These environments are called virtual because they simulate the interface that is expected by a
guest.

23
• Hardware virtualization is a technology allows simulating / Emulation the h/w interface expected by an
operating system
• Hardware virtualization allows the coexistence of different software stacks on top of the same hardware.
• These stacks are contained inside virtual machine instances, which operate in complete isolation from each
other.
• High-performance servers can host several virtual machine instances, thus creating the opportunity to have a
customized software stack on demand.
• This is the base technology that enables cloud computing solutions to deliver virtual servers on demand, such
as Amazon EC2, RightScale, Vmware vCloud and others together with hardware virtualization, storage and
network virtualization.
• Virtualization technologies are also used to replicate runtime environments for programs
• Applications in the case of process virtual machines instead of being executed by the operating system are run
by a specific program called a virtual machine.
• Process virtual machines offer a higher level of abstraction with respect to hardware virtualization, since the
guest is only constituted by an application rather than a complete software stack
• Eg:Google AppEngine and Windows Azure

24
3. Web 2.0
• The Web is the primary interface through which cloud computing delivers its
services. At present, the Web encompasses a set of technologies and services that
facilitate interactive information sharing, collaboration, user-centered design, and
application composition.

• Web 2.0 brings interactivity and flexibility into Web pages, providing enhanced
user experience by gaining Web-based access to all the functions that are normally
found in desktop applications. These capabilities are obtained by integrating a
collection of standards and technologies such as XML, Asynchronous JavaScript
and XML (AJAX), Web Services, and others.

25
• Examples of Web 2.0 applications are Google Documents, Google
Maps, Flickr, Facebook, Twitter, YouTube, de.li.cious, Blogger, and
Wikipedia. In particular, social networking Websites take the biggest
advantage of Web 2.0. The level of interaction in Websites such as
Facebook or Flickr would not have been possible without the support
of AJAX, Really Simple Syndication (RSS), and other tools that
make the user experience incredibly interactive.

26
4. Service-oriented computing
• This approach adopts the concept of services as the main building blocks of
application and system development.

• Service-oriented computing (SOC) supports the development of rapid, low-cost,


flexible, interoperable, and evolvable applications and systems.

• A service is supposed to be loosely coupled, reusable, programming language


independent, and location transparent. Loose coupling allows services to serve
different scenarios more easily and makes them reusable. Independence from a
specific platform increases services accessibility. Thus, a wider range of clients,
which can look up services in global registries and consume them in a location-
transparent manner, can be served.
27
Service-oriented computing introduces and diffuses two important concepts, which
are also fundamental to cloud computing: quality of service (QoS) and Software-
as-a-Service (SaaS).

• Quality of service (QoS) identifies a set of functional and nonfunctional


attributes that can be used to evaluate the behavior of a service from different
perspectives. These could be performance metrics such as response time, or
security attributes, transactional integrity, reliability, scalability, and availability.

• The concept of Software-as-a-Service introduces a new delivery model for


applications. The term has been inherited from the world of application service
providers (ASPs), which deliver software services-based solutions across the
wide area network from a central datacenter and make them available on a
subscription or rental basis.
28
5. Utility-oriented computing
• Utility computing is a vision of computing that defines a service-provisioning
model for compute services in which resources such as storage, compute
power, applications, and infrastructure are packaged and offered on a pay-per-
use basis.

29
Building cloud computing environments
The creation of cloud computing environments encompasses both the
development of application and systems that leverage cloud computing
solutions and the creation of frameworks, platforms, and infrastructures
delivering cloud computing services.

30
1. Application development
• Applications that leverage cloud computing benefit from its capability to dynamically
scale on demand.

• With the diffusion of Web 2.0 technologies, the Web has become a platform for
developing rich and complex applications, including enterprise applications that now
leverage the Internet as the preferred channel for service delivery and user interaction.

• Another class of applications that can potentially gain considerable advantage by


leveraging cloud computing is represented by resource-intensive applications. These
can be either data-intensive or compute-intensive applications. In both cases,
considerable amounts of resources are required to complete execution in a reasonable
timeframe.
31
Cloud computing provides a solution for on-demand and dynamic scaling across the entire
stack of computing.

This is achieved by

(a) providing methods for renting compute power, storage, and networking;

(b) offering runtime environments designed for scalability and dynamic sizing; and

(c) providing application services that mimic the behavior of desktop applications but that
are completely hosted and managed on the provider side.

32
2. Infrastructure and system development
• Distributed computing, virtualization, service orientation, and Web 2.0 form
the core technologies enabling the provisioning of cloud services from
anywhere on the globe. Developing applications and systems that leverage
the cloud requires knowledge across all these technologies.

• Distributed computing is a foundational model for cloud computing because


cloud systems are distributed systems. Besides administrative tasks mostly
connected to the accessibility of resources in the cloud, the extreme
dynamism of cloud systems—where new nodes and services are provisioned
on demand—constitutes the major challenge for engineers and developers.

33
• Web 2.0 technologies constitute the interface through which cloud
computing services are delivered, managed, and provisioned.

• Cloud computing is often summarized with the acronym XaaS—


Everything-as-a-Service—that clearly underlines the central role of service
orientation.

• Virtualization is another element that plays a fundamental role in cloud


computing. This technology is a core feature of the infrastructure used by
cloud providers.

34
4. Computing platforms and technologies
• Development of a cloud computing application happens by leveraging platforms
and frameworks that provide different types of services, from the bare-metal
infrastructure to customizable applications serving specific purposes.

1 Amazon web services (AWS)

2 Google AppEngine

3 Microsoft Azure

4 Hadoop

5 Force.com and Salesforce.com

6 Manjrasoft Aneka
35
1. Amazon web services (AWS)
AWS offers comprehensive cloud IaaS services ranging from virtual compute, storage,
and networking to complete computing stacks. AWS is mostly known for its compute
and storage-on demand services, namely Elastic Compute Cloud (EC2) and Simple
Storage Service (S3).

• EC2 provides users with customizable virtual hardware that can be used as the base
infrastructure for deploying computing systems on the cloud. It is possible to choose
from a large variety of virtual hardware configurations, including GPU and cluster
instances.

• S3 is organized into buckets; these are containers of objects that are stored in binary
form and can be enriched with attributes. Users can store objects of any size, from
simple files to entire disk images, and have them accessible from everywhere. 36
2. Google AppEngine
• Google AppEngine is a scalable runtime environment mostly devoted to
executing Web applications. These take advantage of the large computing
infrastructure of Google to dynamically scale as the demand varies over
time. AppEngine provides both a secure execution environment and a
collection of services that simplify the development of scalable and high-
performance Web applications. These services include in-memory caching,
scalable data store, job queues, messaging, and cron tasks.

37
3. Microsoft Azure
Microsoft Azure is a cloud operating system and a platform for developing
applications in the cloud. Applications in Azure are organized around the
concept of roles, which identify a distribution unit for applications and
embody the application’s logic. Currently, there are three types of role:
Web role, worker role, and virtual machine role. The Web role is
designed to host a Web application, the worker role is a more generic
container of applications and can be used to perform workload processing,
and the virtual machine role provides a virtual environment in which the
computing stack can be fully customized, including the operating systems.

38
4.Hadoop
Apache Hadoop is an open-source framework that is suited for processing large data sets
on commodity hardware. Hadoop is an implementation of MapReduce, an application
programming model developed by Google, which provides two fundamental operations
for data processing: map and reduce. The former transforms and synthesizes the input data
provided by the user; the latter aggragates the output obtained by the map operations.
Hadoop provides the runtime environment, and developers need only provide the input
data and specify the map and reduce functions that need to be executed.

39
5 Force.com and Salesforce.com
Force.com is a cloud computing platform for developing social enterprise
applications. The platform is the basis for SalesForce.com, a Software-as-a-Service
solution for customer relationship management. Force.com allows developers to
create applications by composing ready-to-use blocks; a complete set of components
supporting all the activities of an enterprise are available. The platform provides
complete support for developing applications, from the design of the data layout to the
definition of business rules and workflows and the definition of the user interface.

40
6 Manjrasoft Aneka
Manjrasoft Aneka is a cloud application platform for rapid creation of
scalable applications and their deployment on various types of clouds in a
seamless and elastic manner. It supports a collection of programming
abstractions for developing applications and a distributed runtime
environment that can be deployed on heterogeneous hardware (clusters,
networked desktop computers, and cloud resources).

Developers can choose different abstractions to design their application:


tasks, distributed threads, and map-reduce. These applications are then
executed on the distributed service-oriented runtime environment, which can
dynamically integrate additional resource on demand.
41

You might also like