Containers: The Future of Virtualization & SDDC: Anil Vasudeva
Containers: The Future of Virtualization & SDDC: Anil Vasudeva
The material contained in this tutorial is copyrighted by the SNIA and the author.
Member companies and individual members may use this material in presentations and
literature under the following conditions:
Any slide or slides used must be reproduced in their entirety without modification
SNIA and author must be acknowledged as the source of any material used in the body of any
document containing material from these presentations.
This presentation is a project of the SNIA Education Committee.
Neither the author nor the presenter is an attorney and nothing in this presentation is intended
to be, or should be construed as legal advice or an opinion of counsel. If you need legal
advice or a legal opinion please contact your attorney.
The information presented herein represents the author's personal opinion and current
understanding of the relevant issues involved. The author, the presenter, and the SNIA do not
assume any responsibility or liability for damages arising out of any reliance on or use of this
information.
Automation/SDDC
Automatically Config Srvcs to Meet VM/App SLAs
(Self-Discover/Configure, Self-Healing©IMEX, Centralized Control OnPrem or Cld
Cloudization
On-Premises > Private Clouds > Public Clouds
Cloud-Aware Infrast.In DCs,. Cascade Apps migration to SPs/Public Clouds.
Integration/Consolidation
Integrate Physical Infrast./Blades to meet CAPSIMS ®IMEX
Standardization
Standard IT Infrastructure- Volume Economics HW/Syst SW
(Servers, Storage, Networking Devices, System Software (OS, MW & Data Mgmt. SW)
Compute
I/O Intensive Workloads
IOPs (1/Latency)
RDBMS/ Memory Intensive Workloads
Storage
I/O I/O Big Data
Compute Intensive Workloads
Network HPC
I/O
Net-Speed Intensive Workloads
Streaming
Bandwidth
Issue Industry Solution
• VMs/Hypervisor treated all apps as same • Workload I/O Optimized Infrastructure
Created Blender Effect • Solid State/Flash for I/O intensive Apps (e.g. OLTP)
Poor Performance of some VMs • Application segregated by Frequency of use into Hot/Warm/Cold
Storage
• Each Application is different and depending on its • Must identify various Metrics to meet SLA needs such as
SLA/mission criticality needs in the Data Center or Availability, Performance, Cost, Security etc. (e.g. Performance
Cloud metrics - Latency vs Bandwidth)
• Storage must meet 2 major criteria of • Implement technologies
Data Protection RAID, Continuous Availability,
Storage Efficiency Compression, Encryption,
• Real-Time IT/Databases needed for both • Implement New technologies
On-line Transaction Processing to RDBMS/Big Data/Virtualization VMs,
Real-Time Deep Queries Columnar Compression
Cloud Queries Exploding Use of Lightweight Containers with no Hypervisor or not
VMs heavy due having to load 10-20 MB of OS having to load OS – witness Google containers using 7000
from storage slowing queries queries per second
Time
60%
50%
years
40%
30%
20%
VZ SW
10%
&
0%
Support 2011 2012 2013 2014 2015 2016
Application n
Application 2
Application 1
Application n
Application 1
Application 2
Application n
Application 1
Application 2
VM
GOS GOS GOS
Legend: DE=Docker Engine; G-OS=Guest Operating System; HOST=Host Operating System; PI=Physical Infrastructure
Containers: An open source app portability platform that packages app and
its dependent component parts into a hardware isolated container
Containers provide a more efficient use of Resources:: Eliminates
Hypervisor reducing virtualization overhead while still allowing separation
and isolation of multiple tasks on one host without relying on a separate OS,
saving huge amount of HW resources compared to bulky VMs which
emulate physical servers complete with OS
Allows Easy Application Portability between different hosts within DCs,
DC to DC/ DC to Cloud (Private, Public, Hybrid) / Cloud to Cloud
Rapidly gaining adoption: Over15000 aps have been “containerized” and
available on Docker Hub repositories, ready for server admins and cloud
server providers to deploy both as free and paid options.
Significant buy-in from both start-ups and large vendors: :
Repositories – Ubuntu, Redis, MySQL, mongo DB etc.
OS Vendors - Red Hat, SUSE, CoreOS, Boot2Docker - Mac & Windows …
Clouds – IBM, Amazon, Microsoft, Rackspace, Google, Intel etc.
Major Users - Paypal, eBay, Google, Spotify etc..
Containers: Future of Virtualization & SDDC
Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved. 9
Containers: Pros & Cons
Pros
• Containers pack more computing workloads onto a single server
• Launch capacity for new computing jobs in a split second vs minutes for VMs since no
loading of OS from storage required
• Appealing to Virtualization Admins and Cloud Providers to maximize consolidation
and improve resources efficiency in multi-tenant price-sensitive environments
• Developers able to rapidly move their applications from concept to production since
no need to boot up an OS instance of Linux or Windows for every app run
• Efficiency driven from speed allows improvements in CapEx (Buy less HW) or OpEx
(Build/Rent less DC space, Fewer people in operations/maintenance).
• Speed lets DCs respond quickly in case of a sudden spike in business activity
(explosion in searches/queries or Black Friday promotion driven sales orders)
Cons
• Shared back-end Host OS failures can create system-wide outages
• Can’t provide a virtual instance of windows on a Linux Server
• Uneasy co-existence with VMs in the long haul
• Much as Containers give each app running on a server its own isolated environment to run, but those
containers all share host servers’ OS With severe dependencies.
VMs Containers
A
App App App App App p
A A A’ A A p
A
Metric VM Containers
Infrastructure • 100s of VMs can be put on a • Lightweight, require Less Memory space
single host server each running • Fast Launch time
an application w its own Guest • 1000s of containers can be loaded onto a Host.
OS Containerized apps share Host OS’s kernel to execute
• Strong Management systems work
available to deal with 100s of • Containers can become ultimate form of compute
VMs per server intensive low power, dense computing environment
Performance • Slower than Containers since • Fast creation without shackle of retrieving OS
need to retrieve 10-20 GB of • Workload in Containers use Host OS kernel
OS from storage per VM • Container can boot up in 0.5 seconds
launch • Activates code instantly to test or launch add’l
ecommerce capacity
Interoperability • Systems designs fully • Apps are formatted in a standard way to be placed in a
compatibility with existing container.
operations of enterprise DCs • Once in a container, each type of app moves around the
network in same way
Maturity • Robust, Highly Developed • Less Mature
• Proven, even in mission critical • Kinks not worked out yet
workloads • Cos. Still working on a creative Management System
Metric VM Containers
Security • Security of a dedicated OS • High security concerns
• Harder Logical Boundaries • Containers share CPU, Memory, Disk in close proximity to
• Hypervisor controlled each other
dedicated pathway between • Containers talk to each other using shared memory - one
container can steal neighbor’s data or spread its malicious
App/Guest OS and Physical
code to neighbors
Infrastructure
Portability • Highly portable between • Highly portable but bound to a certain version of an OS.
systems running same • An app inside a container can’t move to another host OS,
hypervisor (such as ESX, only where there is copy of same OS w same version level
Hyper-V, Xen or KVM)
Multi-tenancy • VM’s Guest OS can be different • Higher Level isolation with many apps running under the
than physical host’s OS host OS and all containers sharing certain OS’s kernel and
allowing different types of Apps certain Libs
(Technical on Mac vs • Proven barriers to keep containers colliding each other
Marketing on Windows) to run • Once in a container, each type of app moves around the
on same Physical Host network in the same way
Adoption & • Highly Developed and • Google’s efforts to get container in Linux kernel & Docker
Futures adopted in 50-60% of all making its creation & movements in open source helped
large IT shops developers rally around them as a standard, avoiding
• Robust, proven, even in proliferations
mission critical workloads • Docker formatting engine now a standard with lots of tools/
• Multiple offerings by several workflows
vendors • By YE2014 -100 million downloads, 730 contributors
• Being adopted as the • Support from Linux startups and large companies (IBM, MS,
foundation in next RH, Docker, Google etc.)
generation DCs and Clouds • IBM Docker Hub Enterprise with Middleware allowing
via Software Defined Data developers install preformatted dockerized containers in
Centers SDDC – SDC/SDS/ their won DCs and invoke the services through a link.
SDN • Stack multiple micro-services on a host using containers
Push
App Δ
App
A Docker
Container
Image
Bins Registry
Bins/Libs
/
Libs
App Δ
App App
A’’ A
Bins/Libs
Bin Bin
s/ s/
Libs Libs
Host running A wants to
Host is now upgrade to A’’. Requests
running A’’ Docker Engine Docker Engine upgrade. Gets only diffs.
Docker Platform
Support Docker Engine
Enterprise Support Docker Hub
Robust Documentation Build, Ship, and Run
Implement, Integration, Content
Training Official Repos & 14K+ Dockerized Apps
Network of Partners
Any App
+ 14K apps
+ 6K projects
API
API
Any infrastructure
• Physical
• Virtual cloud
Containers: Future of Virtualization & SDDC
Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved. 17
Docker: Engine
Source Code
Repository
Docker
Filesystem plug-ins: AUFS, BTRFS, device mapper
Host networking, link hostnames Boot2Docker
Docker
TLS auth, systemd slices, release hashes
Linux OS
API Web
Endpoint
Frontend User
DB
Background
Workers Data
Analytics
DB
Data Queue
Production Servers
Contributor’s Laptop
Docker Hub
Revision Control
boot2docker