You are on page 1of 61

CLOUD

COMPUTING(INE)
Rajeshwari B S
Assistant Professor
Department of Computer Science and Engineering
B M S College of Engineering
Bangalore
CLOUD COMPUTING
Cloud computing is a service provisioning technique where computing resources like
hardware such as servers and storage devices, softwares and complete platform for
developing applications are provided as a service by the cloud providers to the
customers
CLOUD COMPUTING (Cont…)
• Customers can use these resources as and when needed, can increase or
decrease resource capacities dynamically according to their requirements
and pay only for how much the resource were used.

• Customers no need to invest money to purchase, manage and scale


infrastructures, server and software updates and software licensing
Cloud Services
The services that are provided by the cloud providers are broadly classified
into three categories:

• Infrastructure-as-a-Service (IaaS)

• Platform-as-a-Service (PaaS)

• Software-as-a-Service (SaaS)
Cloud Services
• Infrastructure-as-a-Service (IaaS): In Infrastructure-as-a-Service model, the service
provider owns the hardware equipments such as storage, servers and is provided
as services to the clients. The client uses these equipments and pays on per-use
basis.
E.g. Amazon elastic Compute (EC2) and Simple Storage Service (S3).

• Platform-as-a-Service (PaaS): In Platform-as-a-Service model, where complete


resources needed to design, develop, testing, deploy and hosting an application
are provided as services without spending money for purchasing and maintaining
the servers, storage and software. PaaS is an extension of IaaS. In addition to the
fundamental computing resource supplied by the hardware in an IaaS offering,
PaaS models also include the software and configuration required to create the
platform on which clients can create their applications.
E.g. Google App Engine.

• Software-as-a-Service (SaaS): In Software-as-a-Service model, the service provider


provides software as a service over the Internet, eliminating the need to buy,
install, maintain, update on their local machine.
E.g. Accounting, CRM, Google Docs are all popular examples of SaaS.
Cloud Deployment Models
Mainly there are four cloud deployment models ( 4 ways we can create/organize a
cloud)
• Public Cloud
• Private Cloud
• Community Cloud
• Hybrid Cloud
Cloud Deployment Models (Cont…)
• Public Cloud: A public cloud is a cloud in which services and infrastructure are
hosted off-site by a cloud provider (owned by an organization selling cloud
services) and easily accessible to general public via internet.

• Private Cloud: Private Cloud is a cloud where services and infrastructure are
operated for a single operation accessible via private network, managed internally
or by a third party. It is greater level of security.
Cloud Deployment Models (Cont…)
• Community Cloud: Community Cloud is a cloud where services and
infrastructure are accessible by a group of organizations.

• Hybrid Cloud: Hybrid Cloud is a cloud which is a mixture of private and public
cloud. In this type of cloud all critical applications and data are stored in private
cloud and non critical applications and data are stored in public cloud.
A hybrid cloud allows a company to utilizing the public cloud for non-sensitive
operations while using a private setup for sensitive or mission critical operations.
Features of Cloud Computing
• It is elastic: Cloud computing is flexible in nature, where users can scale up
and scale down the resources as needed.

• Pay per use: Usage is metered and user pays only for how much the resources
were used.

• Operation: The services are completely handled by the provider.

• Reduce capital cost: No need to invest money on purchasing and maintaining


of hardware and software, software licensing, training required for IT staff.

• Remote accessibility: Users can access applications and data stored on cloud
from anywhere any time worldwide through a device with internet connection.

• Better use of IT staff: Staff with in enterprise need not worry on purchasing
and maintaining of servers, softwares, up gradation of servers and softwares,
software licensing etc., instead they can concentrate more on work.
CLOUD COMPUTING IN A NUTSHELL
• Cloud computing is an on-demand computing services initially offered by
commercial providers, such as Amazon, Google, and Microsoft.

• A model where computing infrastructure is viewed (looks like) as a “cloud,”


from which businesses and individuals access applications from anywhere in
the world on demand.(Where complete computing resources looks like placed in cloud and can be
accessed from anywhere, anytime)

• The main principle behind this model is offering computing, storage, and
software “as a service.”
ROOTS OF CLOUD COMPUTING
• Clouds computing technology has evolved with the advancement of several
technologies: (CC technology exist today because of advancement in the following technologies )

 Hardware (virtualization, multi-core chips) (advancement in h/w technology introduction of


virtualization concept and multicore chips)

 Internet technologies (Some advancement in internet technologies Web services, service-oriented


architectures, Web 2.0)

 Distributed computing (clusters, grids invention of cluster computing, Grid computing)

 Systems management (invention of system management techniques Autonomic Computing,


Automatic monitoring, Data Center Automation).
ROOTS OF CLOUD COMPUTING
Below figure shows the convergence of technology fields that significantly advanced
and contributed to the advent of cloud computing.
ROOTS OF CLOUD COMPUTING (Cont…)
1) Hardware
From Mainframes to Clouds
•Mainframes Computers is High performance computing but very expensive and
costs should be justified by efficient usage.

•The mainframe era collapsed(dropped) with the advent of fast and inexpensive
microprocessors and IT data centers moved to collections of servers.(After the
invention of microprocessor, IT data centers started using servers instead of mainframes)

•The advent of increasingly fast fiber-optics networks and new technologies


enables sharing of computing power over great distances have appeared.( Earlier we
had copper cable, twisted cable, coaxial cable-shorter distance)

•All these facts reveal the potential of delivering computing services with the
speed and reliability(Guaranteed) that businesses enjoy with their local
machines. (All these makes business people to connect the servers and accessing it at a larger distance with high
speed and reliable)
ROOTS OF CLOUD COMPUTING (Cont…)
Hardware Virtualization
•Virtualization is a method of running multiple independent virtual machines on a
single physical computer
•Hardware virtualization (Abstract Machine) is a technique whereby one or more
"virtual machines" are created sharing the hardware resources of one physical
computer, aiming at improving sharing and utilization of computer systems.
•Hardware virtualization allows running multiple operating systems and software
stacks on a single physical platform.
ROOTS OF CLOUD COMPUTING (Cont…)
• A software layer called the virtual machine monitor (VMM), also called a
hypervisor responsible for the creation and management of virtual machines.

