Chapter 2
Chapter 2
Introduction
• The previous chapter describes the power wall that forced the computing industry to move to the use of
multiple processors and multiple computers.
• This chapter discusses how software enables a set of servers to be used in an entirely new way, namely elastic
computing.
• Subsequent chapters describe how public cloud companies arose that use elastic computing and the underlying
infrastructure and technologies that enable elastic computing as well as software systems used to manage
deployments in a cloud.
Multi-Tenant Clouds
• Cloud providers extend the data center advantages to a larger scale. A cloud provider can, instead of handling
computing for one organization, build a data center (or multiple data centers) that can handle computing for
many customers.
• The term multi-tenant refers to a data center that serves customers from multiple organizations.
• A fundamental aspect of cloud computing centers on the ability of a customer to lease servers and only pay for
the number of servers they need.
• Additionally, a customer can change the allocation dynamically, adding servers during peak times and
decreasing the number of servers during times they are not needed. This dynamic service is called elastic
computing.
• Cloud providers do not specifically allocate sets of physical servers. Instead, a cloud owner runs software on
each physical server that allows the cloud owner to create a set of virtualized servers.
• Three important properties of virtualized servers: Management software can create or remove a new
virtualized server at any time, without changing or rebooting physical servers.
o Rapid creation and removal -Virtualized servers are managed entirely by software.
o Physical sharing - Each virtualized server must run on a physical server, and multiple virtualized servers
can run on a given physical server concurrently.
o Logical isolation - Data and computations performed by one virtualized server cannot be observed or
affected by another.
How Virtualized Servers Aid Providers
• The ability to virtualize servers provides the basis for elastic computing and makes cloud computing
economically viable.
• A cloud provider only needs to use computer software to increase or decrease the number of servers a customer
is leasing. Furthermore, the use of virtualized servers allows a provider to accommodate the changing needs of
many customers.
• Using virtualized servers provides invaluable advantages for cloud providers, including the ability to
scale the service and the ability to balance the load and avoid overloading a physical server while other
physical servers remain idle.
• A virtualized server appears to act like a physical server and apps running on a virtualized server
can communicate over the Internet.
• To categorize companies in the cloud industry, a classification arose that divides companies into three broad
categories. Although they are somewhat loosely defined and overlap, the categories help clarify the major
roles of companies. Each category uses the phrase as a service.
• An IaaS company offers physical resources, such as buildings, power, and air conditioning.
• Typically, IaaS companies also provide servers, networking equipment, and basic data storage facilities (e.g.,
block storage on disk as well as additional services, such as load balancers, data backup, network security, a
way to boot both physical and virtualized servers, and assignment of Internet addresses.
• An IaaS customer does not need to manage or control the cloud infrastructure.
• A customer can choose which operating systems and applications run and may have the ability to control
network access (e.g., to configure a firewall).
Platform as a Service (PaaS)
• The primary goal of PaaS is a facility that allows a customer to build and deploy software in a cloud without
spending effort configuring or managing the underlying facility.
• A company offering PaaS may provide both basic infrastructure and facilities for software development and
deployment.
• Basic infrastructure includes many of the IaaS facilities, such as servers, storage facilities, operating systems,
databases, and network connections.
• Facilities for software development and deployment include compilers, middleware, program libraries,
runtime systems (e.g., Java runtime and .NET runtime),
• Software as a Service refers to a subscription model in which a customer pays a monthly fee to use software
rather than make a one-time purchase.
• Cloud computing has enabled the SaaS industry by providing a way for SaaS vendors to scale their offerings to
handle arbitrarily many customers.
• When a user accesses a SaaS application, the application runs on a server in a cloud data center rather
than on the user’s computer. Files that the user creates are stored in the cloud data center rather than on the
user’s local device.
o Universal access - software can be accessed at any time from any device.
o Guaranteed synchronization – data is kept identical across multiple systems mainly by having only
one copy of the data.
o High Availability - Most data centers have uninterruptible power systems and a backup mechanism.
• Known as Desktop as a Service (DaaS), the system implements remote desktop access. Like other SaaS
offerings, a user runs an app on a local device (i.e., a thin client) that connects the user to DaaS software
running in a cloud data center.
Summary
• Elasticity forms the key concept behind cloud computing: a customer can lease as many servers as needed, the
number can vary over time, and a customer only pays for the number of servers used.
• Multiple virtualized servers can run on a given physical server. Using virtualized servers has advantages for
customers as well as for providers.
• Companies in the cloud industry can be divided into three broad categories, depending on what services they
offer: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).