KCS 713 Unit 1 Lecture 2
KCS 713 Unit 1 Lecture 2
Shailesh Saxena
Department of CS
KCS 713/Unit-1
Contents
KCS 713/Unit-1
Cloud Computing
KCS 713/Unit-1
Essential Characteristics
On-demand self-service
A consumer can unilaterally provision computing capabilities, such as server time and network
storage, as needed automatically without requiring human interaction with each service provider.
Broad network access
Capabilities are available over the network and accessed through standard mechanisms that
promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets,
laptops, and workstations).
Resource pooling
The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant
model, with different physical and virtual resources dynamically assigned and reassigned according to
consumer demand.
KCS 713/Unit-1
Common Characteristics
Massive Scale
Resilient Computing
Homogeneity
Geographic Distribution
Virtualization
Service Orientation
Low Cost Software
Advanced Security
KCS 713/Unit-1
Cloud Characteristics
Measured Service
Cloud systems automatically control and optimize resource use by leveraging a metering capability
at some level of abstraction appropriate to the type of service (e.g., storage, processing,
bandwidth, and active user accounts). Resource usage can be monitored, controlled, and
reported, providing transparency for both the provider and consumer of the utilized service.
Rapid elasticity
Capabilities can be elastically provisioned and released, in some cases automatically, to scale
rapidly outward and inward commensurate with demand. To the consumer, the capabilities
available for provisioning often appear to be unlimited and can be appropriated in any quantity at
any time.
KCS 713/Unit-1
Evolution of cloud computing
KCS 713/Unit-1
Three major mile stones have led to cloud computing :
Mainframe computing, cluster computing, and grid computing.
• Mainframes. 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. They were 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.
• Clusters-Cluster computing started as a low-cost alternative to the use of mainframes and supercomputers. The
technology advancement that created faster and more powerful mainframes and supercomputers eventually
generated an increased availability of cheap commodity machines as a side effect.
• Grids-Grid computing appeared in the early 1990 sasan evolution of cluster computing. In an analogy to the
power grid, 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.
KCS 713/Unit-1
Virtualization
• Virtualization is another core technology for cloud computing.
• It encompasses a collection of solutions allowing the abstraction of some of the fundamental elements
for computing, such as hardware, run time environments, storage, and networking.
• Virtualization has been around for more than 40 years, but its application has always been limited by
technologies that did not allow an efficient use of virtualization solutions.
• Today these limitations have been substantially overcome, and virtualization has become a fundamental
element of cloud computing
KCS 713/Unit-1
Virtualization
• Virtualization is another core technology for cloud computing.
• It encompasses a collection of solutions allowing the abstraction of some of the fundamental elements
for computing, such as hardware, run time environments, storage, and networking.
• Virtualization has been around for more than 40 years, but its application has always been limited by
technologies that did not allow an efficient use of virtualization solutions.
• Today these limitations have been substantially overcome, and virtualization has become a fundamental
element of cloud computing
KCS 713/Unit-1
Why Virtualization?
• Without virtualization, the application and operations architecture teams design, acquire and install the servers,
storage and networking needed for each application
• Virtualization offers only a hardware abstraction layer that can adjust to the specific CPU, memory, storage, and
network needs of applications on a per server basis
• Of course, this is not enough
• What is the right density of VMs per host and type of workloads?
• Virtualization may require an expensive shared storage infrastructure (Fiber Channel SAN)
KCS 713/Unit-1
Managed Hosting Services Evolutions
KCS 713/Unit-1
Technology: Operating System Virtualization
KCS 713/Unit-1
Technology: Bare Metal Hypervisor
• Best for heterogeneous environments
• Development and testing environments
• Virtual desktop
• legacy server consolidation
• Virtualizes access to hardware (CPU, Memory,
Storage)
• assisted by Intel and AMD
• Each VM has a guest OS
• Reduces server sprawl
• Examples
• VMARE ESX
• Citrix XEN server (Linux)
• Parallels Server
• Microsoft Hyper-V
• Trango
• Sun xVM
KCS 713/Unit-1
Technology: Containerization
• Containers are the products of operating
system virtualization.
• Lightweight virtual environment that groups and isolates a set of
processes and resources such as memory, CPU, disk, etc., from
the host and any other containers.
• The isolation guarantees that any processes inside the container
cannot see any processes or resources outside the container.
• Only one App (or microservice) at a time
• Run in isolated process on the host operating system
• Portable and efficient
• Reduces in-memory consumption
• Best for
• Multi-tenant application
• Elastic applications (automatic scaling)
• Examples
• Docker, CoreOS, RancherOS, Snappy Ubuntu Core, RedHat
Atomic, Mesosphere DCOS, Vmware Photon
KCS 713/Unit-1
Containerization Example: Docker
• Docker allows each development team to implement microservices using whatever language,
framework or runtime they deem appropriate.
• The only requirement they have to get their service to production is to provide a Docker image
(plus some basic run configuration in a YAML file) to the Ops Team.
KCS 713/Unit-1
Types of Virtualizations in Cloud Computing
•Hardware virtualization
Hardware virtualization is the extraction of computing resources from the software. The
hardware virtualization installs the hypervisor that gives rise to an abstraction layer which lies
between the software and the hardware. The software relies on virtual representations of the
computing components when the hypervisor will place.
These components are virtual processes rather than physical ones.
KCS 713/Unit-1
•Server virtualization
Server virtualization is nothing, but masking of server resources with number
and identity of the individual
physical servers. In server virtualization, a single server is divided, which
can work into multiple isolated virtual environments.
•Storage Virtualization
Storage virtualization is the division of physical storage from multiple storage
devices which finally appears as a single storage device. We can use storage
virtualization to integrate other resources and data centres into one logical
view.
Storage virtualization is an old technique, which is used to resolve many Cloud Computing Technology – Storage Virtualization
KCS 713/Unit-1
KCS 713/Unit-1
KCS 713/Unit-1
KCS 713/Unit-1
KCS 713/Unit-1
Important Questions
KCS 713/Unit-1
References
Dan C Marinescu: “ Cloud Computing Theory and Practice.” Elsevier(MK) 2013.
RajkumarBuyya, James Broberg, Andrzej Goscinski: “Cloud Computing Principles
and Paradigms”, Willey 2014.
Kai Hwang, Geoffrey C Fox and Jack J Dongarra, “Distributed and cloud computing”, Elsevier(MK)
2012.
John W Ritting house, James F Ransome: “Cloud Computing Implementation, Management and
Security”, CRC Press 2013.
KCS 713/Unit-1
KCS 713/Unit-1