•  An operating system that is installed in a virtual machine in addition to the host or


main OS is called as Guest OS.

• with the adoption of virtualization on a broad range of server emphasis(Highlights)


three basic capabilities: isolation, consolidation, and migration.

• Workload isolation is achieved since all program instructions are fully confined
inside a VM, which leads to improvements in security. Also better reliability because
software failures inside one VM do not affect others.

• Consolidation of several individual and heterogeneous workloads (Facebook, ERP,


General) onto a single physical machine leads to better system utilization. (Virtualization
concept allows to run Multiple different types of appns on a single server, Earlier 3 diff servers to run 3 diff appls on 3
diff environment)

• Workload migration, also referred to as application mobility facilitating hardware


maintenance, load balancing, and disaster recovery. It is done by encapsulating a
guest OS state within a VM and allowing it to be suspended, migrated to a different
platform, and resumed immediately
ROOTS OF CLOUD COMPUTING (Cont…)
• A number of VMM softwares exists: VMWare, Xen, and KVM.

VMWare ESXi

• VMWare ESXi. ESXi is a VMM from VMWare.


• It is a bare-metal hypervisor, meaning that it installs directly on the physical
server, whereas others may require a host operating system.
• It provides advanced virtualization techniques of processor, memory, and I/O.
Especially, through memory ballooning (reclaim the memory back from the
virtual machine) and page sharing, it can overcommit memory, thus increasing
the density of VMs inside a single physical server.
Xen
• The Xen has pioneered the para-virtualization concept, on which the guest
operating system, by means of a specialized kernel, can interact with the
hypervisor, thus significantly improving performance.
• Xen currently forms the base of commercial hypervisors of a number of vendors,
most notably Citrix XenServer and Oracle VM.
ROOTS OF CLOUD COMPUTING (Cont…)
KVM
• The kernel-based virtual machine (KVM) is a Linux virtualization subsystem. (Red
Hat Corporation)

•Activities such as memory management and scheduling are carried out by existing
kernel features, thus making KVM simpler and smaller than hypervisors that take
control of the entire machine.

Virtual Appliances and the Open Virtualization Format

•An application combined with the environment needed to run it (operating


system, libraries, compilers, databases, application containers, and so forth) is
referred to as a “virtual appliance.” (An environment needed to run an app is
called as virtual appliance)
•An appliance is shaped as a VM disk image associated with hardware
requirements, and it can be readily deployed in a hypervisor.
•In a multitude of hypervisors, where each one supports a different VM image
format and the formats are incompatible with one another
ROOTS OF CLOUD COMPUTING (Cont…)
• In order to facilitate packing of software to be run on VMs several vendors, including
VMware, IBM, Citrix, Cisco, Microsoft, Dell, and HP, Open Virtualization Format (OVF)
has been devised.
• An OVF file is used to describe a single virtual machine or virtual appliance.
• It can contain information about the format (layout) of a virtual disk image file as
well as a description of the virtual hardware that should be emulated to run the OS or
application contained on such a disk image.

2) Distributed computing
Grid Computing

• Grid computing is a group of networked computers which work together as a virtual


supercomputer to perform large tasks, such as analyzing huge sets of data or weather modeling
with the aim of speeding up a process of broad range of scientific applications, such as climate
modeling.

• Issues: i) Ensuring QoS in grids has been perceived as a difficult endeavor.


ii) Another issue that has lead to frustration when using grids is the availability of
resources with diverse software configurations, including disparate operating systems, libraries,
compilers, runtime environments, and so forth. (Once Systems are connected to grid with specific s/w for a
specific application, then individual system cannot be used to run stand alone application with different s/w configuration)
ROOTS OF CLOUD COMPUTING (Cont…)
• Virtualization technology has been identified as the perfect fit to issues that have
caused frustration when using grids, such as hosting many dissimilar software
applications on a single physical platform.(one virtual server can be connected to grid and another
virtual server within server can be used for standalone. This leads to Cloud Computing, this is one of the root for
emerging CC, 5 to 10 virtual machines created on single server and each machine with different configuration given
to each user).

Utility Computing

• Utility Computing refers to a type of computing technologies and business models which
provide services and computing resources to the customers, such as storage, applications
and computing power.

• This model has the advantage of a low cost with no initial price to reach the computer
resources.

• Though cloud and utility computing often conjoined together as a same concept but the
difference between them is that utility computing relates to the business model in which
application infrastructure resources are delivered, whether these resources are hardware,
software or both. While cloud computing relates to the way of design, build, and run
applications that work in a virtualization environment, sharing resources and boasting the
ability grow dynamically, shrink and the ability of self healing. (This leads to Cloud
Computing, this is one of the root for emerging CC).
ROOTS OF CLOUD COMPUTING (Cont…)
3) Internet technologies (Web services, service-oriented architectures, Web 2.0)
SOA, Web Services, Web 2.0, and Mashups

•The emergence of Web services (WS) open standards has significantly contributed to
advances in the domain of software integration. (A web service is a method of
communication between two electronic devices over a network).

•A service-oriented architecture is essentially a collection of services. These services


communicate with each other. The communication can involve either simple data passing or
it could involve two or more services coordinating some activity. ( Eg: To manage
workflows).

•This concept of gluing services initially focused on the enterprise Web, but gained space in
the consumer realm as well, especially with the advent of Web 2.0.
•In the consumer Web, information and services may be programmatically aggregated,
acting as building blocks of complex compositions, called service mashups.(Designing Web
Services, Web application from two or more sources like using google link, desktop contents;
design an app where one part contains google map, another map may contain google
calendrer, another part contains link to our own website etc)( All these leads to development
of CC)
ROOTS OF CLOUD COMPUTING (Cont…)
4) Systems management (Autonomic Computing, Data Center Automation)

