VDesktop, Docker, Kubernetes, Serverless Computing - Tagged

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 52

ECCE 448-CLOUD INFRASTRUCTURE AND SERVICES

VIRTUALIZATION OF DESKTOP,
APP & DOCKER CONTAINERS
Dr. Khaled Salah

(Slides based on EMC2 and my own)

Copyright © 2011 EMC Corporation. All Rights Reserved. 1


Overview of Desktop and Application
Virtualization

Tight dependency between Virtualization breaks dependencies


the layers between the layers

User State (data and settings)

Application Application Virtualization

Operating System Desktop Virtualization

Hardware

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 2
DESKTOP VIRTUALIZATION

Copyright © 2011 EMC Corporation. All Rights Reserved.


Desktop Virtualization - Drivers
• Manageability concerns
 Variety of hardware models, PC
refresh cycles, and hardware
incompatibilities
 Central management
• Security concerns
 Lost or stolen laptops/desktops
• Cost concerns

Source: Goldman Sachs, Independent Insight, US technology Strategy

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 4
Desktop Virtualization
Desktop Virtualization

Technology which enables detachment of the user state, the


Operating System (OS), and the applications from endpoint devices.

• Enables organizations to host and


centrally manage desktops
 Desktops run as virtual machines within
the VDC
 They may be accessed over LAN/WAN
 Endpoint devices may be thin clients or PCs

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 5
Benefits of Desktop Virtualization
• Enablement of thin clients
• Improved data security
• Simplified data backup
• Simplified PC maintenance
• Flexibility of access

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 6
Desktop Virtualization Techniques
• Technique 1: Remote Desktop Services(RDS)
• Technique 2: Virtual Desktop Infrastructure (VDI)
• Desktop virtualization techniques provide the ability to centrally
host and manage desktop environments
 Deliver them remotely to the user’s endpoint devices

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 7
Remote Desktop Services
• RDS is traditionally known as
terminal services
• Supported by a multi-user OS
• A terminal service runs on top of a
Windows installation
 Provides individual sessions to
client systems
 Clients receive visuals of the
desktop
 Resource consumption takes place
on the server

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 8
Virtual Desktop Infrastructure(VDI)
• VDI involves hosting desktop which
runs as VM on the server in the
VDC
 Each desktop has its own OS and
applications installed
• User has full access to resources of
virtualized desktop

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 9
VDI: Components
• Endpoint devices Endpoint devices
VM execution
server
• VM hosting/execution
servers
• Connection Broker
Connection
broker Shared
Storage

PCs,
notebooks
thin clients

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 10
VM Hosting Servers
• VM hosting servers are responsible for hosting the desktop VMs
 Remotely delivered to the endpoint devices
• Each VM can be dedicated to a specific user or allocated in a
pool
 A VM pool shares VMs for concurrent use by many users
• When provisioning a VM, a template or image may be used as a
basis for the creation of the VM, settings, and disk

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 11
Connection Broker
• It is responsible for Connection Broker

establishing and managing


the connection
 Between the endpoint
device and the desktop VM

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 12
User State Virtualization
• User state includes user’s data as User State Virtualization
well as application and OS
configuration settings
• System/OS checkpoint
• User state virtualization stores user’s User PC Server
data and settings in a central location Central copy of
user data and settings
• User state virtualization benefits:
 Easier migration of user state during User State User State
Operating System refresh/migration Local Storage Central Storage
 Users are free to roam, and their
data and settings follow them.
 Mitigate productivity loss of PC
replacement

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 13
APP VIRTUALIZATION

Copyright © 2011 EMC Corporation. All Rights Reserved.


Evolution of Cloud Services

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 15
Popular Examples – BC Platforms

• BTC
• EVM
• HL Docker Containers

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 16
Copyright © 2011 EMC Corporation. All Rights Reserved.
Copyright © 2011 EMC Corporation. All Rights Reserved.
Application Virtualization
Application Virtualization

It is the technique of presenting an application to an end user without


any installation, integration, or dependencies on the underlying OS or
computing platform

• Allows application to be delivered in an isolated environment


 Aggregates app resources and dependencies (e.g. via Docker
Container) into a virtualized container or dockerized container
 Avoids conflicts between different applications or different
