Cloud Computing
[Link]
Syllabus
Syllabus
Books
Scheme
Unit-I
Introduction
7
Outline
Introduction:
• Definition and evolution of Cloud Computing,
• Properties of Cloud Computing,
• Characteristics of Cloud Computing
• Service Models,
• Deployment Models
8
• Definition of Cloud Computing
• In the simplest terms, cloud computing means storing and accessing data and programs
over the Internet from a remote location or computer instead of our computer’s hard
drive.
• This so called remote location has several properties such as scalability, elasticity etc.,
which is significantly different from a simple remote machine.
• The cloud is just a metaphor for the Internet.
• When we store data on or run a program from the local computer’s hard drive, that is called
local storage and computing.
• For it to be considered cloud computing, we need to access our data or programs over
the Internet.
• The end result is the same; however, with an online connection, cloud computing can be
done anywhere, anytime, and by any device. 9
• Definition of Cloud Computing
• For it to be considered cloud computing, we need to access our data or
programs over the Internet.
• The end result is the same; however, with an online connection, cloud
computing can be done anywhere, anytime, and by any device.
10
• NIST Definition of Cloud Computing
• The formal definition of cloud computing comes from the 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.
11
• Definition of Cloud Computing
• This cloud model is composed of
• five essential characteristics,
• three service models and
• four deployment models.
• It means that the computing resource or infrastructure—be it server hardware, storage,
network, or application software—all available from the cloud vendor or provider’s
site/premises, can be accessible over the Internet from any remote location and by any
local computing device.
• In addition, the usage or accessibility is to cost only to the level of usage to the
customers based on their needs and demands, also known as the pay-as-you-go or pay-
as-per-use model.
12
• Definition of Cloud Computing
• According to Prof. Raj Kumar Buyya – Univ. of Melbourne, Australia,
• “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”.
13
• Motivation for Cloud Computing
• The users who are in need of computing are expected to invest money on computing
resources such as hardware, software, networking, and storage; this investment
naturally costs a bulk currency to the users as they have to buy these computing
resources, keep these in their premises, and maintain and make it operational—all
these tasks would add cost.
• And, this is a particularly true and huge expenditure to the enterprises that require
enormous computing power and resources, compared with classical academics and
individuals.
• On the other hand, it is easy and handy to get the required computing power and
resources from some provider (or supplier) as and when it is needed and pay only for
that usage.
14
• Motivation for Cloud Computing
• This would cost only a reasonable investment or spending, compared to the huge
investment when buying the entire computing infrastructure.
• This phenomenon can be viewed as capital expenditure versus operational
expenditure.
• Therefore, cloud computing is needed in getting the services of computing resources.
• Cloud computing is very economical and saves a lot of money.
• A blind benefit of this computing is that even if we lose our laptop or due to some crisis
our personal computer—and the desktop system—gets damaged, still our data and files will
stay safe and secured as these are not in our local machine (but remotely located at the
provider’s place—machine).
• In addition, one can think to add security while accessing these remote computing
resources as depicted in Figure. 15
16
• Motivation for Cloud Computing
• Figure shows several cloud computing applications.
• The cloud represents the Internet-based computing resources, and the accessibility is
through some secure support of connectivity.
• It is a computing solution growing in popularity, especially among individuals and small-
and medium-sized companies (SMEs).
• In the cloud computing model, an organization’s core computer power resides
offsite and is essentially subscribed to rather than owned.
17
• Motivation for Cloud Computing
• Thus, cloud computing comes into focus and much needed only when we think about
what computing resources and information technology (IT) solutions are required.
• This need caters to a way to increase capacity or add capabilities on the fly without
investing in new infrastructure, training new personnel, or licensing new software.
• Cloud computing encompasses the subscription-based or pay-per-use service
model of offering computing to end users or customers over the Internet and thereby
extending the IT’s existing capabilities.
18
• The Need for Cloud Computing
• The main reasons for the need and use of cloud computing are convenience
and reliability.
• In the past, if we wanted to bring a file, we would have to save it to a Universal
Serial Bus (USB) flash drive, external hard drive, or compact disc (CD) and bring
that device to a different place.
• Instead, saving a file to the cloud (e.g., use of cloud application Dropbox) ensures
that we will be able to access it with any computer that has an Internet connection.
• The cloud also makes it much easier to share a file with friends, making it possible
to collaborate over the web.
19
• The Need for Cloud Computing
• While using the cloud, losing our data/file is much less likely.
• However, just like anything online, there is always a risk that someone may try
to gain access to our personal data, and therefore, it is important to choose an
access control with a strong password and pay attention to any privacy settings for
the cloud service that we are using.
20
• Evolution of Cloud Computing
• We can track the roots of clouds computing by observing the advancement
of several technologies, especially in,
• Hardware (virtualization, multi-core chips),
• Internet technologies (Web services, service-oriented architectures,
Web 2.0),
• Distributed computing (clusters, grids), and
• Systems management (autonomic computing, data center automation).
• Following figure shows the convergence of technology fields that
significantly advanced and contributed to the advent of cloud computing.
21
22
• Evolution of Cloud Computing
• In the domain of computing, there are many different standard practices being followed based on
inventions and technological advancements.
• High-Performance Computing
• In high-performance computing systems, a pool of processors (processor machines or central
processing units [CPUs]) connected (networked) with other resources like memory, storage,
and input and output devices, and the deployed software is enabled to run in the entire
system of connected components.
• The processor machines can be of homogeneous or heterogeneous type.
• The legacy meaning of high-performance computing (HPC) is the supercomputers;
however, it is not true in present-day computing scenarios.
• Thus, examples of HPC include a small cluster of desktop computers or personal computers
(PCs) to the fastest supercomputers.
• HPC systems are normally found in those applications where it is required to use or solve
scientific problems.
23
• Evolution of Cloud Computing
• Parallel Computing
• Parallel computing is also one of the facets of HPC.
• Here, a set of processors work cooperatively to solve a
computational problem.
• These processor machines or CPUs are mostly of homogeneous
type.
• Therefore, this definition is the same as that of HPC and is
broad enough to include supercomputers that have hundreds
or thousands of processors interconnected with other
resources.
24
• Evolution of Cloud Computing
• Parallel Computing
• In serial or sequential computers, the following apply:
• It runs on a single computer/processor machine having a single CPU.
• A problem is broken down into a discrete series of instructions.
• Instructions are executed one after another.
• In parallel computing, since there is simultaneous use of multiple processor
machines, the following apply:
• It is run using multiple processors (multiple CPUs).
• A problem is broken down into discrete parts that can be solved concurrently.
25
• Evolution of Cloud Computing
• Parallel Computing
• Each part is further broken down into a series of instructions.
• Instructions from each part are executed simultaneously on
different processors.
• An overall control/coordination mechanism is employed.
26
• Evolution of Cloud Computing
• Distributed Computing
• Distributed computing is also a computing system that consists of multiple computers or
processor machines connected through a network, which can be homogeneous or
heterogeneous, but run as a single system.
• The connectivity can be such that the CPUs in a distributed system can be physically close
together and connected by a local network, or they can be geographically distant and connected
by a wide area network.
• The heterogeneity in a distributed system supports any number of possible configurations in
the processor machines, such as mainframes, PCs, workstations, and minicomputers.
• The goal of distributed computing is to make such a network work as a single computer.
27
• Evolution of Cloud Computing
• Distributed Computing
• Distributed computing systems are advantageous over centralized systems,
because there is a support for the following characteristic features:
• Scalability: It is the ability of the system to be easily expanded by adding
more machines as needed, and vice versa, without affecting the existing
setup.
• Redundancy or replication: Here, several machines can provide the
same services, so that even if one is unavailable (or failed), work does not
stop because other similar computing supports will be available.
28
• Evolution of Cloud Computing
• Cluster Computing
• A cluster computing system consists of a set of the same or similar type of
processor machines connected using a dedicated network infrastructure.
• All processor machines share resources such as a common home directory and
have a software such as a message passing interface (MPI) implementation
installed to allow programs to be run across all nodes simultaneously.
• This is also a kind of HPC category.
29
• Evolution of Cloud Computing
• Cluster Computing
• The individual computers in a cluster can be referred to as nodes.
• The reason to realize a cluster as HPC is due to the fact that the individual
nodes can work together to solve a problem larger than any computer can
easily solve.
• And, the nodes need to communicate with one another in order to work
cooperatively and meaningfully together to solve the problem in hand.
30
• Evolution of Cloud Computing
• Grid Computing
• The idea of grid computing is to make use of non-utilized computing power by the
needy organizations, and thereby the return on investment (ROI) on computing
investments can be increased.
• Thus, grid computing is a network of computing or processor machines managed
with a kind of software such as middleware, in order to access and use the resources
remotely.
• The managing activity of grid resources through the middleware is called grid
services.
• Grid services provide access control, security, access to data including digital
libraries and databases, and access to large-scale interactive and long-term
storage facilities.
31
• Evolution of Cloud Computing
• Grid Computing
• Grid computing is more popular due to the following reasons:
• Its ability to make use of unused computing power, and thus, it is a cost-
effective solution (reducing investments, only recurring costs).
• As a way to solve problems in line with any HPC-based application.
• Enables heterogeneous resources of computers to work cooperatively and
collaboratively to solve a scientific problem.
32
• Evolution of Cloud Computing
• Cloud Computing
• The computing trend moved toward cloud from the concept of grid computing,
particularly when large computing resources are required to solve a single
problem, using the ideas of computing power as a utility and other allied concepts.
• However, the potential difference between grid and cloud is that,
• Grid computing supports leveraging several computers in parallel to solve a particular
application, while
• Cloud computing supports leveraging multiple resources, including computing resources,
to deliver a unified service to the end user.
33
• Evolution of Cloud Computing
• Cloud Computing
• In cloud computing, the IT and business resources, such as servers,
storage, network, applications, and processes, can be dynamically
provisioned to the user needs and workload.
• In addition, while a cloud can provision and support a grid.
• A cloud can also support non-grid environments, such as a three-tier
web architecture running on traditional or Web 2.0 applications.
34
• Evolution of Cloud Computing
35
• Evolution of Cloud Computing
36
• Introduction to Cloud Computing:
• What is cloud computing?
• Simply put, cloud computing is the delivery of computing services—including,
• servers,
• storage,
• databases,
• networking,
• software,
• analytics, and
• intelligence—
• over the Internet (“the cloud”) to offer faster innovation, flexible resources, and
economies of scale.
37
• What is cloud computing?
38
• Introduction to Cloud Computing:
• Definition of Cloud Computing
• Cloud computing refers to applications and services that run on a distributed
network using virtualized resources and accessed by common Internet protocols
and networking standards.
• It is distinguished by the notion that resources are virtual and limitless and that
details of the physical systems on which software runs are abstracted from the
user.
39
• Introduction to Cloud Computing:
• Definition of Cloud Computing
• Cloud computing takes the technology, services, and applications that are similar
to those on the Internet and turns them into a self-service utility.
• The use of the word “cloud” makes reference to the two essential concepts:
• Abstraction: Cloud computing abstracts the details of system
implementation from users and developers.
• Applications run on physical systems that aren’t specified, data is stored in
locations that are unknown, administration of systems is outsourced to
others, and access by users is ubiquitous.
40
• Introduction to Cloud Computing:
• Virtualization: Cloud computing virtualizes systems by pooling and
sharing resources.
• Systems and storage can be provisioned as needed from a
centralized infrastructure, costs are assessed on a metered basis,
multi-tenancy is enabled, and resources are scalable with agility.
41
• What is cloud computing?
42
• Introduction to Cloud Computing:
• To help clarify how cloud computing has changed the nature of commercial system
deployment, consider these three examples:
• Google: In the last decade, Google has built a worldwide network of datacenters to
service its search engine.
• In doing so Google has captured a substantial portion of the world’s advertising
revenue.
• That revenue has enabled Google to offer free software to users based on that
infrastructure and has changed the market for user-facing software.
43
• Introduction to Cloud Computing:
• To help clarify how cloud computing has changed the nature of commercial
system deployment, consider these three examples:
• Azure Platform: By contrast, Microsoft is creating the Azure Platform.
• It enables .NET Framework applications to run over the Internet as an
alternate platform for Microsoft developer software running on desktops.
• Amazon Web Services: One of the most successful cloud-based businesses is
Amazon Web Services, which is an Infrastructure as a Service offering that lets
you rent virtual computers on Amazon’s own infrastructure.
44
• Introduction to Cloud Computing:
• You typically pay only for cloud services you use,
• helping lower your operating costs,
• run your infrastructure more efficiently and
• scale as your business needs change.
45
• History of Cloud Computing:
46
• History of Cloud Computing :
• When we think about a cloud computer today, we’re talking about servers in a
remote data center that perform functions for remote clients.
• While this can be more complex with clusters of servers forming a “cloud”, the
term cloud computing can refer to any remote server - even a single virtual
machine or dedicated server.
• This version of Cloud Hosting is in contrast to an on-premise server that is
located physically near you.
47
• History of Cloud Computing :
• The Origins of Cloud History - 1960s: Mainframes and Terminals.
48
• History of Cloud Computing :
• In the 1950s and 1960s, computers were enormous, expensive, and only
a reality for corporations and large organizations like universities.
• This was the age of the mainframe.
• Each mainframe was a multiuser computer — massively powerful by the
standards of the time — which human operators interacted with via a
terminal.
• Throughout this period and into the 1970s, the way operators interacted
with computers evolved from punch cards, through teletype printers, to
primitive screen terminals that were the ancestors of today’s command
line terminals.
49
• Evolution of Cloud Computing :
• Mainframe clients had almost no computing power: they were simply
interfaces for the mainframe computer which could be located a long way
from the operator, connected over a dedicated network.
• You can see why this model of computing is considered a direct ancestor of
cloud computing.
50
• The Birth of The Internet:
• At the tail end of the 1960s, DARPA was hard at work on ARPANET — a
packet switching network that was the proving ground for the principles
and technologies that power web services on the internet today.
• There was no web and no email, but as ARPANET and its successors
developed through the 1970s, joining together institutions and corporations
that used mainframes and minicomputers, still connected to users via
terminals, we begin to see something that almost bears a resemblance to
modern cloud computing.
51
• 1970s: Virtual Machines:
• Today’s elastic compute cloud services wouldn’t be possible without the
virtualization that allows us to run many virtual servers on a physical
server.
• The first glimmerings of virtualization were developed at IBM in the
1970s.
• Using the VM operating system, mainframe owners could run virtual
machines, much as we do today.
• Although it was first released in 1972, the VM operating system is still in
use today by companies with mainframes.
• It’s often used to run virtual machines with Linux or a commercial Unix
variant.
• VMWare, Xen, and Microsoft Hyper-V power much of the web.
52
• 1990s: The Web And Software-As-A-Service:
• The World Wide Web was invented in 1989 at CERN (French words for Conseil
Européen pour la Recherche Nucléaire) by Tim Berners-Lee, an English
researcher.
• The first web browser was released a couple of years later.
• The web was — and is — a technology for linking hypertext documents and other
resources.
• The development of the web led directly to the massive expansion of the
internet, huge investment in networking technology, and a wave of social
changes we’re still riding today.
53
• 1990s: The Web And Software-As-A-Service:
• In the early years of the web, the available bandwidth was still meagre.
• Many larger companies at this time used on-premises data centers, but
throughout the late 90s and early 2000s, the data center industry boomed, and
shared hosting and dedicated servers became the hosting platforms of choice.
• It was also in this period that the first Software-as-a-Service applications
were released.
• One of the first big successes in the SaaS space was Salesforce, which used the
improved bandwidth and hosting technology to provide enterprise-grade CRM
software accessed with a web browser.
54
• 2000s: Infrastructure-as-a-Service and The Modern Cloud:
• The first recognizable Infrastructure-as-a-Service platforms became publicly
available in 2006.
• Offering on-demand compute and storage, Amazon Web Services (AWS)
and its competitors radically changed the way businesses pay for, think about,
and manage their infrastructure, as well as powering rapid innovation in the
startup space.
55
• 2000s: Infrastructure-as-a-Service and The Modern Cloud:
• Public Clouds
• Public cloud computing services use virtualization and modern network
technology to provide on-demand scalable compute and storage.
• Public cloud solutions are readily available from Google, Amazon, Microsoft,
and others.
• Gmail and U of I Box are examples of public cloud services.
• Google reported in April 2017 that it had 1 billion monthly users.
• While your email account is protected by a password, the hardware on which it
is stored is shared by over 1 billion people.
56
• 2000s: Infrastructure-as-a-Service and The Modern Cloud:
• The Private Cloud
• In response to the demands of enterprise infrastructure hosting clients for
privacy and control, IT service providers began offering private clouds, which
have many of the same benefits as the public cloud.
• The major difference is that one organization owns and controls all the
cloud servers.
• Custom private clouds allow companies to leverage the benefits of
virtualization in a completely secure and private environment which can
be tailored to the specific requirements of their workloads.
57
• 2000s: Infrastructure-as-a-Service and The Modern Cloud:
58
• 2000s: Infrastructure-as-a-Service and The Modern Cloud:
• Hybrid clouds
• Hybrid cloud solutions are a blend of public and private clouds.
• This is a more complex cloud solution in that the organization must manage
multiple platforms and determine where data is stored.
• An example of a hybrid cloud solution is an organization that wants to keep
confidential information secured on their private cloud, but make more general,
customer-facing content on a public cloud.
59
• 2020: High-Availability Cloud
60
• 2020: High-Availability Cloud
• When the cloud first developed, the deal between cloud providers and
their clients was this: we provide the infrastructure, it’s up to you to take
that infrastructure and build a reliable and consistently available cloud
computing platform.
• Another approach was to deliver a robust cloud computing platform like
the elastic compute cloud EC2, but to hide support behind paywalls and a
complex control panel.
61
• Top benefits of cloud computing
• Cloud computing is a big shift from the traditional way businesses think
about IT resources.
• Here are seven common reasons organizations are turning to cloud
computing services:
62
• Top benefits of cloud computing
63
• Top benefits of cloud computing
64
• Cloud Types
• The NIST model
• The United States government is a major consumer of computer services
and, therefore, one of the major users of cloud computing networks.
• The U.S. National Institute of Standards and Technology (NIST) has a set
of working definitions that separate cloud computing into service models
and deployment models.
• Those models and their relationship to essential characteristics of cloud
computing are shown in Figure 1.1.
65
66
• The NIST model originally did not require a cloud to use
virtualization to pool resources, nor did it absolutely require that a
cloud support multi-tenancy in the earliest definitions of cloud
computing.
• Multi-tenancy is the sharing of resources among two or more clients.
• The latest version of the NIST definition does require that cloud
computing networks use virtualization and support multi-tenancy.
67
• Types of cloud services: IaaS, PaaS, serverless and SaaS
• Most cloud computing services fall into four broad categories:
• Infrastructure as a service (IaaS),
• Platform as a service (PaaS),
• Serverless and
• Software as a service (SaaS).
• These are sometimes called the cloud computing stack because they build on
top of one another.
• Knowing what they are and how they are different makes it easier to accomplish
your business goals
68
• Types of cloud services:
69
• Types of cloud services:
70
• Types of cloud services:
71
• Uses of cloud computing
• If you use an online service to send email, edit documents, watch
movies or TV, listen to music, play games or store pictures and
other files, it is likely that cloud computing is making it all possible
behind the scenes.
• Here are a few examples of what is possible today with cloud
services from a cloud provider:
72
• Uses of cloud computing
73
• Uses of cloud computing
74
• Infrastructure as a Service (IaaS)
• IaaS is the service model that would most benefit from standardization because the
main building blocks of IaaS are workloads represented as virtual-machine images
and storage units that vary from typed data to raw data.
• For workload migration, standards efforts such as OVF and VHD would allow users to
extract an image from one provider and upload it to another provider.
• For data migration, standards efforts such as CDMI and the Amazon S3 API, which
multiple providers support, would enable users to extract data from one provider
and upload it to a different provider.
75
• Platform as a Service (PaaS)
• The PaaS service model benefits less from standardization than IaaS.
• Organizations that buy into PaaS do it for the perceived advantages of the development
platform.
• The platform provides many capabilities out of the box, such as managed application
environments, user authentication, data storage, reliable messaging, and other
functionality in the form of libraries that can be integrated into applications.
• This functionality is tied to a specific language and runtime environment.
• For example, Google App Engine supports applications written in Java, Python, and Go.
• Microsoft Azure supports applications written in .NET, and more recently applications
written in Java, PHP, and [Link].
76
• Software as a Service (SaaS)
• SaaS is a somewhat different model than IaaS and PaaS because it is a licensing
agreement to third-party software instead of a different deployment model for
existing resources that range from data storage to applications.
• Benefits of standardization for SaaS are even more limited than for PaaS.
• For SaaS offerings such as [Link] CRM, the user is an end user.
• However, there are other SaaS offerings such as Google Maps or Yahoo Social in which
the user can be a developer who is integrating functionality from these services into
other applications.
• Standardized APIs are useful because they facilitate the development process.
• However, unless the APIs are identical from a functional perspective, this
standardization helps little with migration.
77
78
• Characteristics, Service and Deployment Models of Cloud
Computing
• NIST (National institute of Standards and Technology) have defined
• 4 deployment models,
• 3 service models and
• 5 core key characteristics of cloud computing.
• Following figure shows the service, deployment models and the essential
characteristics of cloud computing.
79
80
• Essential Characteristics of Cloud Computing
• On-demand self-service: On demand self-service is a process through which
the consumers can provision the computing capabilities automatically as
needed without human intervention.
• A broad network access: Broad network access means that the resources are
available to be accessed from a wide variety of devices such as mobile phones,
tablets etc.
• Resource pooling: Resource pooling allows cloud providers to scale up the
computing infrastructure based on dynamic cloud consumers’ requirements.
• Resource pooling can be achieved by applying multi-tenant model where a cloud
provider pools its resources to serve multiple cloud consumers.
81
• Essential Characteristics of Cloud Computing
• Rapid elasticity: Elasticity means the ability to scale up and down based
on the consumers’ resource requirements.
• Scalability can be horizontal or vertical.
• Horizontal scalability means to add and remove the resources from
the resource pool.
• Vertical elasticity means to add and remove resources from an
existing node or server.
82
• Essential Characteristics of Cloud Computing
• Measured Service: cloud computing is based on utility
computing means that the resource usage is controlled and
measured to support transparency between cloud service
provider and the consumer.
• It is vital for billing, access control, resource management
and capacity planning etc.
83
• Service Models of Cloud Computing
• Cloud computing is based on Service Oriented Architecture.
• Cloud service providers’ offers their services to cloud consumers based on 3 service
models shown in Figure.
• Based on this general categorization of the cloud services, SPI (SaaS, PaaS, IaaS)
model was shaped and denotes the software, platform and infrastructure of the
cloud respectively.
• SPI model is also known as the software stack.
84
85
• Service Models of Cloud Computing
• Software–as-a-Service (SaaS)
• Software–as-a-Service (SaaS) is on the top of cloud service stack and is also
called a cloud application layer.
• The targeted users of the cloud applications are end-users.
• Cloud applications are normally web applications with predefined
functionalities and scope.
• The customization of the applications is also possible based on the end-user
requirements.
• The costing model for the software as a service is either subscription based or
follows the pay-per-use model.
86
• Service Models of Cloud Computing
• Software–as-a-Service (SaaS)
• SaaS model is useful as compared to the traditional software purchase model
when the application is required for a short span of time and the demand
changes rapidly e.g. Tax and billing software and the collaboration software
etc.
• The players of the SaaS industry are [Link], Abiquo, Cloud9,
AccelOps, CloudTran etc.
87
• Service Models of Cloud Computing
• Platform-as-a-service (PaaS)
• Platform-as-a-service (PaaS) is a model of delivering platform (hardware and
software) to the developers to develop, execute cloud applications.
• A PaaS provider hosts the platform on its own infrastructure or can use the
outsourced Infrastructure.
• The consumer has to pay on the basis of the usage.
• The model frees the developers from purchasing the software, software
licenses and installing the supporting hardware and software.
• It is also useful in the situation where multiple developers are working on a
single application.
88
• Service Models of Cloud Computing
• Platform-as-a-service (PaaS)
• This also reduces the overall development time.
• SWOT (strengths, weaknesses, opportunities and threats) analysis of PaaS
concludes that though the model is useful in collaborative software
development, but the cloud service consumers are dependent on the
capabilities provided by the cloud provider.
• The platform as a Service provider companies are openStack, Google app
engine, Amazon web services, windows Azure etc.
89
• Service Models of Cloud Computing
• Infrastructure-as-a-Service (IaaS)
• Infrastructure-as-a-Service (IaaS) is a model of delivering processing power,
storage, network and other fundamental resources so that the IaaS service
consumer can deploy and run arbitrary software on the infrastructure provided
by the cloud vendor.
• The consumer does not have the control of infrastructure but has control over
the operating system and the software installed over the infrastructure.
• Limited access to the networking resources is also provided to the consumers.
90
• Service Models of Cloud Computing
• Infrastructure-as-a-Service (IaaS)
• IaaS is a cost effective solution for companies starting a new endeavor as they
do not have to invest in the infrastructure and can focus on the main business
activities.
• IaaS companies in the market are hp, goGrid, Amazon, Datapipe, logic
works etc.
91
• Deployment Models of Cloud Computing
• Categorization of deployment models depends on the way the cloud is installed,
accessed and owned by the cloud consumer.
• Which deployment model to use depends on the necessity, purpose of the cloud
consumer.
• The 4 types of cloud deployment models are:
• Public Cloud:
• A public cloud as the name suggests, allows the resources to be accessed
publicly to all.
• A fundamental characteristic of the public cloud is that it is meant to serve the
multitude of users, not a single user.
92
93
• Deployment Models of Cloud Computing
• Public Cloud:
• The cloud providers can establish their own infrastructure or can use the
infrastructure owned by any third party provider and allows accessing the
resources free of charge or on a pay-as-usage policy.
• This model is the cost-effective solution as compared to other deployment
models because the infrastructure is shared between various users at a
movement.
• Popular public cloud providers are Google, Amazon Ec2, IBM Smart Cloud and
[Link] etc.
94
• Deployment Models of Cloud Computing
• Private Cloud:
• Private cloud or internal cloud is a model which is implemented exclusively for
one customer or organization in order to meet the high security, privacy,
high customization needs of the customer.
• This type of cloud allows the organizations to use the cloud computing
technology as a means of centralized access to its resources from different
locations, departments of the organization.
• The private cloud can be installed on-site or outsourced.
95
• Deployment Models of Cloud Computing
• Private Cloud:
• On-site private cloud : cloud is implemented at customer’s premises
• Outsourced Private cloud: server side is outsourced to a hosting company.
• The popular private cloud providers are Amazon VPC (Virtual Private Cloud),
VMware Cloud Infrastructure Suite and Microsoft ECI data center etc.
96
• Deployment Models of Cloud Computing
• Hybrid Cloud:
• The hybrid model is an integration of two or more cloud deployment model i.e public,
private and community cloud.
• This model combines the advantages of all deployment models, e.g. cost
effectiveness, security, etc.
• Hybrid clouds can be used by the organizations to keep the sensitive data in the
private cloud but private cloud suffers from an inability to scale on demand and to
efficiently address peak loads.
• In this case, it is beneficial to use public cloud capabilities as needed.
• Hybrid deployment architecture can be difficult to construct because of the disparity
in the cloud environment.
97
• Deployment Models of Cloud Computing
• Community Cloud:
• Community cloud is a model in which the setup is mutually shared among
multiple organizations having similar policies and compliance
considerations.
• For example, banks and trading firms have similar privacy, security and
performance concerns so the single cloud can be shared between all these
organizations and the multi-tenant storage can be used for the cost-effective
solutions.
98
• Deployment Models of Cloud Computing
• Community Cloud:
• On-site Community Cloud Scenario : community cloud is implemented at
the customer site.
• Outsourced Community Cloud: Server side is outsourced to a hosting
company.
• The examples of community clouds are Google Apps for Government, Microsoft
Government Community Cloud etc.
99
• Popular Cloud Stacks and Use Cases
• Infrastructure as a service providers (IaaS)
• Public Infrastructure as a Service providers commonly offer,
• virtual servers containing one or more CPUs,
• running several choices of operating systems and
• a customized software stack.
• In addition, storage space and communication facilities are often provided.
• Features
• The most relevant features are:
• (i) geographic distribution of data centers;
• (ii) variety of user interfaces and APIs to access the system;
100
• Popular Cloud Stacks and Use Cases
• Infrastructure as a service providers (IaaS)
• Features
• (iii) specialized components and services that aid particular applications
(e.g., load balancers, firewalls); (iv) choice of virtualization platform and
operating systems; and
• (v) different billing methods and period (e.g., prepaid vs. post-paid, hourly
vs. monthly).
• Case Studies
• Amazon Web Services (AWS)
• Amazon WS (AWS) is one of the major players in the cloud computing
market.
101
• Popular Cloud Stacks and Use Cases
• Infrastructure as a service providers (IaaS)
• Amazon Web Services (AWS)
• It pioneered the introduction of IaaS clouds in 2006.
• It offers a variety cloud services, most notably:
• S3 (storage),
• EC2 (virtual servers),
• Cloudfront (content delivery),
• Cloudfront Streaming (video streaming),
• SimpleDB (structured datastore),
• RDS (Relational Database),
• SQS (reliable messaging), and
• Elastic MapReduce (data processing). 102
• Popular Cloud Stacks and Use Cases
• Infrastructure as a service providers (IaaS)
• Flexiscale
• Flexiscale is a UK-based provider offering services similar in nature
to Amazon Web Services.
• However, its virtual servers offer some distinct features, most
notably: persistent storage by default, fixed IP addresses, dedicated
VLAN, a wider range of server sizes, and runtime adjustment of CPU
capacity (aka CPU bursting/vertical scaling).
• Similar to the clouds, this service is also priced by the hour.
103
• Popular Cloud Stacks and Use Cases
• Infrastructure as a service providers (IaaS)
• Flexiscale
• Flexiscale cloud provides the following features:
• Available in UK;
• Web services (SOAP),
• Web-based user interfaces;
• access to virtual server mainly via SSH (Linux) and Remote Desktop (Windows);
• 100% availability SLA with automatic recovery of VMs in case of hardware failure;
• per hour pricing;
• Linux and Windows operating systems; automatic scaling (horizontal/vertical).
104
• Popular Cloud Stacks and Use Cases
• Infrastructure as a service providers (IaaS)
• Joyent
• Joyent’s Public Cloud offers servers based on Solaris containers
virtualization technology.
• These servers, dubbed accelerators, allow deploying various specialized
software-stack based on a customized version of Open-Solaris operating
system, which include by default a Web-based configuration tool and
several pre-installed software, such as Apache, MySQL, PHP, Ruby on Rails,
and Java.
• Software load balancing is available as an accelerator in addition to
hardware load balancers.
105
• Popular Cloud Stacks and Use Cases
• Infrastructure as a service providers (IaaS)
• GoGrid
• GoGrid, like many other IaaS providers, allows its customers to utilize a
range of pre-made Windows and Linux images, in a range of fixed instance
sizes.
• GoGrid also offers “value-added” stacks on top for applications such as
high-volume Web serving, e-Commerce, and database stores.
• It offers some notable features, such as a “hybrid hosting” facility, which
combines traditional dedicated hosts with auto-scaling cloud server
infrastructure.
106
• Popular Cloud Stacks and Use Cases
• Infrastructure as a service providers (IaaS)
• Rackspace Cloud Servers
• Rackspace Cloud Servers is an IaaS solution that provides fixed size instances
in the cloud.
• Cloud Servers offers a range of Linux-based pre-made images.
• A user can request different-sized images, where the size is measured by
requested RAM, not CPU.
• Like GoGrid, Cloud Servers also offers hybrid approach where dedicated and
cloud server infrastructures can be combined to take the best aspects of both
styles of hosting as required.
107
• Popular Cloud Stacks and Use Cases
• Platform as a service providers (PaaS)
• Public Platform as a Service providers commonly offer a development and
deployment environment that allow users to create and run their
applications with little or no concern to low-level details of the platform.
• In addition, specific programming languages and frameworks are made
available in the platform, as well as other services such as persistent data
storage and in memory caches.
108
• Popular Cloud Stacks and Use Cases
• Platform as a service providers (PaaS)
• Features
• Programming Models, Languages, and Frameworks.
• For user convenience, PaaS providers usually support multiple programming
languages.
• Most commonly used languages in platforms include,
• Python and Java (e.g., Google AppEngine),
• .NET languages (e.g., Microsoft Azure), and
• Ruby (e.g., Heroku).
• [Link] has devised its own programming language (Apex) and an Excel-like
query language, which provide higher levels of abstraction to key platform
functionalities.
109
• Popular Cloud Stacks and Use Cases
• Platform as a service providers (PaaS)
• Features
• Programming Models, Languages, and Frameworks.
• A variety of software frameworks are usually made available to PaaS
developers, depending on application focus.
• Providers that focus on Web and enterprise application hosting offer
popular frameworks such as,
• Ruby on
• Rails,
• Spring,
• Java EE, and
• .NET.
110
• Popular Cloud Stacks and Use Cases
• Platform as a service providers (PaaS)
• Features
• Persistence Options
• A persistence layer is essential to allow applications to record their state and
recover it in case of crashes, as well as to store user data.
• Traditionally, Web and enterprise application developers have chosen relational
databases as the preferred persistence method.
• These databases offer fast and reliable structured data storage and transaction
processing, but may lack scalability to handle several petabytes of data stored in
commodity computers.
111
• Risks and Challenges of Cloud Computing
• Despite the initial success and popularity of the cloud computing paradigm and the extensive
availability of providers and tools, a significant number of challenges and risks are inherent
to this new model of computing.
• Issues to be faced include:
• user privacy,
• data security,
• data lock-in,
• availability of service,
• disaster recovery,
• performance,
• scalability,
• energy-efficiency, and
• programmability.
112
• Risks and Challenges of Cloud Computing
• Security, Privacy, and Trust
• Security and privacy affect the entire cloud computing stack, since there is a massive
use of third-party services and infrastructures that are used to host important data or
to perform critical operations.
• In this scenario, the trust toward providers is fundamental to ensure the desired level
of privacy for applications hosted in the cloud.
• Legal and regulatory issues also need attention.
• When data are moved into the Cloud, providers may choose to locate them anywhere
on the planet.
• The physical location of data centers determines the set of laws that can be applied to
the management of data.
113
• Risks and Challenges of Cloud Computing
• Data Lock-In and Standardization
• A major concern of cloud computing users is about having their data locked-in
by a certain provider.
• Users may want to move data and applications out from a provider that does not
meet their requirements.
• However, in their current form, cloud computing infrastructures and platforms
do not employ standard methods of storing user data and applications.
• Consequently, they do not interoperate and user data are not portable.
• The answer to this concern is standardization. In this direction, there are efforts
to create open standards for cloud computing.
114
• Risks and Challenges of Cloud Computing
• Resource Management and Energy-Efficiency
• One important challenge faced by providers of cloud computing services is the efficient
management of virtualized resource pools.
• Physical resources such as CPU cores, disk space, and network bandwidth must be
sliced and shared among virtual machines running potentially heterogeneous
workloads.
• Another challenge concerns the outstanding amount of data to be managed in various
VM management activities.
• Data centers consumes large amounts of electricity.
• According to a data published by HP, 100 server racks can consume 1.3 MW of power
and another 1.3 MW are required by the cooling system, thus costing USD 2.6 million
per year.
115
• Service-Level Agreement (SLA)
• Service-level agreements (SLAs) are offered by IaaS providers to express their
commitment to delivery of a certain QoS.
• To customers it serves as a warranty.
• An SLA usually include availability and performance guarantees.
• Additionally, metrics must be agreed upon by all parties as well as penalties for
violating these expectations.
• Most IaaS providers focus their SLA terms on availability guarantees, specifying the
minimum percentage of time the system will be available during a certain period.
• For instance, Amazon EC2 states that “if the annual uptime Percentage for a customer
drops below 99.95% for the service year, that customer is eligible to receive a service
credit equal to 10% of their bill.
116
• [Link]
• [Link]
• [Link]
• [Link]
_overview.htm