Autonomic Computing
•Managing systems themselves by decreasing human involvement in their
operation.

•The concepts of autonomic computing inspire software technologies for data


center automation, which may perform tasks such as: management of service
levels of running applications; management of data center capacity; proactive
disaster recovery; and automation of VM provisioning.
• Full Virtualization: guest OSes don't know -- or care -- about the presence of a
hypervisor. The OS doesn't talk to the hypervisor. Each VM and its guest OS
works just as if it was running alone on independent computers, and no special
modifications or adaptations are needed in the OSes.

• Para-Virtualization: OS to actually recognize the presence of a hypervisor and


communicate directly with that hypervisor to share activity commands sent
from the OS to the hypervisor are dubbed hypercalls.
LAYERS AND TYPES OF CLOUDS
• Cloud computing services are divided into three classes, based on the
service model of providers, namely:
 Infrastructure as a Service
 Platform as a Service
 Software as a Service
Below figure depicts the layered architecture of the cloud stack from physical
infrastructure to applications. (Mashup editor is an editor for creating web page, web
application or web services) Structured data is typically a database, so that its elements can be made
addressable for more effective processing and analysis)
LAYERS AND TYPES OF CLOUDS SERVICES
• A core middleware manages physical resources and the VMs deployed on top of them.

• Cloud development environments are built on top of infrastructure services to offer


application development and deployment capabilities; in this level, various programming
models, libraries, APIs, and mashup editors enable the creation of a range of business, Web,
and scientific applications.

• Once deployed in the cloud, these applications can be consumed by end users . (Physical
infrastructure on the top of physical resources, virtual infrastructure were createdon top of virtual infrastructure,
development tools were provided which allows to develop business, web, sciencific applications to develop once
developed, provide these applns as a service to end users. Thus layers includes: physical resources on top includes
virtual infrastructureon top include development tools Paas next SaaS)
LAYERS AND TYPES OF CLOUDS SERVICES
Infrastructure as a Service
•Offering virtualized resources (computation, storage, and communication) on demand is known as
Infrastructure as a Service (IaaS).
•Infrastructure services are considered to be the bottom layer of cloud computing systems.

•Amazon Web Services mainly offers IaaS, which in the case of its EC2 service means offering VMs
with a software stack that can be customized similar to how an ordinary physical server would be
customized.
•Users are given privileges to perform numerous activities to the server, such as: starting and stopping
it, customizing it by installing software packages ( Whenever they want they can add required software), attaching
virtual disks to it (adding extra space), and configuring access permissions( administrator privilege: user name, password) and
firewalls rules.

Platform as a Service
•In addition to infrastructure-oriented clouds that provide raw computing and storage services,
another approach is to offer a higher level of abstraction to make a cloud easily programmable, known
as Platform as a Service (PaaS).

•A cloud platform offers an environment on which developers create and deploy applications and do
not necessarily need to know how many processors or how much memory that applications will be
using.

•Google AppEngine, an example of Platform as a Service, offers a scalable environment for


developing and hosting Web applications, which should be written in specific programming languages
such as Python or Java, and use the services’ own proprietary structured object data store. Building
blocks(for model designing, connectivity etc)
LAYERS AND TYPES OF CLOUDS
Software as a Service
•Applications resides on the top of the cloud stack and delivering applications as a
service. This is known as Software as a Service (SaaS)

•Services provided by this layer can be accessed by end users through Web portals.
Thus, consumers are increasingly shifting from locally installed computer
programs to on-line software services that offer the same functionally.

•Traditional desktop applications such as word processing and Excel (Google Drive
without installing Microsoft word, excel) can now be accessed as a service in the Web.

•SaaS, alleviates the burden of software maintenance for customers

•Salesforce.com, which relies on the SaaS model, offers business productivity


applications (CRM) that reside completely on their servers, allowing costumers to
customize and access applications on demand.
DESIRED FEATURES OF A CLOUD
• Certain features of a cloud are essential to enable services that truly represent the cloud
computing model and satisfy expectations of consumers
 Self-service
 Per-usage metered and billed
 Elastic
 Customizable.
Self-Service
• Consumers of cloud computing services expect on-demand, nearly instant access to
resources. To support this expectation, clouds must allow self-service access so that
customers can request, customize, pay, and use services without intervention of human
operators.(Today on demand instant resource access, so cloud must provide on demand resource access, customize, use, pay without
any system administrator or hardware and software vendors. Cloud must provide automatic access to respurces, creation of VMs, customize
etc)

Per-Usage Metering and Billing


• Cloud computing eliminates up-front commitment by users, allowing them to request and
use only the necessary amount. (CC must eliminate up front or over commitment of resources upcoming requests)
• Services must be priced on a short term basis (e.g., by the hour), allowing users to release
(and not pay for) resources as soon as they are not needed.
• For these reasons, clouds must implement features to allow efficient trading of service such
as pricing, accounting, and billing.
• Metering should be done accordingly for different types of service (e.g., storage, processing,
and bandwidth) and usage promptly reported, thus providing greater transparency.
DESIRED FEATURES OF A CLOUD
Elasticity
•Cloud computing gives the illusion of infinite computing resources available on demand.
Therefore users expect clouds to rapidly provide resources in any quantity at any time. In
particular, it is expected that the additional resources can be

(a) provisioned, possibly automatically, when an application load increases and


(b) released when load decreases (scale up and down).
Customization
•In a multi-tenant cloud, a great disparity between user needs is often the case.

•Thus, resources rented from the cloud must be highly customizable. In the case of
infrastructure services, customization means allowing users to deploy specialized virtual
appliances and to be given privileged (root) access to the virtual servers. ( i.e users by taking
virtual servers, deploying applications on the server and running whenever he want, providing access privilege to virtual
machines, providing access privilege to database etc)

