0% found this document useful (0 votes)
16 views

Cloud Computing

Uploaded by

Raksa Kun
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Cloud Computing

Uploaded by

Raksa Kun
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 51

Session 1: Basics of CC

♥ PC-centric: documents can be accessed from other computers on the network, but
they can’t be accessed by computers outside the network.
♥ With cloud computing, the software programs that we use aren’t run from our PC,
rather they are stored on and run from servers (physical or virtual) and are accessed
via the Internet. When our PCs crash, the software is still available for others to use.
♥ Documents we create are stored on a collection of servers accessed via the
Internet. Anyone with permission can edit and collaborate on those documents in
real time.
♥ Cloud computing is a type of computing that relies on sharing computing
resources rather than having local servers or personal devices to handle the
applications.
♥ Cloud computing model is document-centric.
♥ Cloud ~ the Internet
♥ Cloud computing is a type of Internet-based computing, that different services
such as servers, storage and applications are delivered to PCs and devices over the
Internet.
♥ Cloud computing is comparable to large scale of grid computing across the
Internet.
♥ Grid computing is a type of computing that unused processing cycles of all PCs in
a local area network are harnesses to solve the problems of any standalone machine.
♥ Parallel computing:
♥ Why Cloud Computing?
♦ User-centric
♦ Task-centric
♦ Powerful
♦ Accessible
♦ Intelligent
♦ Programmable
♥ Cloud architecture:
♦ For individual users, the cloud is seen as single application, device, or document
♦ Hardware and OS used in the cloud to manage hardware connections are
invisible
♥ Elastic cloud is different from enterprise virtualization:
♦ Elastic cloud:
♣ On-demand self-service
♣ Broad network access
♣ Resource pooling
♣ Rapid elasticity
♣ Measured service
♦ Enterprise virtualization:
♣ Many applications on each sever
♣ Maximum server utilization
♣ Minimum server count
♥ Problems that cloud computing solves:
♦ Provides framework for building elastic cloud infrastructure at massive scale
♦ Facilitates management of computation, network, and storage resources
♦ Provides infrastructure for elastic applications
Why Elastic Cloud Is Needed?
♥ Our data is too large to be handled by a single computer.
♥ Requested services are too large.
♥ Deal with server’s failures.

Features of Elastic Cloud


♥ On demand: resources are dynamically created.
♥ Multi-tenant: resources are shared between users.
♥ Elasticity: infrastructure is flexible (grow/reduce).
♥ Measured by services: users pay what they use.
♥ Business: focus on business need.
Cloud Service Models
♥ There are 3 main service models of cloud:
♦ Software as a Service (SaaS)
♦ Platform as a Service (PaaS)
♦ Infrastructure as a Service (IaaS)

♥ Legend: white is managed by user, red is managed by vendor.


♥ SaaS:
♦ Also defined as service-on-demand. Service provider licenses software tailored.
♦ Cloud providers install and operate application software in the cloud server,
then users can access to the software from cloud clients.
♦ Cloud users can’t manage cloud infrastructure or platform that run application.
♦ This eliminates the need to install and run application on cloud user's PC, which
simplifies the maintenance and support.
♦ EX of SaaS include Google Apps, Microsoft Office 365, Onlive, GT Nexus,
Marketo, and TradeCard.
♦ Advantages:
♣ Broad applications like Facebook, Gmail, and Hotmail.
♣ Free or paid according to subscription.
♣ Access from any PCs or devices.
♣ Provide various API for software integration.
♣ Facilitate the collaborative working.
♦ Disadvantage:
♣ Generic applications aren’t always suitable for business use.
♥ PaaS:
♦ Cloud providers deliver computing platform including OS, programming
language, execution environment, DB, and web server.
♦ Application developers can develop and run their software solutions on cloud
platform without the complexity of buying and managing the underlying hardware
and software layers. EX: MySQL, Oracle, Java, .NET Framework.
♦ EX of PaaS include AWS Elastic Beanstalk, Cloud Foundry, Heroku, Force.com,
EngineYard, Mendix, OpenShift, Google App Engine, Windows Azure Cloud Services
and OrangeScape.
♦ Advantages:
♣ Reduces the development and maintenance time and cost because we can
develop, deploy and test any application on same integrated environment.
♣ There is no need of downloading or installing application, users can
experience the software online.
♣ Pay for use.
♣ Shared architecture – users can access the same application concurrently.
♣ Private or public deployment.
♦ Disadvantages:
♣ Limit the developers – provide only particular languages and tools.
♥ IaaS:
♦ The most basic cloud-service model.
♦ IaaS providers offer virtual machines (VM) and other resources such as virtual-
machine disk image library, raw (block) and file-based storage, firewalls, load
balancers, IP addresses, virtual LANs, and software bundles.
♦ IaaS-cloud providers supply these resources on-demand from their large pools
installed in data centers. EX: servers, storage media.
♦ Advantages:
♣ Distribute the resources as a service.
♣ Dynamic scaling is allowed.
♣ Cost varies.
♣ Multiple users or customers can access to the same hardware.
♣ Full scalability.
♣ Infrastructure maintenance isn’t needed for end-users.
♦ EX of IaaS providers include Amazon EC2, Azure Services Platform, DynDNS,
Google Compute Engine, HP Cloud, iland, Joyent, LeaseWeb, Linode, NaviSite,
Oracle IaaS, Rackspace Cloud, ReadySpace Cloud Services, ReliaCloud, SAVVIS,
SingleHop.
Some Cloud Service Providers