versions of the same application
 MS Access Databases can not run together, unless one is virtualized !

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 19
Application Virtualization: Deployment
Methods
• Application Encapsulation  most popular
 Application is converted into a self-contained package
 Does not rely on software installation or underlying OS
 Standalone executables
 Application packages may run from USB, CD-ROM, or local disk
 Built-in features within the package for auto updates and versioning
• Application Streaming
 Application specific data/resources are transmitted to the client
device when the application is executed
 Minimum amount of data (commonly between 10%-30% of the
total application) is delivered to the client
 Additional application features are delivered on demand
 Locally installed stream agents are required

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 20
Application Virtualization: Benefits
• Simplified application deployment/retirement
 No worry about OS issues
• Simplified operating system image management
 Applications are completely separate from OS
 OS patches and upgrades do not affect the applications
• Elimination of resource conflicts
 Applications when running on the same OS

** see notes below

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 21
DOCKER CONTAINERS

Copyright © 2011 EMC Corporation. All Rights Reserved.


Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
containers
vs.
VM Images
VMs

Containers
Docker Containers

Copyright © 2011 EMC Corporation. All Rights Reserved.


Running Docker

Boot2docker is basically Linux VM running docker. For hypervisor,


Orcale Virtualbox or Hyper-V, similar to vmware player, is required to be
installed. v
** Check CLI commands below
Docker is highly supported/portable
 Amazon EC2 Container Service (ECS)

 Google Compute Engine

 IBM Bluemix

 Microsoft Azure

 Windows 11 had plans to have Docker built-in


Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
Dockerfile for building a docker image

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 30
Play video …

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 31
Run any app on any OS?
 All Linux-based apps can be dockerized and run
anywhere.
 You can run any app on any OS as long as the base OS
supports the app
 For example, MS Windows apps can be dockerized and may not
work on Linux of Mac OS, but can run on all Windows OS that
supports the app.
 The same goes for “XCode” of Mac OS. XCode can be dockerized
for Mac base OSes, but not for Linux or Windows base OSes.
• If you have an “XCode” version that runs on Linux – then it can be
dockerized for all platforms!
 Boot2docker transformation of OS APIs may not work, if some
APIs are not supported (can not be virtualized) by the base OS.
The basis of microservices (uS)

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 33
Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
Kubernetes
or K8s
Kubernetes

• Open-source container-orchestration system for


automating deployment, scaling, management, and
monitoring of containerized apps
• Originally designed by Google and is now maintained
by the Cloud Native Computing Foundation.
• Works with Docker containers
• Follows the master-slave architecture:
 Kubernetes Master
 Kubernetes Slave Nodes
 aka Worker or Minion, is a machine where containers (workloads)
are deployed.

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 36
Architecture

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 37
System Components (master node)
• etcd stores configuration about the underlying cluster and its
state
• Scheduler maps pods to nodes, with continuous monitoring and
load balancing, to ensure high availability, QoS/SLA,
affinitization, data locality, etc.
• Controller Manager controls and manages the addition or
deletion of cluster resources
• API Server provides internal and external interfaces to K8s

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 38
System Components (slave node)
• Kubelet is responsible for the running state of each node,
ensuring that all containers on the node are healthy. It takes care
of starting, stopping, and maintaining application containers
organized into pods as directed by master.
• Pod is the basic scheduling unit. A pod consists of one or more
containers that are guaranteed to be co-located on the host
machine and can share resources. Each pod has a unique IP
address. Think of a pod as a single docker engine that manages
multiple containers.
 Container resides inside a pod. The container is the lowest level of
a micro-service that holds the running application, libraries, and
their dependencies. Containers can be exposed to the world
through an external IP address.

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 39
Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
System Components (slave node)
• Kube-proxy is an implementation of a network proxy and a load
balancer. It is responsible for routing traffic to the appropriate
container.
• cAdvisor is an agent that monitors and gathers resource usage
and performance metrics such as CPU, memory, file and network
usage of containers on each node.

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 41
SERVERLESS COMPUTING

“Serverless is the new black!”

Copyright © 2011 EMC Corporation. All Rights Reserved.


Copyright © 2011 EMC Corporation. All Rights Reserved.
Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 49
Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application
Must-watch-videos
• https://www.youtube.com/watch?v=YoBfFwsoWIU

• https://www.youtube.com/watch?v=eOBq__h4OJ4

• https://www.youtube.com/watch?v=UsaiOEFdfs0

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application 51
Lab Exercise #9

Copyright © 2011 EMC Corporation. All Rights Reserved. Virtualized Data Center – Desktop and Application

You might also like