•Other service classes (PaaS and SaaS) offer less flexibility and are not suitable for general-
purpose computing, but still are expected to provide a certain level of customization.
( Customize to provide privileged access to only some set of peoples)
CLOUD INFRASTRUCTURE MANAGEMENT
• A key challenge for IaaS providers when building a cloud infrastructure ( Building
cloud data center) is managing physical and virtual resources, namely servers, storage,
and networks, in a holistic fashion.

• The software toolkit responsible for rapidly and dynamically provision resources
to the applications is called a virtual infrastructure manager (VIM). (Physical
servermain OSHypervisorcreates VM’srunning applications on VM’s, otherthan that there is a software
toolkit called VIM responsible for scheduling incoming request to VM’s, instructing hypervisor to dynamically
allocate extra resources when needed, monitoring failover of VM or entire physical server, managing storage and
networks)

• This type of software resembles a traditional operating system—but instead of


dealing with a single computer, it aggregates resources from multiple computers,
presenting a uniform view to user and applications.

• Other names for virtual infrastructure manager is “Cloud Operating System” or


“Infrastructure Sharing Software” or “Virtual Infrastructure Engine”.
Features of Virtual Infrastructure Manager
Features that are available in VIMs (Functionalities)
1)Virtualization Support
•The multi-tenancy aspect of clouds requires multiple customers with disparate requirements to
be served by a single hardware infrastructure .(i.e Sharing single server resources by multiple customers).

• Virtualized resources (CPUs, memory, etc.) can be sized and resized with certain flexibility.

•Hardware virtualization, the ideal technology to create a virtual infrastructure that partitions a
data center among multiple tenants. (VIM must support virtualization, instructing hypervisors to add or
removing resources based on request, when new customer needs virtual infrastructure instructing hypervisor, supporting
virtualization)

2) Self-Service, On-Demand Resource Provisioning.


•Self-service access to resources has been observed as one the most attractive features of
clouds.

•This feature enables users to directly obtain services from clouds, such as creation of a server
and modifying its software, configurations, and security policies, without interacting with a
human system administrator.

•Exposing a self-service interface, through which users can easily interact with the system, is a
highly desirable feature of a VI manager.(users through an interface and internet request for creating VM,
increasing compute capacity or memory capacity, handing and managing of these requests is a job of VIM)
Features of Virtual Infrastructure Manager(Cont…)
3) Multiple Backend Hypervisors
• Different virtualization models and tools offer different benefits, drawbacks, and limitations.

•Thus, some VI managers provide a uniform management layer regardless of the virtualization
technology used, which usually provide pluggable drivers to interact with multiple
hypervisors.

•The aim of libvirt allowing VIM to interact and manage with multiple hypervisors like KVM,
Xen, VMware ESX, QEMU and other virtualization technologies (libvirt is an open-source API,
daemon and management tool for managing platform virtualization ).
4) Storage Virtualization
• Virtualizing storage means abstracting logical storage from physical storage.

•By consolidating all available storage devices in a data center, it allows creating
virtual disks independent from device and location.
•Storage devices are commonly organized in a storage area network (SAN) and
attached to servers via protocols such as Fibre Channel, iSCSI, and NFS.
•Storage Controller provides the layer of abstraction between virtual and physical
storage (Some set of storage devices within data center connected together as a SAN network and are connected to all servers through
some protocols. For eg: 10 blocks of storage may be given to user1 and 500 blocks from same storage device to user2. server access user1
storage blocks and user2 storage blocks from same storage device users feels that they have different storage device provided to them but
actually they are sharing same stroage device virtually. and Storage Controller : creating of virtual disks according to the customer needs,
Manages physical and virtual disks)
Features of Virtual Infrastructure Manager(Cont…)

5) Interface to Public Clouds


•Extending the capacity of a local in-house computing infrastructure by borrowing resources
from public clouds is advantageous.

• In this fashion, institutions can make good use of their available resources and, in case of
spikes in demand, extra load can be offloaded to rented resources.

•A VI manager can be used in a hybrid cloud setup if it offers a driver to manage the
virtualized resources obtained from external cloud providers.

• To the applications, the use of leased resources must ideally be transparent .


Features of Virtual Infrastructure Manager(Cont…)
6) Virtual Networking
•Virtual networks allow creating an isolated network on top of a physical infrastructure
independently from physical topology and locations. (The main purpose of a virtual network is to enable
a data center network to provision the most suitable and efficient networking structure for the applications it hosts – and to
alter that structure as conditions warrant, using software rather than requiring physical changes in connections to hardware ).

•Classes of virtual networking: VLAN and VPN

•A virtual local area network (virtual LAN) is the logical grouping of network nodes allowing
geographically dispersed network nodes to communicate as if they were physically on the same
network with configuring on switches by placing some interfaces.

•Additionally, a VLAN can be configured to block traffic originated from VMs from other networks.

•Similarly, the VPN (virtual private network) concept is a secure and private network on top of a
public network public Internet.

•Support for creating and configuring virtual networks among group VMs is provided by VI
managers.

•Additionally, VI managers that interface with public clouds often support secure VPNs connecting
local and remote VMs
Features of Virtual Infrastructure Manager(Cont…)
7) Dynamic Resource Allocation
• Increased awareness of energy consumption in data centers has encouraged the practice of
dynamic consolidating VMs in a fewer number of servers.

•In cloud infrastructures, where applications have variable and dynamic needs, capacity
management and demand prediction are especially complicated.

•This fact triggers the need for dynamic resource allocation.

•Energy consumption reduction and better management of SLAs can be achieved by


dynamically remapping VMs to physical machines at regular intervals.

•Machines that are not assigned any VM can be turned off or put on a low power state.

•In the same fashion, overheating can be avoided by moving load away from hotspots.