`
♥ Cloud is made up of: application, network and storage virtualization.
♥ Application virtualization:
♦ Remote application virtualization:
♣ Run on a server. End users view and interact with their applications over
network via remote display protocol.
♣ The remote applications can be completely integrated with the user’s desktop
so that they appear and behave just like local applications.
♦ Streaming applications virtualization:
♣ Virtualized application is executed on end user’s local computer.
♣ When application is requested, its components are downloaded to local
computer on demand. Only certain parts of application are required in order to
launch, the remainder can be downloaded in background as needed.
♣ Once download is completed, streamed application can function without
network connection.
♥ Network virtualization:
♦ The process of combining hardware, software, network resources and network
functionality into a single component.
♦ It is a method of combining available resources in a network by splitting up
available bandwidth into channels. Each of which is independent from one another,
and can be assigned to particular server or device in real time.
♦ Components of network virtualization include:
♣ Virtual network interface cards (VNICs)
♣ Virtual switches
♥ Storage virtualization:
♦ The process of grouping physical storage from multiple-network-storage
devices so that it looks like a single storage device.
♥ Server virtualization:
♦ The masking of server resources including number of individual physical servers,
processors, and OS from users.
♦ Server administrator uses software application to divide a physical server into
multiple isolated virtual environments called guest, instance, container or emulation.
Advantages of Cloud Computing
♥ Optimized server utilization: as most enterprises typically underutilize their server
computing resources, cloud computing manages server utilization to optimum level.
♥ Cost saving: IT infrastructure costs are substantial and are treated as capital
expense (CAPEX). Cloud computing cost saving can be realized through resource
pooling, then IT infrastructure cost can be used as an operating expense (OPEX).
♥ Dynamic scalability: many enterprises include a reasonably large buffer for their
average computing requirement, just to ensure that capacity is in the place to satisfy
peak demand. Cloud computing provides extra processing buffer as needed at a low
cost and without capital investment or contingency fees to users.
♥ Reduced time for implementation: cloud computing provides processing power
and data storage as needed at required capacity. This can be obtained in near-real
time.
♥ Cloud security policy / procedures transparency: some CSPs may have less
transparency than others about their information security policy. It may create
conflict with enterprise’s information compliance requirement. The enterprise needs
to have detailed understanding of the service level agreements (SLAs) that stipulated
the desired level of security provided by CSPs.
Cloud Storage
♥ Cloud storage is the storage of data online in cloud. Company's data is stored in
and accessible from multiple distributed of connected resources that comprise cloud.
♥ Cloud storage provides benefits of:
♦ Greater accessibility and reliability
♦ Rapid deployment
♦ Strong protection for data backup, archival and disaster recovery purposes.
♦ Lower overall storage costs as a result of not having to purchase, manage and
maintain expensive hardware
♥ However, cloud storage has the potential for security and compliance concerns.
Types of Cloud Storage
♥ Public cloud or external storage clouds:
♦ Enterprise and storage service provider are separate.
♦ Data is stored outside of the enterprise's data center.
♦ With public cloud storage, enterprises and small businesses offload their data
storage and archival / backup needed to third-party cloud storage service provider,
freeing them from expensive costs of having to purchase, manage and maintain on-
premises storage hardware and software resources.
♦ Advantages of using public cloud computing:
♣ Pay as you use: pay only for the resources and duration you use.
♣ Scalability: instantly provision additional resources as required.
♣ Elasticity: provision or release resources as per requirement which result in
reduction costs.
♣ Availability: cloud providers have higher redundancies and resilient system
than typical self-managed setup.
♣ Maintenance: focus on your business instead of wasting time and energies in
running IT.
♣ OPEX Model: pay on usage basis – aren’t burdened with CAPEX investment.
♦ Disadvantages of using public cloud computing:
♣ Control: reduced control of your IT system and completely depend on CSP.
♣ Data security: since resources are shared among different entities in cloud,
there are higher risks of breaches.
♣ Lock in: it is very tough and not cost effective to move from one cloud
provider to another.
♣ Costs: expense will incur over a long period of time.
♥ Private cloud or internal cloud or corporate cloud:
♦ Private cloud is a cloud computing platform implemented within the corporate
firewall, under the control of IT department. A private cloud is dedicated to a single
organization.
♦ Private cloud offers some features and benefits as public cloud systems, but
removes some features of public cloud computing model such as control over
enterprise and customer data, security, and issues connected to compliance.
♥ Hybrid Cloud:
♦ Hybrid Cloud is a combination of public cloud storage and private cloud
storage where some critical data resides inside enterprise's private cloud while other
data is stored and accessible from public cloud storage provider.
♦ Hybrid cloud storage combines the advantages of scalability, reliability, rapid
deployment and potential cost savings of public cloud storage with security and full
control of private cloud storage.
♥ Advantages of cloud computing:
♦ Lower computing costs
♦ Improve performance
♦ Reduce software costs
♦ Instant software updates
♦ Improved document format compatibility
♦ Unlimited storage capacity
♦ Increased data reliability
♦ Universal document access
♦ Latest version availability
♦ Device independence
♥ Disadvantages of cloud computing:
♦ Requires constant Internet connection
♦ Doesn’t work well with low-speed connections
♦ Features might be limited
♦ Can be slow
♦ Stored data might be unsecure
♦ Stored data can be lost
♥ Total cost of ownership (TCO):

♥ Cloud computing turns CAPEX into OPEX:


♥ Conclusion:
♦ Cloud computing provide super-computing power.
♦ Cloud of computers extends beyond a single company or enterprise.
♦ Applications and data served by cloud are available to broad group of users,
cross-enterprise and cross-platform.
IaaS in OpenStack
♥ IaaS OpenStack cloud architecture:
♦ Provides simple self-service UI for end-users
♦ Basic cloud administrator functions
♦ No infrastructure management
♦ Define users, tenants and quotas
OpenStack
♥ OpenStack is both software and community.
♥ OpenStack is a cloud OS that controls large pools of compute, storage, and
networking resources of datacenter via dashboard that gives administrators control.
♥ OpenStack provides open source cloud computing platform for public and private
clouds. It is an open-source software released under the terms of Apache License.
Feature Benefit
Manage virtualized commodity • Racks of commodity servers as pools of
server resources – CPU, memory, computing
disk, and network interfaces • Improved utilization and automation of
resources for greater cost efficiencies
Manage LAN – Flat, Flat DHCP, • Programmatically allocate IPs and
VLAN DHCP, IPv6 VLANs (for rapid provisioning of network
capabilities and security features)
• Flexible networking models to suit the
needs of each application and/or user group
Projects & Quotas Ability to allocate, track and limit resource
utilization
API with rate limiting and Designed for automation and security
authentication (to make it easy for you to manage who has
access to compute resources and prevent
users from impacting each other with
excessive API utilization)
VM image management Easily store, import, share, and query images
(to make it easy for you to spin up new
standardized VMs)
Live VM management – run, Increase productivity with lifecycle
reboot, suspend, resize, terminate management (from a single UI and using the
instances APIs)
Floating IP addresses Ability to assign (and re-assign) IP @ to VMs
Security Groups Flexibility to assign and control access to VM
instances by creating separation between
resource pools
Role Based Access Control Ensure security by user, role and project
VNC Proxy through web browser Quick and easy CLI administration
Store and Manage files Automates resource
programmatically via API management/provisioning
VM Image Caching on compute Faster provisioning of VMs
nodes
Dashboard with fully integrated Learn more about OpenStack Dashboard
support for self-service
provisioning
Components of OpenStack

♥ Nova: compute service


♦ Software that controls IaaS cloud computing platform.
♦ Provision and manage VMs.
♦ Multi-hypervisor support, included KVM & Xen.
♦ It is similar in scope to Amazon EC2 and Rackspace Cloud Servers.
♥ Neutron: network service
♦ Provide a network connectivity as a service between interface devices (EX:
vNICs) managed by other OpenStack services (EX: nova). It implements the
Neutron API.
♦ It ensures that network will never be bottleneck in cloud deployment.
♦ Manage virtual networks (L2 & L3).
♦ Multi-backend support: Linux Bridge, OVS, etc.
♥ Glance: image service
♦ Has a full API that allows querying of VM image metadata as well as retrieval of
the actual image.
♦ Catalog and manage library of server images.
♦ Backend: Swift, Amazon, GlusterFS, etc.
♦ Same as Amazon AMI (Amazon Machine Images).
♥ Swift: object Storage
♦ An API-accessible storage platform that can be integrated directly into
applications or used for backup, archiving and data retention.
♦ Highly available, distributed, and consistent object or blob store.
♦ Object storage isn’t a traditional file system, but rather a distributed storage
system for static data such as VM images, photo storage.
♦ Redundant and scalable.
♦ Long-term storage system for large amounts of data.
♦ Similar to Amazon S3.
♥ Cinder: block Storage
♦ A persistent block level storage device for use with OpenStack compute
instances. It manages creation, attachment & detachment of block devices to VMs.
♦ Manage volumes, plug-able to VMs.
♦ Backend: Ceph, NFS, iSCSI, etc.
♦ Similar to Amazon Elastic Storage.
♥ Keystone: identity service
♦ Provide unified authentication for OpenStack projects.
♦ Manage services endpoints catalog.
♦ Concepts of User, Tenant, Role.
♦ Backend: MySQL, LDAP.
♥ Ceilometer: metering service
♦ Provide efficient collection of metering data (CPU usage, network costs, etc.)
used by each VM.
♦ Custom data by plugins.
♦ The collected data of metering system is visible to some users via REST API.
♥ Heat: orchestration service
♦ Provide template-based for describing and automating the deployment of
infrastructure.
♦ Auto-scaling and High-Availability for VMs.
♦ Compatible with AWS CloudFormation.
♥ Horizon: dashboard
♦ The canonical implementation of OpenStack's Dashboard, which provides web
UI to OpenStack services such as Nova, Swift, Keystone, etc.
♦ GUI for managing Cloud Functionality.
History of OpenStack
Release Release Included Component code names
name date
Austin 21 Oct 2010 Nova, Swift
Bexar 3 Feb 2011 Nova, Glance, Swift
Cactus 15 Apr 2011 Nova, Glance, Swift
Diablo 22 Sep 2011 Nova, Glance, Swift
Essex 5 Apr 2011 Nova, Glance, Swift, Horizon, Keystone
Folsom 27 Sep 2012 Nova, Glance, Swift, Horizon, Keystone, Quantum,
Cinder
Grizzly 4 Apr 2013 Nova, Glance, Swift, Horizon, Keystone, Quantum,
Cinder
Havana 17 Oct 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer
Icehouse 17 Apr 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer, Trove
Juno 16 Oct 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer, Trove, Sahara
Kilo 30 Apr 2015 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer, Trove, Sahara, Ironic
Liberty 16 Oct 2015 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar,
Manila, Designate, Barbican, Searchlight
Mitaka 7 Apr 2016 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar,
Manila, Designate, Barbican, Searchlight, Magnum
Newton 6 Oct 2016 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar,
Manila, Designate, Barbican, Searchlight, Magnum,
aodh, cloudkitty, congress, freezer, mistral, monasca-
api, monasca-log-api, murano, panko, senlin, solum,
tacker, vitrage, Watcher
Ocata 22 Feb 2017 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar,
Manila, Designate, Barbican, Searchlight, Magnum,
aodh, cloudkitty, congress, freezer, mistral, monasca-
api, monasca-log-api, murano, panko, senlin, solum,
tacker, vitrage, Watcher
Pike 30 Aug Nova, Glance, Swift, Horizon, Keystone, Neutron,
2017 Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar,
Manila, Designate, Barbican, Searchlight, Magnum,
aodh, cloudkitty, congress, freezer, mistral, monasca-
api, monasca-log-api, murano, panko, senlin, solum,
tacker, vitrage, Watcher

Deep Dive into Cloud


Amazon Web Services (EC2)
♥ It provides web services as a part of cloud.
♥ Amazon EC2 reduce the time required to obtain and boot new server instance to
minutes.
♥ Benefits:
♦ Elastic Web-Scale Computing
♦ Completely Control
♦ Flexible Cloud Hosting Services
♦ Reliable
♦ Secure
♦ Inexpensive
♦ On-Demand
♦ Reserved Instances
♦ Spot Instance
♦ Easy to start
Amazon Simple Storage Solution (S3)
♥ It’s …
♦ Scalable.
♦ Carry on low-cost model.
♦ Designed for online backup archiving services.
♦ Make web based development easier for the developers.
♦ Used for storing the instance as a team of RDS and DB server.
Microsoft Azure
♥ Microsoft Azure is Microsoft's cloud application platform. It provides IaaS, PaaS
and SaaS.
♥ This combination of managed and unmanaged services lets developers to build,
deploy and manage applications any way they like for unmatched productivity.
♥ Azure has its own Hadoop implementation.
♥ Features of Microsoft Azure:
♦ Allows developers to build sites using ASP.NET, PHP, Node.js, or Python and
can be deployed using FTP, Team Foundation Server.
♦ Data management: SQL DB (SQL Azure DB), works to create, scale and extend
applications into cloud using Microsoft SQL Server technology. It also integrates with
Active Directory and Microsoft System Center and Hadoop.
Salesforce
♥ Salesforce.com is a cloud computing and social enterprise SaaS provider.
♥ It is available on cloud, no need to install any software, and no hardware required.
♥ In salesforce.com you can develop your own applications. If you need an
application on demand, you can buy from app exchange. It is a market place to sell
your custom applications and to buy applications from others.
♥ Salesforce is best known for its customer relationship management (CRM) product.
♥ Why Salesforce?
♦ It is a number 1 on-demand CRM.
♦ Force.com platform reduces development cost. Applications are delivered in
very short time.
♦ It is available on cloud, no need of any hardware or software installed.
♥ Force.com: a PaaS that allows developers to create multitenant add-on
applications that integrate into the main salesforce.com application.
♥ Force.com applications are hosted on salesforce.com's infrastructure.
Google Cloud Platform
♥ Google cloud platform is a set of modular cloud-based services that allow you to
create anything from simple websites to complex applications. Google SaaS include:
Gmail, Google docs, Google calendar and Picasa.
♥ Google AppEngine is offered in PaaS space. It is a developer platform hosted on
Google's cloud. The support on developer platform are Python and Java.
♥ Services offered by Google cloud platform:
♦ VM
♦ Big data solution
♦ SQL DB
♦ Object Storage
♦ Application Service
Services Offered by Amazon
♥ EC2: elastic compute cloud
♥ EBS: elastic block storage
♥ S3: simple storage solution
♥ ELB: elastic load balance
♥ RDS: Amazon relational DB
♥ SNS: simple notification service
♥ SES: simple email service
♥ Route 53: DNS high speed, and availability
♥ VPC: virtual private cloud
♥ AEC: Amazon elastic cache

Virtualization
♥ What is virtualization?
♦ Virtualization is the process of creating a virtual, rather than physical, version of
something. Virtualization can apply to computers, OS, storage devices, applications,
or networks. However, server virtualization is at the heart of it.
♦ Virtualization uses software to simulate the existence of hardware and create
virtual computer system. Doing this allows businesses to run more than 1 virtual
system (multiple OS and applications) on a single server. This can provide economies
of scale and greater efficiency.
♥ Why virtualization?
♦ Lower costs: to run a lot of servers, you’ll need a lot of power and remove a lot
of heat. Add to that, the cost of buying, installing, up grading and maintaining
servers can quickly spiral out of control. Businesses that uses virtualization have less
physical hardware and the expenses.
♦ Faster reprovisioning: for traditional data center provisioning resources can take
some time and it’s often a one-way street. Once resources are provisioned, it can be
difficult to reprovision them. Often, it’s easier to buy new servers, storage or other
network assets. But virtualized environments can be reprovisioned by firing up your
virtualization dashboard.
♦ Fewer business disruptions: when physical server fails, it can take days or weeks
to replace it. IT team needs to buy and reinstall new hardware. If you don’t have
current full image backup of the server, you’ll need to reinstall OS and applications,
configure directories, restore settings, reconfigure DBs, and restore as much of data
you have. In virtual environment, failed servers are bypassed and data keeps flowing.
♦ Easier backups: in virtualized environment, it’s easy to have full backups or
snapshots of virtual servers, VMs, DBs, files and settings. Virtual environments can be
backed up from system level to object level at any time, and it’s all transparent.
♦ No vendor lock-in: virtualized data centers have level of abstraction between
hardware and software. That means VM doesn’t depend what server hardware it is
on.
♦ Greater efficiency: data centers typically run 24/7 so servers are plugged in and
using energy around the clock. Peer-to-peer sharing of excess IT resources can
reduce infrastructure utilization rates. Virtualization cuts this back with shared
hardware, software and infrastructure.
♦ Head-start to the cloud: virtualization is a strong step in direction of the cloud.
♥ Virtualization benefits:
♥ Physical infrastructure:

♥ Virtual infrastructure:
♥ Physical and virtual architecture:

Why Use Virtual Machines?


♥ Physical machine:
♦ Difficult move or copy
♦ Bound to a specific set of hardware components
♦ Often has a short lifecycle
♦ Require personal contact to upgrade hardware
♥ VM:
♦ Easy to move and copy:
♣ Encapsulated into files
♣ Independent of physical hardware
♦ Easy to manage:
♣ Isolated from other VMs
♣ Insulated from hardware changes
♦ Provides the ability to support legacy applications
♦ Allows servers to be consolidated
Resource Sharing
Physical File System and VMware vSphere VMFS

Encapsulation
Virtual Machine Files

The Virtual Machine


♥ Virtual machine or virtual computer systems: a tightly isolated software container
with an OS and application inside. Each self-contained VM is completely
independent. Putting multiple VMs on a single computer enables several OSs and
applications to run on 1 physical server or host.
♥ Hypervisor: a thin layer of software that decouples VMs from host, and dynamically
allocates computing resources to each VM as needed.
Key Properties of Virtual Machines
♥ Partitioning:
♦ Run multiple OSs on 1 physical machine.
♦ Divide system resources between each VM.
♥ Isolation:
♦ Provide fault and security isolation at hardware level.
♦ Preserve performance with advanced resource controls.
♥ Encapsulation:
♦ Save entire state of VM to files.
♦ Move and copy VMs as easily as moving and copying files.
♥ Hardware independence:
♦ Provision or migrate any VM to any physical server.
♥ Challenges of VM:
♦ Interception and simulation of privileged operations (I/O Instructions).
♦ The effects of every operation performed within a VM must be kept within that
VM. Virtual operations can’t be allowed to alter the state of any other VM, the
control program, or the hardware.
♦ Some machine instructions can be executed directly by hardware, EX: memory
locations and arithmetic registers. Other instructions, that would pierce the VM, can’t
be allowed to execute directly, they must be trapped and simulated. Such
instructions either access or affect state information outside VM.
♦ Some hardware isn’t easy to be used for Full Virtualization, EX: x86.
Types of Virtualization
♥ Platform virtualization (close to cloud computing):
♦ Full virtualization
♦ OS assisted virtualization (paravirtualization)
♦ Hardware assisted virtualization
♦ Partial virtualization
♦ OS-level virtualization
♥ Memory virtualization
♥ Desktop virtualization
♥ Application virtualization
♥ Network virtualization (Device and I/O)
Full Virtualization
♥ Best EX of full Virtualization was that provided by the control program of IBM's
CP/CMS OS. Each CP/CMS user was provided a simulated, stand-alone computer.
♥ Each VM had complete capabilities of underlying machine. For its user, each VM
was considered to be a private system.
♥ Requirements:
♦ Equivalence: program running under the VMM should exhibit behavior
essentially identical to demonstration when running on equivalent machine directly.
♦ Resource control (safety): the VMM must be in complete control of virtualized
resources.
♦ Efficiency: majority of machine instructions must be executed without VMM
intervention.
OS-assisted Virtualization (paravirtualization)
♥ Paravirtualization is a process of achieving virtualization where the execution of
sensitive instructions is removed permanently.
♥ Hypervisor behaves like a microkernel.
♥ Hypervisor calls are made to hypervisor.
♥ Paravirtualization is performed via modified OS kernel as guest OS.
♥ Paravirtualization modifies OS kernel to replace non-virtualizable instructions with
hyper-calls that communicate directly with virtualization layer hypervisor.
♥ Hypervisor also provides hyper-call interfaces for other critical kernel operations
such as memory management, interrupt handling and time keeping.
♥ Paravirtualization is different from full virtualization where unmodified OS doesn’t
know it is virtualized and sensitive OS calls are trapped using binary translation.
♥ It is difficult to build the more sophisticated binary translation support necessary
for full Virtualization, so modifying guest OS to enable paravirtualization is relatively
easy.
♥ Paravirtualization supports only modified OS.
♥ Example: Xen – a modified Linux kernel and a version of Windows XP.

Hardware-assisted Virtualization
♥ Hardware vendors are rapidly embracing virtualization and developing new
features to simplify virtualization techniques.
♥ 1st generation enhancements target privileged instructions with new CPU execution
mode feature that allows VMM to run in new root mode below ring 0.
♥ Privileged and sensitive calls are set to automatically trap to hypervisor, removing
the need for binary translation or paravirtualization.
♥ Due to high hypervisor to guest transition overhead and rigid programming
model, binary-translation approach outperforms hardware-assist implementations.
Architectural Comparison

OS-level Virtualization
♥ OS-level virtualization is server virtualization method.
♥ Kernel of the OS allows for multiple isolated user space instances, instead of just 1.

♥ This method virtualizes servers on OS kernel layer. This creates isolated containers
on a single physical server and OS instance to utilize hardware, software, data center
and management efforts with maximum efficiency.
♥ Each OS instance or container looks and feels like a real server to each user.
♥ Virtual hosting environments commonly use OS–level Virtualization, because it is
useful for securely allocating finite hardware resources among a large number of
mutually distrusting users.
♥ EX of OS-virtualization includes: OpenVZ/Virtuozzo, FreeBSD jails, Linux-VServer,
Solaris Zones.
Application Virtualization
♥ Software technology that encapsulates application software from underlying OS.
♥ A fully virtualized application isn’t actually installed in traditional sense. It is
executed as if it is installed (runtime virtualization).
♥ Full application virtualization requires application virtualization layers to replace
part of runtime environment of the OS. This layer intercepts all file and Registry
operations of virtualized applications and transparently redirects them to virtualized
location.

♥ Advantages:
♦ Allows applications to run in an environments that don’t suit the native
application, EX: Wine and JVM.
♦ Uses fewer resources than separate VM.
♦ Improve portability, manageability and compatibility of applications.
♦ Improved security, by isolating applications from OS.
♦ Reduces system integration and administration costs.
Memory Virtualization

♥ Physical and virtualized host memory usage


♥ Physical and virtual networking

Different Types of Virtual Machines


♥ Virtualization inserts software layer (VMM) at different points in the computer
architecture which comes in 3 variants:
♦ Hardware-level virtualization
♦ OS-level virtualization
♦ High-level language VMs
Hardware Level Virtualization
♥ Virtualization layer is on top of real hardware.
♥ Since VM presents version real machine, so all software written for that hardware
(x86) will run on that VM.

OS-level Virtualization
♥ Virtualization layer is between OS and application programs running on that OS.
♥ VM runs applications written for that OS in a controlled environment
♥ OS-level virtualization uses host OS API. EX: FreeBSD jails

High-level Language VMs


♥ Virtualization layer is application program on top of OS.
♥ Can run any programs written for that VM abstraction regardless of the host OS.
♥ EX: Java, Smalltalk
Virtual Machine Monitors (Hypervisor)
♥ VMs are exported by a thin layer of software called Virtual Machine Monitors
(VMM).
♥ Hardware level VMM runs directly on hardware and can export multiple VMs that
look exactly like or similar to the real hardware.

Type-1, Type-2, Hypervisor VMM (Paravirtualization)


♥ Type-1 hypervisor:
♦ Run on bare metal hardware. EX: Citrix XenServer uses this kind of arrangement.
♦ This type of implementation is used in VMware vSphere.
♦ Guest OSs can be run as below:
♣ Instruction which needs to be executed in kernel mode is known as sensitive
instruction. These includes I/O or instructions which change internal registers, etc.
♣ When sensitive instruction is executed by guest OS, then it is trapped to
kernel mode. The kernel mode is handled by hypervisor.
♥ Type-2 hypervisor:
♦ Run on host OS – regular OS like Windows, Linux, etc.
♦ Guest OS runs on top of hypervisor.
♦ This type of implementation is used in VMware Workstation, Virtual Box.

VMware vSphere
♥ Compute:
♦ vSphere hypervisor, known as ESXi, is a bare-metal hypervisor that is installed
directly on top of physical server and partitions it into multiple VMs.
♦ Each VM shares the same physical resources, and they can run at the same
time.
♦ There is no underlying OS.
♦ Unlike other hypervisors, all management functionality of vSphere is done
through remote management tools.
♥ Improved reliability and security:
♦ ESXi bare-metal hypervisor’s management functionality is in VMkernel.
♦ This gives a very small attack surface for malware and network threats.
♥ Streamlined deployment and configuration:
♦ With few configuration options and simple deployment, ESXi architecture is easy
to maintain a consistent virtual infrastructure.
♥ Reduced management overhead:
♦ vSphere ESXi uses agentless approach to hardware monitoring and system
management with API-based partner integration model.
♦ Management tasks are on remote command lines with vSphere Command Line
Interface (vCLI) and Power CLI which uses Windows PowerShell commands and
scripts for automated management.
♥ Simplified hypervisor patching and updating:
♦ Fewer patches mean smaller maintenance windows and fewer scheduled
maintenance windows.
How Sphere Fits into Cloud Computing
VMware DRS
♥ VMware DRS cluster: a collection of ESX/ESXi hosts that has VMs with shared
resources and shared management interface.
♥ Before obtaining cluster-level resource management, you must create DRS cluster.
♥ When you add host to DRS cluster, that host’s resources become a part of cluster’s
resources.
♥ DRS cluster also supports cluster-wide resource pools and enforces cluster-level
resource allocation policies.
♥ Cluster-level resource management capabilities are:
♦ Load balancing: vCenter Server system monitors distribution and usage of CPU
and memory resources for all hosts and VMs in the cluster.
♣ DRS compares these metrics to the ideal resource utilization that give the
attributes of cluster’s resource pools and VMs, the current demand, and the
imbalance target. Then it performs or recommends VM migrations.
♣ When you power on VM in the cluster, DRS attempts to maintain proper load
balancing by placing VM onto appropriate host or by making a recommendation.
♦ Power management: when VMware DPM (Distributed Power Management)
feature is enabled, DRS compares cluster and host-level capacity to the demands of
cluster’s VMs, including recent historical demand.
♣ DTM places (or recommends placing) hosts in standby power mode if
sufficient capacity is found.
♣ DTM powers on (or recommends powering on) hosts if capacity is needed.
♣ Depending on host power state recommendations, VMs might need to be
migrated to and from other hosts.
♦ VM placement. you can control the placement of VMs, on hosts within a cluster,
by assigning DRS affinity or anti-affinity rules.
Managing DRS Clusters
♥ vSphere Client UI allows you to explore DRS cluster behavior. While DRS is
running, it generates recommendations and associated information that result in a
well-balanced cluster.
♥ Initial placement of VMs.
♥ VM migration is needed for load balancing. Each migration recommendation has a
rating. Client applications can choose to consider only high-priority migrations or
migrations with multiple priority levels.
♥ Checks whether DRS clusters are valid or not – enough resources are available to
start additional VM.
♥ VMware storage DRS:
♦ Reduces time and complexity
♦ Rapid placement of VMs an VMDKs
♥ Storage DRS:
♦ Policy based provisioning
♦ Eliminates guess work and manual efforts
♥ Storage DRS provisioning:
♦ I/O load balancing
♦ Data store space optimization
♦ Storage DRS automated mode: applies migration recommendation
automatically

♦ Storage DRS manual mode: offer additional control


♦ Storage DRS maintenance mode
♦ Storage DRS smart placement rules:
♣ Intra-VM affinity rules:
♠ Smart VM placement
♠ Easy to troubleshoot
♣ VMDK anti – affinity rule:
♠ Optimal VM disk file distribution

♣ VM Anti-affinity rule:
♠ Maximizes availability
Vmware Vmotion
♥ Enables live migration of running VMs from 1 physical server to another with 0
downtime, continuous service availability, and complete transaction integrity.
♥ VMotion is a key enabling technology for creating dynamic, automated, and self-
optimizing datacenter.
♥ Advantages:
♦ Improve availability by conducting maintenance without disrupting business
operations.
♦ Move VM within server resource pools to continuously align allocation of
resources to business priorities.

♥ Key features:
♦ Reliability
♦ Performance
♦ Interoperability
♦ Support for fiber channel SAN
♦ NAS and SCSII SAN support
♦ Customizable CPU compatibility settings

You might also like