Cloud Computing
Cloud Computing
♥ 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.
`
♥ 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):
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:
Encapsulation
Virtual Machine Files
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
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
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
♣ 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