•A number of VI managers include a dynamic resource allocation feature that continuously


monitors utilization across resource pools and reallocates available resources among VMs
according to application needs.
Features of Virtual Infrastructure Manager(Cont…)
8) Virtual Clusters
• Several VI managers can holistically manage groups of VMs.

•This feature is useful for provisioning computing virtual clusters on demand, and
interconnected VMs for multi-tier Internet applications. (Multi tier app has N layers for
eg:database layer, Interface Layer, computation layer. 3 or more VMs can be virtually connected and work on single appln,
each VM work on each layer)

9) Reservation and Negotiation Mechanism


• When users request computational resources to available at a specific time, then
such a requests are termed advance reservations (AR).

•To support complex requests, such as AR, a VI manager must allow users to “lease”
resources expressing more complex terms (e.g., the period of time of a reservation).

•Additionally, leases may be negotiated and renegotiated, allowing provider


and consumer to modify a lease or present counter proposals until an
agreement is reached.
Features of Virtual Infrastructure Manager(Cont…)
10) High Availability and Data Recovery
•The high availability (HA) feature of VI managers aims at minimizing application downtime
(Make servers/service always available and servicing in some other machine if machine fails) and preventing
business disruption.

•A few VI managers accomplish this by providing a failover mechanism, which detects failure
of both physical and virtual servers and restarts VMs on healthy physical servers.

•For mission critical applications, when a failover solution involving restarting VMs does not
suffice, additional levels of fault tolerance are implemented . (Continue operation without interruption)

•So, redundant and synchronized VMs (running or in standby) are kept in a secondary
physical server.

•The HA solution monitors failures of system components such as servers, VMs, disks, and
network and ensures that a duplicate VM serves the application in case of failures.

•Frequent backup of a large number of VMs, each one with multiple virtual disks attached,
should be done with minimal interference in the systems performance.

• So, some VI managers offer data protection mechanisms that perform incremental backups
of VM images. The backup workload is often assigned to proxies, thus offloading production
Case Studies: VIM
The most popular VI managers available are
•Apache VCL
•AppLogic
•Citrix Essentials
•Enomaly ECP
•Eucalyptus
•Nimbus3
•OpenNebula
•OpenPEX
•oVirt
•Platform ISF
•VMWare vSphere and vCloud
Case Studies: VIM
Apache VCL
•The Virtual Computing Lab project has been incepted in 2004 by researchers at the North Carolina State
University providing desktop (virtual lab) and HPC computing environments anytime, in a flexible cost
effective way and with minimal intervention of IT staff.

•This have been released as open-source and incorporated by the Apache Foundation.

• In this sense, VCL was one of the first projects to create a tool with features such as: self-service Web
portal, to reduce administrative burden; advance reservation of capacity, to provide resources during classes;
and deployment of customized machine images on multiple computers, to provide clusters on demand.

AppLogic
• AppLogic is a commercial VI manager, the flagship product of 3tera Inc. from California, USA.

•The company has labeled this product as a Grid Operating System.

•AppLogic provides a fabric to manage clusters of virtualized servers, focusing on managing multi-tier Web
applications.

•Several components such as firewalls, load balancers, Web servers, application servers, and database
servers can be set up and linked together. Whenever the application is started, the system manufactures and
assembles the virtual infrastructure required to run it. Once the application is stopped, AppLogic tears down
the infrastructure built for it.

•AppLogic offers Disaster Recovery and Power optimization to applications


Case Studies: VIM (Cont…)
Citrix Essentials
•The Citrix Essentials suite (Collections) is complete VI management software, focusing on
management and automation of data centers.

•It is currently supporting Citrix XenServer and Microsoft Hyper- V.

•Citrix Essentials provides the following features: Windows based controller; GUI, CLI ( Graphical
User Interface and Command Line Interface), XML-RPC interfaces; Citrix Storage Link storage
virtualization; virtual networks; dynamic resource allocation; three-level high availability (i.e.,
recovery by VM restart, recovery by activating paused duplicate VM, and running duplicate VM
continuously); data protection with Citrix Consolidated Backup.

Enomaly ECP
•The Enomaly Elastic Computing Platform, offers most features a service provider needs to build
an IaaS cloud.

•ECP Service Provider Edition offers a Web-based customer dashboard that allows users to fully
control the life cycle of VMs.

•Enomaly ECP provides the following features: Linux-based controller (Platform installation on Linux) ;
Xen back-end; interface to the Amazon EC2 public cloud; virtual networks; virtual clusters
(ElasticValet).
Case Studies: VIM (Cont…)
Eucalyptus
• The Eucalyptus framework was one of the first open-source projects to focus on building
IaaS clouds.

•It has been developed with the intent of providing an open-source implementation nearly
identical in functionality to Amazon Web Services APIs
(Provides interface to obtain and configure capacity, Provides complete control of computing resources and runs web
applications) .

• Therefore, users can interact with a Eucalyptus cloud using the same tools they use to
access Amazon EC2.

•It also distinguishes itself from other tools because it provides a storage cloud API—
emulating the Amazon S3 API—for storing general user data and VM images .(Provides API using
which users can access only storage space to store users data as well as VM image: A virtual machine image is a template
for creating new instances choosing from a catalog to create images or save our own images from running instances
with the proper patches and that any software is installed and configured with good default settings. )

•In summary, Eucalyptus provides the following features: Linux-based controller; EC2-
compatible and S3-compatible Xen, KVM, and VMWare backends; Amazon EBS-compatible
virtual
Case Studies: VIM (Cont…)
Nimbus3
•The Nimbus toolkit provides most features in common with other open-source VI managers,
such as an EC2-compatible front-end API, support to Xen.

• However, it distinguishes from others by providing a Globus Web Services Resource


Framework (WSRF) interface (Service requestors configure and access resources indirectly through Web Services.
Using this framework, application running on one system accessing resources from cloud using XML, SOAP)) .

