0% found this document useful (0 votes)
40 views34 pages

CC Module 1 Notes

Uploaded by

Afraz Shadab
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)
40 views34 pages

CC Module 1 Notes

Uploaded by

Afraz Shadab
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/ 34

CLOUD COMPUTING

By Prof. M. Shivakumar

Department of Information Science &


Engineering

www.cambridge.edu.in
CLOUD means:

▪ 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.
CLOUD COMPUTING Definition:

Definition given by Armbrust et al.:

“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 proposed by the U.S. 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”.
CLOUD COMPUTING Definition:

According to Reese, 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.

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. “
A bird’s-eye view of cloud computing
CLOUD DEPLOYMENT MODELS
❑public clouds, private/enterprise clouds, and hybrid clouds
❑ Public clouds –

▪ Most common deployment models in which necessary IT infrastructure (e.g.,


virtualized datacenters) is established by a third-party service provider that
makes it available to any consumer on a subscription basis.
▪ Such clouds allow users to quickly leverage compute, storage, and application
services.
▪ In this environment, users’ data and applications are deployed on cloud
datacenters on the vendor’s premises.

❑ Private clouds –

▪ Large organizations that own massive computing infrastructures can still benefit
from cloud computing by replicating the cloud IT service delivery model
in-house.
▪ Institutions such as governments and banks that need high security, privacy, and
regulatory concerns prefer to build and use their own private or enterprise
clouds.
❑ Hybrid clouds–

▪ Whenever private cloud resources are unable to meet users’ quality-of-service


requirements, hybrid computing systems, partially composed of public cloud
resources and privately owned infrastructures, are created to serve the
organization’s needs.
THE VISION OF CLOUD COMPUTING
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 entire stack of a computing system is transformed into a collection of utilities,


which can be provisioned and composed together to deploy systems in hours
rather than days and with virtually no maintenance costs

❑The long-term vision of cloud computing is that IT services are traded as utilities
in an open market, without technological and legal barriers.
THE VISION OF CLOUD COMPUTING
❑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
The Cloud Computing Reference Model
The Cloud Computing Reference Model

✓ Cloud computing services classify into three major categories:


Infrastructure-as-a-Service(IaaS), Platform-as-a-Service(PaaS), and
Software-as-a-Service(SaaS).

✓ Cloud computing services are organized in a layered view that walks the
computing stack from bottom to top.

✓ At the base of the stack, Infrastructure-as-a-Service solutions deliver


infrastructure on demand in the form of virtual hardware, storage, and
networking.
IaaS
✓ Virtual hardware is utilized to provide compute on demand in the form of
virtual machine instances.

✓ Virtual storage is delivered in the form of raw disk space or object store.

✓ Virtual networking identifies the collection of services that manage the


networking among virtual instances and their connectivity to the Internet
or private networks.
PaaS
✓ Platform-as-a-Service solutions are the next step in the stack. They deliver
scalable and elastic runtime environments on demand and host the
execution of applications.

✓ It is the responsibility of the service provider to provide scalability and to


manage fault tolerance, while users focus on the logic of the application
developed by leveraging the provider’s APIs and libraries.

SaaS
✓ At the top of the stack, Software-as-a-Service solutions provide
applications and services on demand.
Most of the common functionalities of desktop applications are replicated on the
provider’s infrastructure and made more scalable and accessible through a browser
on demand.
✓ IaaS solutions are sought by users who want to build dynamically scalable
computing systems requiring a specific software stack.

✓ 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.
Characteristics and Benefits – Cloud Computing
The characteristics that bring benefits to both cloud service consumers
(CSCs) and cloud service providers (CSPs) 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
✓ Increased economical return due to the reduced
maintenance costs and operational costs related to IT
software and infrastructure.

✓ Cloud computing transforms IT infrastructure and software


into utilities, thus significantly contributing to increasing a
company’s net gain.

✓ Cloud computing also provides an opportunity for small


organizations and start-ups: these do not need large
investments to start their business, but they can
comfortably grow with it.
✓ Increased agility in defining and structuring software systems is another significant
benefit of cloud computing.
For example, organizations can add more servers to process workload spikes and
dismiss them when they are no longer needed.

✓ Ease of scalability is another advantage.


Organizations can extend their IT capability more easily. Scalability can be
leveraged across the entire computing stack.

✓ End users can benefit from cloud computing by having their data and the capability of
operating on it always available, from anywhere, at any time, and through multiple
devices.

✓ Finally, service orientation and on-demand access create new opportunities for
composing systems and applications with a flexibility not possible before cloud
computing.
Challenges ahead in Cloud computing
✓ Dynamic provisioning of cloud computing services and resources
arises. For example, in the Infrastructure-as-a-Service domain, how
many resources need to be provisioned, and for how long should
they be used, in order to maximize the benefit?

✓ Security in terms of confidentiality, secrecy, and protection of data


in a cloud environment is another important challenge.

✓ Legal issues may also arise. Different legislation about privacy in


