introduction to virtualization and containers · what is a container and all the related bits and...
TRANSCRIPT
![Page 1: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/1.jpg)
Introduction to Virtualization and ContainersPhil Hopkins
@twitterhandle
![Page 2: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/2.jpg)
Virtualization – What is it?
![Page 3: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/3.jpg)
What the heck is a hypervisor? Why are there so many of them? What is a container and all the related bits and pieces? Why would we want to use them? And what is Metal-as-a-Service, Infrastructure-as-a-service, Platform-as-a-Service, or Storage-a-a-S, or all the other *aaS? How about OPNFV and Cloud Foundry? What do I need to know and how does this all fit together? This presentation will answer these questions.
Introduction to Virtualization and Containers
![Page 4: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/4.jpg)
Virtualization is an abstraction of computer resources. Access to the resources are consistent before and after abstraction. Resource abstraction is not limited by implementation, including the underlying physical implementation.
Virtualization
![Page 5: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/5.jpg)
![Page 6: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/6.jpg)
Virtual Machine
Virtual Machine
Operating system
Operating system
Bin/LibsBin/Libs
App1
App2
App3
App4
Type 2 Hypervisor
![Page 7: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/7.jpg)
A Virtual Machine is a software construct that mimics the characteristics of a physical server
![Page 8: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/8.jpg)
Types of Virtualization
• Server Virtualization• Client / Desktop / Application Virtualization• Network Virtualization• Storage Virtualization• Service / Application Infrastructure
Virtualization
![Page 9: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/9.jpg)
2 ways to achieve server virtualization
• Emulators– Linux - Bochs, QEMU
– Very Slow
• Segmented Use of the Host Processor– Most virtualization hypervisors use this technique
– Provided by a Hypervisor
– Faster
![Page 10: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/10.jpg)
Hypervisors
• Type-1, native or bare-metal hypervisors– XEN
• Type-2 or hosted hypervisors– VirtualBox
• KVM on Linux has been classified as both a type 1 and a Type 2
![Page 11: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/11.jpg)
Virtual Machine
Virtual Machine
Type 1 Hypervisor
Operating Systems
Bin/Libs
App 1 App 2
Operating Systems
Bin/Libs
App 3 App 4
![Page 12: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/12.jpg)
Virtual Machine
Virtual Machine
Type 2 Hypervisor
Operating Systems
Bin/Libs
App 1 App 2
Operating Systems
Bin/Libs
App 3 App 4
O/S
![Page 13: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/13.jpg)
Paravirtualization
• Provides specialized APIs to virtual machines to optimize their performance
– Similar yet not identical to the underlying hardware-software interface
• Support as part of the kernel
– drivers• Support has been offered as part of many of the
general Linux distributions since 2008
![Page 14: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/14.jpg)
Cloud Computing
• Provides software interface to the hypervisor
• Allows remote creation and management of virtual environments
• Usually includes sever types of virtualization– Storage
– Network
– Machine
• Examples:– AWS, OpenStack
![Page 15: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/15.jpg)
Containers
![Page 16: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/16.jpg)
chroot1979/1982
jail2000
Process Containers
2006
NameSpacesPresent
![Page 17: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/17.jpg)
global (i.e. root) namespace
MNT NS//proc/mnt/fsrd/mnt/fsrw/mnt/cdrom/run2
UTS NSglobalhostrootns.com
PID NSPID COMMAND1 /sbin/init2 [kthreadd]3 [ksoftirqd]4 [cpuset]5 /sbin/udevd6 /bin/sh7 /bin/bash
IPC NSSHMID OWNER32452 root43321 boden
SEMID OWNER0 root1 Boden
MSQID OWNER
NET NSlo: UNKNOWN…eth0: UP…eth1: UP…br0: UP…
app1 IP:5000app2 IP:6000app3 IP:7000
USER NSroot 0:0ntp 104:109mysql 105:110boden 106:111
![Page 18: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/18.jpg)
Hardware
Operating System
Hypervisor
Virtual Machine
Operating System
Bins / libs
App App
Virtual Machine
Operating System
Bins / libs
App App
Hardware
Hypervisor
Virtual Machine
Operating System
Bins / libs
App App
Virtual Machine
Operating System
Bins / libs
App App
Hardware
Operating System
Container
Bins / libs
App App
Container
Bins / libs
App App
Type 1 Hypervisor Type 2 Hypervisor Linux Containers
![Page 19: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/19.jpg)
Why? It's still virtualization!
• Each container has:
– its own network interface (and IP address)● can be bridged, routed... just like $your_favorite_vm
– its own filesystem● Debian host can run Fedora container (&vice-versa)
– isolation (security)● container A & B can't harm (or even see) each other
– isolation (resource usage)● soft & hard quotas for RAM, CPU, I/O...
![Page 20: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/20.jpg)
Kubernetes
![Page 21: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/21.jpg)
Kubernetes Features
• Containerized infrastructure
• Application-centric management
• Auto-scalable infrastructure
• Environment consistency across development testing and production
• Loosely coupled infrastructure, where each component can act as a separate unit
• Higher density of resource utilization
• Predictable infrastructure which is going to be created
![Page 22: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/22.jpg)
![Page 23: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/23.jpg)
![Page 24: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/24.jpg)
CONTAINER 1CONTAINER 2 CONTAINER 3
POD Worker Node 3
Master Node
Worker Node 2
Worker Node 1
![Page 25: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/25.jpg)
XaaS - *Everything as a Service
![Page 26: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/26.jpg)
Where did XaaS come from?
• Software as a Service (SaaS) — provider’s applications running on a cloud infrastructure.
• Platform as a Service (PaaS) — Deploys variousacquired applications onto the cloud infrastructure.
• Infrastructure as a Service (IaaS) — processing, storage and other computing resources Available for operating systems and applications.
![Page 27: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/27.jpg)
Also called Servicizing
• Product-service systems (PSS)– cohesive delivery of products and services
• Servicizing– transaction value from a combination of products and
services
– provide the function of the product
– also the service component of a product
– customers just want the function that the product provides
![Page 28: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/28.jpg)
What do we see today?
• Software-as-a-Service (SaaS)
• Infrastructure-as-a-Service
• Platform-as-a-Service
• Storage-as-a-Service
• Desktop-as-a-Service
• Disaster recovery-as-a-Service
• Others
![Page 29: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/29.jpg)
OPNFV
![Page 30: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/30.jpg)
What is it?
• NFV
– Network Functions Virtualization
• OP
– Open Platform
• Collaborative open source platform for network functions virtualization
• Started by the Linux Foundation in 2014
![Page 31: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/31.jpg)
NFV - What is it?
• Implement Network Functions in Software– load balancers– Firewalls– Customer Premises Equipment (CPE)– Evolved Packet Core (EPC)– IP Multi-media Subsystem (IMS)– Broadband Network Gateways (BNG)– And more
• Lowers TCO by virtualizing these functions
• Avoids restrictions the hardware implementations create
![Page 32: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/32.jpg)
OPNFV Objectives
• Create an integrated and verified open source platform that can investigate and showcase foundational NFV functionality
• Provide proactive cooperation of end users to validate OPNFV’s strides to address community needs
• Form an open environment for NFV products founded on open standards and open source software
• Contribute and engage in open source projects that will be influenced in the OPNFV reference platform
![Page 33: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/33.jpg)
Cloud Foundry
![Page 34: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/34.jpg)
What is it?
• Platform as a service (PaaS)
• Governed by the Cloud Foundry Foundation
– Sponsored by the Linux Foundation
• Originally developed by VmWare
• Open Source
– Source code is under an Apache License 2.0
![Page 35: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/35.jpg)
What is PaaS?• Usually delivers a computing platform
– including operating system– programming-language execution environment– database– web server
• Deploys cloud applications• Applications are created using provider tools:• Programming languages• Libraries• Services• Other tools
• Users can not manage or control the underlying cloud infrastructure
• Users have control over the deployed applications
![Page 36: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/36.jpg)
Cloud Foundry Projects• Application Runtime Project Management Committee
(PMC)– Directs strategy, development and quality control of the
core components• BOSH PMC
– release engineering, deployment, lifecycle management, and monitoring of distributed systems
• Extensions PMC– extensions to the Cloud Foundry Runtime and BOSH
platform• Open Service Broker API PMC
– a single, simple way to deliver services to applications running within cloud native platforms
![Page 37: Introduction to Virtualization and Containers · What is a container and all the related bits and pieces? Why would we want to use ... Introduction to Virtualization and Containers](https://reader030.vdocuments.us/reader030/viewer/2022041016/5ec7f359714be4642518221c/html5/thumbnails/37.jpg)