•Nimbus provides the following features: Linux-based controller; EC2-compatible and WSRF
interfaces; Xen and KVM backend; virtual networks; one-click virtual cluster.

OpenNebula
• OpenNebula is one of the most feature-rich open-source VI managers.

• It was initially conceived to manage local virtual infrastructure, but has also included remote
interfaces to build public clouds.

•The Core module coordinates physical servers and their hypervisors, storage nodes, and
network fabric, Scheduler module, offers dynamic resource allocation features. packing VMs in
fewer hosts or keeping the load balanced, advance reservation of capacity, Linux-based
controller; CLI, XML-RPC; Xen, KVM, and VMware backend; interface to public clouds (interface
with other public cloud such as Amazon) ,virtual networks.
Case Studies: VIM (Cont…)
OpenPEX
•OpenPEX (Open Provisioning and EXecution Environment) VI manager developed with a
notion of using advance reservations.

•It distinguishes from other VI managers by supporting advance reservation of capacity with
negotiation, which incorporates a bilateral negotiation that allows users and providers to
come to an agreement by exchanging offers and counter offers when their original requests
cannot be satisfied.

oVirt
• oVirt is an open-source VI manager, sponsored by Red Hat’s Emergent Technology group.

•It provides most of the basic features like managing physical server pools, storage pools, user
accounts, and VMs, Fedora Linux-based controller, KVMbackend.

Platform ISF

VMWare vSphere and vCloud


INFRASTRUCTURE AS A SERVICE PROVIDERS
• Infrastructure as a Service (IaaS) providers commonly offer virtual servers
containing one or more CPUs, memory, storage space and communication
facilities.

Features of IaaS

• The most relevant features of IaaS are:

(i) Geographic distribution of data centers; (Data centers are distributed geographically)

(ii) Variety of user interfaces and APIs to access the system; (Support for diff types of
interfaces to access the infrastructures)

(iii)Specialized components and services that aid particular applications


(e.g., load balancers, firewalls); (includes specialized components and services)

(iv) Choice of virtualization platform and operating systems;

(v) Different billing methods and period (e.g., prepaid vs. post-paid, hourly vs.
monthly).
INFRASTRUCTURE AS A SERVICE PROVIDERS: FEATURES
1) Geographic Presence (Cont…)

• To improve availability and responsiveness, a provider typically build several data centers
distributed around the world. (Where ever you go, to access data/server from the cloud and respond immediately
without delay provider typically build several data centers distributed around the world)

• For example, Amazon Web Services presents the concept of “availability zones” and
“regions” for its EC2 service.

• Availability zones are “distinct locations that are engineered to be insulated from failures
in other availability zones and provide inexpensive , low-latency network connectivity to
other availability zones in the same region.” (South India Karnataka, Andra, Tamilnadu, Kerala in each place
one data center Availability zone insulated from failures in other availability zones . North india Punjab, Haryana, Uttar Pradesh,
Bihar in each place one data center Availability zone insulated from failures in other availability zones) (Insulated from failure
Users when launch virtual machine, can specify locations where the infrastructure needed to be. If selected at multiple zones, if
instance fails at one zone, an instance in another Availability Zone can handle requests. By launching your instances in separate
Availability Zones, you can protect your applications from the failure of a single location.)

• Regions, in turn, “are geographically dispersed and will be in separate geographic areas
or countries.
Explanation on Zones and Regions for your reference
• Amazon EC2 service spread across multiple locations all over the world. These locations are
divided into zones and regions. Each geographical area is called as Regions. For Eg: South India
Region1, North india Region2 etc. Within each region, set of datacenters in one particular
locations called zones. For eg: Set of data centers in KarnatakaZone1, : Set of data centers in
KeralaZone2 etc. Zones are connected and insulated from failure. For eg: User/business can
create two instances/VM one in Karnataka data center and another in Kerala data center.
Application running on one instance in Karnataka. If something happened to VM like application
crash or storage crash or VM server crash automatically starts up instance created in Kerala and
request are directed to the second instance/VM). Regions are not insulated from failure unless
user

• Datacenter in South India and datacenters in North India are two separate regions will not be
insulated from failures in other regions. Amazon EC2 presents the concept of “availability zones”
and “regions” for its EC2 service. Each region is a separate geographic area. Each region has
multiple, isolated locations known as Availability Zones. Each region is completely independent.
Availability Zones in a region are connected through low-latency links. Amazon EC2 provides you
the ability to place resources, such as instances, and data in multiple locations. Resources aren't
replicated across regions unless you do so specifically. When you launch an instance, you can
select an Availability Zone or let us choose one for you. If you distribute your instances across
multiple Availability Zones and one instance fails, you can design your application so that an
instance in another Availability Zone can handle requests. South India, North India, East India and
West India is taken as a separate regions , each one is isolated. Each region has availability zones
for e.g.: in South India: Karnataka, Kerala, Andra, Tamilnadu insulated from failures )
INFRASTRUCTURE AS A SERVICE PROVIDERS: FEATURES
2) (Cont…)
User Interfaces and Access to Servers.
• Ideally, IaaS provider must provide multiple access means (Different ways of accessing cloud) to its
cloud.

• Thus supporting different types of user interfaces (UI) for various users and their
preferences providing different levels of abstraction.

• The most common user interfaces:


 Graphical User Interfaces (GUI)
 Command-Line Interfaces (CLI)
 Web service (WS) APIs.

• GUIs are preferred by end users who need to launch (Create), customize (Adding/removing resources to
VM’s) , and monitor a few virtual servers and do not necessary need to repeat the process
several times.(Every day start and shut down, use occasionally)

• CLIs offer more flexibility and the possibility of automating repetitive tasks via scripts (e.g.,
start and shutdown a number of virtual servers at regular intervals. Write scrips that executes automatically at a
specific time)

