Virtualization
Virtualization
In computing, virtualization is the act of creating a virtual (rather than actual) version
of something at the same abstraction layer, including virtual computer hardware
platform, storage devices, and computer network resources.
Hardware Virtualization - refers to the creation of a virtual machine that acts like a
real computer with an operating system. There are different type of hardware
virtualization:
1. Full Virtualization – Complete simulation of the actual hardware to allow software
environments, including guest OS and its app to run modified. For e.g. Microsoft
2. Paravirtualization – Guest OS is not completely isolated but it is partially isolated
by the virtual machine from the virtualization layer. For e.g. VMWare, Xen etc.
Virtual Machine
Monitor
Around 2010, CISCO expanded it’s product line into the Server market, with the Cisco
Unified Computing Systems (UCS). Their Blade series products looks like:
Server Virtualization Basics
Traditionally, when you think of one server, that one server run one OS. OS inside will
have dedicated CPU, Memory, Disk and NIC. Which then run multiple application
typically it will look like below
Today, most companies instead create a virtualized Data Center. It means they
purchase hardware and OS is decoupled from the hardware and is there called
Virtual OS instance or virtual machine (VM).
Hypervisor is used to manage and allocate the hardware resources like CPU, Memory
etc to each VM.
There’s also Type 2 hypervisor which runs on an operating system for eg. Vmware
workstation, Oracle virtual box, etc..
Networking with Virtual Switches
Most often each server uses some kind of Internal Ethernet switch concepts often
referred as virtual switch (vSwitch).
Cloud Services
Traditional IT infrastructure deployment were some combination of following:
On-Premises – All servers, network devices, and other infrastructure are located on
company property and owned by company. Company is responsible for all
operational activities.
Colocation – DataCenter that rent out space for customers to put their infrastructure
(Servers, Network, storage etc). DataCenter provides space, electricity and cooling.
However, responsibility of those devices are still with customer.
Cloud Services provides an alternative that is hugely popular and is continuing to grow.
Cloud Model is composed of:
1. Five essential characteristics
2. Three Service Models
3. Four Deployment Models
Five essential characteristics of cloud computing are:
Every thing in cloud computing is offered as Service Model. Three main service model
of cloud computing are:
Software as a Service(SaaS) – Capability provided to the customer is to use the
provider’s application running on cloud infrastructure. Applications are accessed
from various client devices through interface such as web or programming
interface such as API. Customer does not manage the underlying cloud
infrastructure such as networks, storage, servers or even individual application
capabilities with the possible exception of limited user specific configuration
settings. For e.g. Microsoft O365
Platform as a Service (PaaS) – Capability provided to the consumer is to deploy their
service onto the cloud infrastructure. Customer does not manage cloud
infrastructure but has control over the deployed service/applications and possibly
configuration settings for the application hosted environment. E.g. AWS lambda
Infrastructure as a Service (IaaS) – Capability provided to the consumer is to provision
VMs, storage, network and other fundamental computing resources. Where
customer can deploy any operating systems, and applications. Customer doesn’t
manage or control the underlying cloud infrastructure but has control over
operating systems, storage, deployed applications. E.g. Amazon EC2.
Four Deployment Models of Clouds:
Most people assumes cloud means AWS, Azure, and Google Cloud. However, it’s not
the only one. Most common Public Cloud deployments model are:
Private Cloud – Cloud infrastructure is provisioned for exclusive use by a single
organization to serve single or multiple consumers. It’s generally owned by large
enterprises. It may be on or off premises. It also offer similar kind of service like
SaaS, PaaS, and IaaS.
Community Cloud – Cloud infrastructure is provisioned for exclusive use by a specific
community of consumers from organizations that have shared concerns like
mission, security requirement etc It may be owned, managed and operated by one
or more of the organization in the community.
Public Cloud – Cloud infrastructure is provisioned for open use by the general public.
It exist on the premises of the cloud provider. For e.g.AWS, Azure, Google Cloud,
IBM Cloud etc.
Hybrid Cloud – Cloud infrastructure is a composition of two or more distinct cloud
infrastructures like private, public or community.
Benefits of Cloud:
Global Scale – Cloud services can scale globally at a rapid space. Services can be setup
and offered to customers from a geographical location close to them.
Productivity – Cloud services remove the need for many time consuming task such as
procuring physical servers, racking them, cabling etc..
Reliability – Backups in the cloud are very easy to perform. Data can be mirrored at
multiple sites in different geographical locations to support disaster recovery.
Connecting to Cloud Service