different countries may potentially create disputes as to the rights
that third parties (including government agencies) have to your
data.
Evolution of the distributed computing technologies that led to
cloud computing.
The five core technologies that played an important role in the realization of cloud
computing are: distributed systems, virtualization, Web 2.0, service orientation, and
utility computing.

1. Distributed systems

✓ 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.

Three major milestones have led to cloud computing:


• mainframe computing, cluster computing, and grid computing.

✓ Mainframes were powerful, highly reliable computers specialized for large data
movement and massive input/output (I/O) operations.
✓ Cluster computing started as a low-cost alternative to the use of mainframes and
supercomputers.
One of the attractive features of clusters was that the computational power
of commodity machines could be leveraged to solve problems that were
previously manageable only on expensive supercomputers.

✓ Grid computing appeared as an evolution of cluster computing. Grids initially


developed as aggregations of geographically dispersed clusters by means of
Internet connections.
Different from a “large cluster,” a computing grid was a dynamic
aggregation of heterogeneous computing nodes, and its scale was
nationwide or even worldwide.

Cloud computing is often considered the successor of grid


computing. In reality, it embodies aspects of all these three major
technologies.
2. Virtualization

✓ Virtualization has become a fundamental element of cloud computing. This is


particularly true for solutions that provide IT infrastructure on demand.

✓ Virtualization confers that degree of customization and control that makes cloud
computing appealing for users and, at the same time, sustainable for cloud
services providers.

✓ High-performance servers can host several virtual machine instances, thus creating
the opportunity to have a customized software stack on demand.

✓ Together with hardware virtualization, storage and network virtualization complete


the range of technologies for the emulation of IT infrastructure.
✓ 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.

3. Web 2.0
✓ The Web is the primary interface through which cloud computing delivers its services.

✓ Web encompasses a set of technologies and services that facilitate interactive


information sharing, collaboration, user-centered design, and application
composition. This evolution has transformed the Web into a rich platform for
application development and is known as Web 2.0.

✓ Web 2.0 brings interactivity and flexibility into Web pages. These capabilities are
obtained by integrating a collection of standards and technologies such as XML,
Asynchronous JavaScript and XML (AJAX), Web Services, and others.
✓ Web 2.0 applications are extremely dynamic: they improve continuously, and new
updates and features are integrated at a constant rate by following the usage trend
of the community.

4. Service-oriented computing

✓ Service orientation is the core reference model for cloud computing systems.
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.

✓ 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).
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.

✓ From an application and system development perspective, service-oriented


computing and service-oriented architectures (SOAs) introduced the idea of
leveraging external services for performing a specific task within a software
system.

✓ Applications were not only distributed, they started to be composed as a mesh of


services provided by different entities. These services, accessible through the
Internet, were made available by charging according to the usage.
Computing platforms and technologies

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 & 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.

✓ EC2 also provides the capability to save a specific running instance as an image,
thus allowing users to create their own templates for deploying systems. These
templates are stored into S3 that delivers persistent storage on demand.
✓ 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.

✓ Besides EC2 and S3, a wide range of services can be leveraged to build virtual
computing systems. including networking support, caching systems, DNS, database
(relational and not) support, and others.

2. Google AppEngine
✓ Google AppEngine is a scalable runtime environment mostly devoted to executing
Web applications.

✓ AppEngine provides both a secure execution environment and a collection of


services that simplify the development of scalable and high-performance Web
applications.
✓ Developers can build and test applications on their own machines using the
AppEngine software development kit (SDK), which replicates the production
runtime environment and helps test and profile applications.

✓ The languages currently supported are Python, Java, and Go.

3. Microsoft Azure

✓ Microsoft Azure is a cloud operating system and a platform for developing


applications in the cloud. It provides a scalable runtime environment for Web
applications and distributed applications in general.

✓ 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,
• the virtual machine role provides a virtual environment in which the computing stack can be fully
customized, including the operating systems.

✓ Azure also provides a set of additional services such as support for storage (relational
data and blobs), networking, caching, content delivery, and others.
4. Hadoop

✓ 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 aggregates 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.

✓ Hadoop is an integral part of the Yahoo! cloud infrastructure and supports several
business processes of the company. Currently, Yahoo! manages the largest Hadoop
cluster in the world
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 SaaS 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.

✓ The Force.com platform is completely hosted on the cloud and provides complete
access to its functionalities and those implemented in the hosted applications
through Web services technologies.
6. Manjrasoft Aneka

✓ Manjrasoft Aneka is a cloud application platform for rapid creation of scalable


applications and their deployment on various types of clouds.

✓ It supports a collection of programming abstractions for developing applications


and a distributed runtime environment that can be deployed on heterogeneous
hardware.

✓ The service-oriented architecture of the runtime has a great degree of flexibility


and simplifies the integration of new features, such as abstraction of a new
programming model and associated execution management environment.

✓ Services manage most of the activities happening at runtime: scheduling,


execution, accounting, billing, storage, and quality of service.

You might also like