• WS APIs offer programmatic access to a cloud using standard HTTP requests, thus allowing
complex services to be built on top of IaaS clouds . (The Hypertext Transfer Protocol (HTTP) is designed to
enable communications between clients and servers. HTTP works as a request-response protocol between a client and
server. A web browser may be the client, and an application on a computer that hosts a web site may be the server.
app running on desktop can connect to cloud and store data)
INFRASTRUCTURE AS A SERVICE PROVIDERS: FEATURES
3) Advance Reservation of Capacity (Cont…)
• Advance reservations allow users to request an IaaS provider to reserve resources for a specific
time frame in the future, ensuring that cloud resources will be available at that time.

• Amazon Reserved Instances is a form of advance reservation of capacity, allowing users to pay
a fixed amount of money in advance to guarantee resource availability at anytime during an
agreed period and then paying a discounted hourly rate when resources are in use (in advance
reservation scheme, providers offer discount of 50% for eg).

• However, only long periods of 1 or 3 years are offered (purchased for 1-year or 3-year term)

4) Automatic Scaling and Load Balancing


• Automatic scaling is a highly desirable feature of IaaS clouds. Applications often need to scale
up and down to meet varying load conditions (Application need to increase or decrease the resource capacity
depending upon number of incoming request).

• It allow users to set conditions for when they want their applications to scale up and down,
based on application-specific metrics such as transactions per second, number of simultaneous
users, request latency, and so forth. (Users can make an agreement to increase the resource capacity/ add
another VM automatically when number of requests >=1000/sec or increase resource capacity when response time falls
above 1 sec )

• When the number of virtual servers is increased by automatic scaling, incoming traffic must be
automatically distributed among the available servers.

• This activity enables applications to promptly respond to increased traffic while also achieving
greater fault tolerance.
INFRASTRUCTURE AS A SERVICE PROVIDERS: FEATURES
(Cont…)
5) Service-Level Agreement

• Service-level agreements (SLAs) are offered by IaaS providers to the customers in delivering
guaranteed Quality of Service.

• To customers it serves as a warranty.

• An SLA usually include availability and performance guarantees, agreement upon by both
provider and customer as well as penalties in case of SLA violating . ( Agreement that 99% server available
and response time will be less than 1 sec if fails provider pay penalty or concession in bill amount)

• Most IaaS providers focus their SLA terms on availability guarantees, specifying the minimum
percentage of time the system will be available.

• For instance, Amazon EC2 states that “if the annual uptime percentage for a customer drops
below 99.95% for the service year, then customer is eligible to receive a credit of 10% of their
bill.

6) Hypervisor and Operating System Choice


• Traditionally, IaaS offerings have been based on heavily customized open-source Xen
deployments, Where IaaS providers needed expertise in Linux, networking, virtualization,
metering, resource management, and many other low-level aspects to successfully deploy and
maintain their cloud offerings.

• More recently, there has been an arrival of turnkey IaaS platforms such as VMWare vCloud and
Citrix Cloud Center (C3), leading to a rapid expansion in the IaaS marketplace.
INFRASTRUCTURE AS A SERVICE PROVIDERS: Case Studies
Most popular public IaaS providers and features
1)Amazon Web Services (IaaS service from Amazon)
•Amazon WS (AWS) is one of the major players of IaaS clouds
•It offers a variety cloud services
S3 (storage),
EC2 (virtual servers)
Cloudfront (content delivery) (Cloudfront content delivery network (CDN) provides a globally-distributed
network of proxy servers which cache content, such as web videos or other bulky
media, more locally to consumers, thus improving access speed for downloading
the content. Proxy Server is intermediary between an endpoint device)
Cloudfront Streaming (video streaming)
SimpleDB (structured datastore) (Amazon SimpleDB is a simple database storage space
solution where developers can simply store data and allow
their customers to access via web services requests)
RDS (Relational Database)
SQS (reliable messaging) (Simple Queue Service provides queue between the servers where
applications can exchange msgs)
Elastic MapReduce (data processing).

•The Elastic Compute Cloud (EC2) offers Xen-based virtual servers (instances) available in a variety of sizes,
operating systems, architectures, and price.

•CPU capacity of instances is measured in Amazon Compute Units available from 1 (small instance) to 20
(high CPU instance).

•Each instance provides a certain amount of non persistent disk space; a persistence disk
service (Elastic Block Storage) allows attaching virtual disks to instances with space up to 1TB.
INFRASTRUCTURE AS A SERVICE PROVIDERS: Case Studies (Cont…)
2) Flexiscale (Another IaaS service from UK-based provider )

• 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). (persistent
storage data storage device that retains data after power to that device is shut off)

• Similar to the clouds, this service is also priced by the hour.

In summary, the Flexiscale cloud provides the following features:

• Web services (SOAP), Web-based user interfaces; access to virtual server mainly via SSH
(Linux) and Remote Desktop (Windows). (SOAP is an XML-based protocol for accessing web
services over HTTP.SSH Secure Shell or Secure Socket Shell is a protocol for secure remote login
from one computer to another. Remote Desktop protocol designed for remote management, as
well as for remote access to virtual servers)

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


INFRASTRUCTURE AS A SERVICE PROVIDERS: Case Studies (Cont…)
3) Joyent (Another IaaS service from Joyent Inc.  software and services company based in San Francisco, California)
• Joyent’s Public Cloud offers Virtual servers based on Solaris containers virtualization
technology.

• These servers 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.

• A notable feature of Joyent’s virtual servers is automatic vertical scaling of CPU cores, up
to the maximum number of cores available in the physical host.

In summary, the Joyent public cloud offers the following features:

• Multiple geographic locations in the United States; Web-based user interface; access to
virtual server via SSH and Web-based administration tool;
• 100% availability SLA;
• per month pricing;
• Open- Solaris operating systems;
• Automatic scaling (vertical).
INFRASTRUCTURE AS A SERVICE PROVIDERS: Case Studies (Cont…)
4) GoGrid (Another IaaS service from GoGrid, San Francisco-based company founded in 01/2001
• 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.

• It offers some notable features, such as a “hybrid hosting” facility, which


combines traditional dedicated hosts with auto-scaling cloud server
infrastructure. (hybrid hosting local dedicated host can be combined with virtual server in the
cloud for serving requests).

• In this approach users can take advantage of dedicated hosting


(hybrid hosting),
(which may be required due to specific performance, security or legal compliance reasons) and
combine it with on-demand cloud infrastructure as appropriate.

• GoGrid also provides free hardware load balancing, auto-scaling capabilities, and
persistent storage.
INFRASTRUCTURE AS A SERVICE PROVIDERS: Case Studies (Cont…)
5) Rackspace Cloud Servers ( Another IaaS service from Rackspace)

• Rackspace Cloud Servers is an IaaS solution that provides fixed size instances in
the cloud. (Fixed sized CPU1 Ghz,2 Ghz, 4 Ghz…)

• A user can request different-sized images, where the size is measured by


requested RAM, not CPU. (Can request for different sized RAM)

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

• Cloud Servers, as part of its default offering, enables fixed (static) IP addresses,
persistent storage, and load balancing (via A-DNS) at no additional cost.
PLATFORM AS A SERVICE PROVIDERS: Features
• Public Platform as a Service providers commonly offer a development and deployment
environment that allow users to create and run their applications.
• 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.

• Features
1) Programming Models, Languages, and Frameworks.
• Support for different programming model aims at efficiently solving a particular problem.
• In the cloud computing domain, the most common activities that require specialized
models are: processing of large dataset in clusters of computers (MapReduce model),
definition and orchestration of business processes in the form of workflows (Workflow
model); high-performance distributed execution of various computational tasks
(Computational model).

• PaaS providers usually support multiple programming languages include Python and Java
(e.g., Google AppEngine), .NET languages (e.g., Microsoft Azure), and Ruby (e.g., Heroku).
Force.com has devised its own programming language (Apex).

• A variety of software frameworks are usually made available to PaaS developers,


depending on application focus such as Ruby on Rails, Spring, Java EE, and .NET.
PLATFORM AS A SERVICE PROVIDERS: Features
2) 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. (Must support for recording
application execution status at a specific time interval and recover from it in case of failure)

• In the cloud computing domain, distributed storage technologies have


emerged, which seek to be robust and highly scalable. (Must support for scalable data
storage by an application)

• For example, Google AppEngine datastore offer schema-less, automatically


indexed database services
PLATFORM AS A SERVICE PROVIDERS: Case Studies
Most popular public PaaS providers and features

1)Aneka (PaaS service)


•Aneka is a .NET based service-oriented resource management and
development platform.

•It supports services for persistence, security (authorization, authentication


and auditing), and communication (message handling and dispatching).

•Several programming models are supported to enable execution of legacy


HPC applications and MapReduce, which enables a variety of data-mining
and search applications.

•Users request resources via a client device to a reservation services


manager of the Aneka master node, which manages all cloud nodes and
contains scheduling service to distribute request to cloud nodes.
PLATFORM AS A SERVICE PROVIDERS: Case Studies (Cont…)
2) App Engine (Another PaaS service from Google)
• Google App Engine lets us run our Python and Java Web applications on elastic
infrastructure supplied by Google. (Supports to develop web applications using Python or
Java and run on Google server)

• App Engine allows our applications to scale dynamically as our traffic and data
storage requirements increase or decrease.

• It gives developers a choice between a Python stack and Java.

• Sometimes application developer need to use specific Google APIs such as


URLFetch, Datastore, and memcache in place of certain native API calls.

• For example, a deployed App Engine application cannot write to the file system
directly (we must use the Google Datastore (NoSQL database) or open a socket or access another
host directly (we must use Google URL fetch service).
PLATFORM AS A SERVICE PROVIDERS: Case Studies (Cont…)
3) Microsoft Azure (Another PaaS service from Microsoft)

• Microsoft Azure Cloud Services offers developers a hosted .NET Stack (C#, VB.Net,
ASP.NET).

•The Windows Azure Fabric Controller provides auto-scaling and reliability.

• it manages memory resources and load balancing. (Increase/decrease memory according


to requirement automatically)

•Supports .NET Service Bus registers and connects applications together.

•The .NET Access Control identity providers include enterprise directories and
Windows LiveID.

•Finally, the .NET Workflow allows construction and execution of workflow


instances. (supports for developing and execution of workflow model Registration, verification,
billing, dispatching)
PLATFORM AS A SERVICE PROVIDERS: Case Studies (Cont…)
4) Force.com (Another PaaS service from SalesForce)

• the Force.com PaaS allows developers to create add-on functionality that


integrates into main Salesforce CRM SaaS application.

•Force.com offers developers two approaches to create applications: a hosted Apex


or Visualforce application. (Apex Object oriented programming language,
VisualforceFramework)

•Apex is a proprietary Java-like language and Visualforce is an XML-like syntax for


building UIs in HTML

•An application store called AppExchange is also provided, which offers a paid &
free application directory. (Just like play store Built-in apps like logger, advisor etc, can use and
integrate with our business applications).
PLATFORM AS A SERVICE PROVIDERS: Case Studies (Cont…)
5) Heroku
• Heroku is a platform for instant deployment of Ruby on Rails Web
applications ( provides platform to design web app using ruby on rail framework and deploy).

• Applications are automatically dispersed across different CPU cores and


servers, maximizing performance and minimizing contention. (deployed
applications may be dispersed across different CPU cores and servers and improves performance
depending upon no. of requests).

• Heroku has an advanced logic layer that can automatically route around
failures, ensuring seamless and uninterrupted service at all times.(if one system
fails automatically redirect request to another instance or create new instance of app, takes care of seamless
and uninterrupted service ).

You might also like