SlideShare a Scribd company logo
What’s the Deal with Containers,
Anyway?
Stephen Foskett
stephen@fosketts.net
@SFoskett
© Foskett Services
1
Stephen Foskett
is the organizer of Tech Field Day,
proprietor of Gestalt IT,
strangely interested in storage,
baseball believer,
all-around nerd, car nut,
Microsoft MVP and VMware vExpert,
former first-chair bass clarinet player and punk rock frontman,
obsessive about lightbulbs, lover of a good Manhattan,
watch blogger, Apple blogger, vegetarian blogger,
dad to three kids with anagram names,
grammar obsessive, avid reader,
King of the Andals and the First Men,
humanist, frequent traveler,
and (apparently) lover of his own voice
© Foskett Services 2
Contain Yourself!
• Containers are everywhere suddenly
• What’s the deal?
• Why now?
© Foskett Services 3
What is a Container, Anyway?
• A container is an
operating system user
space that:
▫ Is contained: Has strict
boundaries; limited
libraries and tools
▫ Contains an
application: Custom-
designed to run a
specific application
• Operating System-level
virtualization
© Foskett Services 4
The OS Stack
• System Space
▫ Kernel (device
management, memory
management)
▫ Device Drivers
(storage, networking,
video)
• User Space
▫ Libraries and resources
▫ Utilities
▫ Applications
© Foskett Services 5
Entering User Space
• GNU/Linux: GNU is user-space, Linux is system
space
• Citrix WinFrame/Microsoft Terminal Services:
Multiple user spaces
• Linux control groups (cgroups) manages
multiple user spaces
© Foskett Services 6
Container History
• UNIX v7 Chroot (1979)
• Citrix WinFrame/Microsoft Terminal Services
(1995)
• FreeBSD Jails (2000)
• Linux-VServer (2001)
• Solaris Containers/Zones (2004) (AIX/HP-UX
later)
• OpenVZ/Virtuozzo (2005)
• Linux Containers/LXC (2008)
• Docker (2013)
© Foskett Services 7
What Docker Got Right
• Developer focus
▫ Modern tools, friendly configuration,
API’s/integration
• Docker Hub
▫ “App store”
• Easy storage
▫ Layered storage
▫ AUFS/OverlayFS
• Openness and extensibility (eventually)
▫ Networking and storage
• Coopetition/Cooption
▫ Swarm
© Foskett Services 8
How Docker Works
© Foskett Services 9
Images and Containers
• An image is a filesystem and runtime
parameters
• You run an image and it becomes a container
© Foskett Services 10
Best Practices
• Simple images
▫ Only the libraries and utilities you need
▫ Minimize the number of layers (usability and
performance)
• Simple containers
▫ One application per container (one process on
Linux!)
▫ Multi-container applications are cool!
▫ Active storage in external volumes
© Foskett Services 11
Dockerfiles
• Dockerfile
▫ Describes a docker instance in standard terms
▫ Typically based on an existing image
▫ Usually includes specific application installs (apt-
get or yum)
▫ Run a command
▫ Create an image and store it in the Hub
• Docker Compose
▫ Describes a multi-container application instance
▫ Ports, volumes, configuration variables
© Foskett Services 12
Layered Storage
• Most Docker images have 3-5 layers of storage
• Like tracing paper – writes only hit the top layer
• Copy-on-write is a core Docker value
• “Content-addressable” hash-based storage since
1.10
• Focused on capacity optimization and fast
startup
© Foskett Services 13
Docker Storage Options
• Union Filesystems:
▫ AUFS
▫ OverlayFS
• Snapshot-Based:
▫ Devicemapper (LVM block storage)
▫ Btrfs
▫ ZFS
• Pluggable storage drivers
© Foskett Services 14
Docker Data Volume Storage
• Docker containers can use external(ish) storage
as a “Data Volume”
▫ Mounting a directory inside a container
▫ No copy-on-write or layers
▫ Can be external storage (SAN/NAS)
© Foskett Services 15
Docker Data Volume Containers
• Can also create “Data Volume Containers”
▫ A regular Docker container with data volumes
▫ Shares data volumes with other containers
▫ Like a file server but in Docker
© Foskett Services 16
Persistence
• Docker’s approach is for containers not to be
persistent
▫ “Cattle” approach - start up additional
containers based on the same image
▫ No mobility - kill containers and start new ones
elsewhere
• But container data is persistent (until you rm
it)
• Proper data persistence requires data volumes
or a data volume container
© Foskett Services 17
Internal Networking
• Docker Engine networking is extremely simple
▫ Bridge network to containers
▫ Built-in DNS server
• Overlay networks
▫ Key-value store
▫ 802.1q VLANs
▫ VXLAN in Swarm
• Network plugins
© Foskett Services 18
External Networking
• Network Port Mapping to local host
• Routing: Ip_forward/iptables
© Foskett Services 19
Docker Swarm Mode
• Integrated clustering
▫ Automatic clustering and management
▫ Decentralized design
▫ Scaling (up and down)
▫ Overlay networking
▫ Rolling updates
• Docker is late to the party (Kubernetes, Mesos)
but made scale-out applications incredibly easy
© Foskett Services 20
What Can We Do with
Containers?
© Foskett Services 21
Consistent Application Environment
One application per container;
one container per application
• Probably the most-overlooked aspect of Docker
• Never again worry about OS level, patches,
incompatible applications and utilities
• Never any "competition" from other
applications
© Foskett Services 22
Security
• Many security issues come from unused utilities
and application components
• Escalation of privileges affects the entire
system
But…
• Containerized applications shouldn't have many
unused utilities
• Nothing else running means nothing else to
infect
© Foskett Services 23
Scalable Application Platforms
• Scaling applications is incredibly difficult,
especially once you get past the single-server
barrier
• It's still difficult with containers but containers
make it so easy that developers might finally
create segmented/containerized scalable
applications!
• Imagine "worker" tasks in containers
contributing to a decentralized, scalable whole
© Foskett Services 24
The Future is Containerized!
• Containerized applications have many benefits
• Developers love containers (especially Docker!)
• Microsoft loves containers and cloud
• Many benefits for Devs and Ops alike!
© Foskett Services 25
Thank You!
Stephen Foskett
stephen@fosketts.net
twitter.com/sfoskett
blog.fosketts.net
TechFieldDay.com
26

More Related Content

What's hot

But What About Docker?
But What About Docker?But What About Docker?
But What About Docker?
Joshua McKenty
 
Deploying OpenStack Object Storage (Swift)
Deploying OpenStack Object Storage (Swift)Deploying OpenStack Object Storage (Swift)
Deploying OpenStack Object Storage (Swift)Juan José Martínez
 
Kubernetes meetup - 2018-05-23
Kubernetes meetup - 2018-05-23Kubernetes meetup - 2018-05-23
Kubernetes meetup - 2018-05-23
Ruben Ernst
 
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical informationZarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical informationZarafa
 
OpenNebula in a Multiuser Environment
OpenNebula in a Multiuser EnvironmentOpenNebula in a Multiuser Environment
OpenNebula in a Multiuser Environment
NETWAYS
 
Zarafa SummerCamp 2012 - Steve Hardy Friday Keynote
Zarafa SummerCamp 2012 - Steve Hardy Friday KeynoteZarafa SummerCamp 2012 - Steve Hardy Friday Keynote
Zarafa SummerCamp 2012 - Steve Hardy Friday KeynoteZarafa
 
Heroku
HerokuHeroku
OpenStack Swift
OpenStack SwiftOpenStack Swift
OpenStack Swift
openstackstl
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD X
iXsystems
 
Ruby Setup
Ruby SetupRuby Setup
Ruby Setup
Alan Hecht
 
Ditributed Version Control System
Ditributed Version Control SystemDitributed Version Control System
Ditributed Version Control SystemAmbientia
 
Openstack Cactus Survey
Openstack Cactus SurveyOpenstack Cactus Survey
Openstack Cactus SurveyPjack Chen
 
Spicing up JMX with Jolokia (Devoxx 2014)
Spicing up JMX with Jolokia (Devoxx 2014)Spicing up JMX with Jolokia (Devoxx 2014)
Spicing up JMX with Jolokia (Devoxx 2014)
roland.huss
 
Redis in 20 minutes
Redis in 20 minutesRedis in 20 minutes
Redis in 20 minutes
András Fehér
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: Unikernels
Docker, Inc.
 
Persistent storage tailored for containers #dockersummit
Persistent storage tailored for containers #dockersummitPersistent storage tailored for containers #dockersummit
Persistent storage tailored for containers #dockersummit
Infinit
 
Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0
Jakub Hajek
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
yannick grenzinger
 
CFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful CodeCFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful Code
indiver
 

What's hot (20)

But What About Docker?
But What About Docker?But What About Docker?
But What About Docker?
 
Deploying OpenStack Object Storage (Swift)
Deploying OpenStack Object Storage (Swift)Deploying OpenStack Object Storage (Swift)
Deploying OpenStack Object Storage (Swift)
 
Kubernetes meetup - 2018-05-23
Kubernetes meetup - 2018-05-23Kubernetes meetup - 2018-05-23
Kubernetes meetup - 2018-05-23
 
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical informationZarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
 
OpenNebula in a Multiuser Environment
OpenNebula in a Multiuser EnvironmentOpenNebula in a Multiuser Environment
OpenNebula in a Multiuser Environment
 
Zarafa SummerCamp 2012 - Steve Hardy Friday Keynote
Zarafa SummerCamp 2012 - Steve Hardy Friday KeynoteZarafa SummerCamp 2012 - Steve Hardy Friday Keynote
Zarafa SummerCamp 2012 - Steve Hardy Friday Keynote
 
Heroku
HerokuHeroku
Heroku
 
OpenStack Swift
OpenStack SwiftOpenStack Swift
OpenStack Swift
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD X
 
Ruby Setup
Ruby SetupRuby Setup
Ruby Setup
 
Ditributed Version Control System
Ditributed Version Control SystemDitributed Version Control System
Ditributed Version Control System
 
Openstack Cactus Survey
Openstack Cactus SurveyOpenstack Cactus Survey
Openstack Cactus Survey
 
Spicing up JMX with Jolokia (Devoxx 2014)
Spicing up JMX with Jolokia (Devoxx 2014)Spicing up JMX with Jolokia (Devoxx 2014)
Spicing up JMX with Jolokia (Devoxx 2014)
 
Redis in 20 minutes
Redis in 20 minutesRedis in 20 minutes
Redis in 20 minutes
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: Unikernels
 
Persistent storage tailored for containers #dockersummit
Persistent storage tailored for containers #dockersummitPersistent storage tailored for containers #dockersummit
Persistent storage tailored for containers #dockersummit
 
Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
 
CFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful CodeCFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful Code
 

Similar to What’s the Deal with Containers, Anyway?

State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
OpenEBS
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
Damian T. Gordon
 
컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker
seungdon Choi
 
1. Docker Introduction.pdf
1. Docker Introduction.pdf1. Docker Introduction.pdf
1. Docker Introduction.pdf
AmarGautam15
 
Containers 101
Containers 101Containers 101
Containers 101
Black Duck by Synopsys
 
Docker presentation for sharing
Docker presentation   for sharingDocker presentation   for sharing
Docker presentation for sharing
Waruna Viraj Perera
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Alan Forbes
 
Docker
DockerDocker
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
Rami Sayar
 
Containers and HPC
Containers and HPCContainers and HPC
Containers and HPC
Olli-Pekka Lehto
 
Alluxio - Scalable Filesystem Metadata Services
Alluxio - Scalable Filesystem Metadata ServicesAlluxio - Scalable Filesystem Metadata Services
Alluxio - Scalable Filesystem Metadata Services
Alluxio, Inc.
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
Dr Ganesh Iyer
 
Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyser
Alex Moskvin
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
Web à Québec
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
Bert Poller
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps RevolutionYulian Slobodyan
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
MarketingArrowECS_CZ
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
Ravindu Fernando
 

Similar to What’s the Deal with Containers, Anyway? (20)

State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker
 
1. Docker Introduction.pdf
1. Docker Introduction.pdf1. Docker Introduction.pdf
1. Docker Introduction.pdf
 
Containers 101
Containers 101Containers 101
Containers 101
 
Docker presentation for sharing
Docker presentation   for sharingDocker presentation   for sharing
Docker presentation for sharing
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker
DockerDocker
Docker
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
 
Containers and HPC
Containers and HPCContainers and HPC
Containers and HPC
 
Alluxio - Scalable Filesystem Metadata Services
Alluxio - Scalable Filesystem Metadata ServicesAlluxio - Scalable Filesystem Metadata Services
Alluxio - Scalable Filesystem Metadata Services
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 
Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyser
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps Revolution
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 

More from Stephen Foskett

The Zen of Storage
The Zen of StorageThe Zen of Storage
The Zen of Storage
Stephen Foskett
 
Out of the Lab and Into the Datacenter - Which Technologies Are Ready?
Out of the Lab and Into the Datacenter - Which Technologies Are Ready?Out of the Lab and Into the Datacenter - Which Technologies Are Ready?
Out of the Lab and Into the Datacenter - Which Technologies Are Ready?
Stephen Foskett
 
The Four Horsemen of Storage System Performance
The Four Horsemen of Storage System PerformanceThe Four Horsemen of Storage System Performance
The Four Horsemen of Storage System Performance
Stephen Foskett
 
Gestalt IT - Why It’s Time to Stop Thinking In Terms of Silos
Gestalt IT - Why It’s Time to Stop Thinking In Terms of SilosGestalt IT - Why It’s Time to Stop Thinking In Terms of Silos
Gestalt IT - Why It’s Time to Stop Thinking In Terms of Silos
Stephen Foskett
 
It's the End of Data Storage As We Know It (And I Feel Fine)
It's the End of Data Storage As We Know It (And I Feel Fine)It's the End of Data Storage As We Know It (And I Feel Fine)
It's the End of Data Storage As We Know It (And I Feel Fine)
Stephen Foskett
 
Storage for Virtual Environments 2011 R2
Storage for Virtual Environments 2011 R2Storage for Virtual Environments 2011 R2
Storage for Virtual Environments 2011 R2
Stephen Foskett
 
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
Stephen Foskett
 
State of the Art Thin Provisioning
State of the Art Thin ProvisioningState of the Art Thin Provisioning
State of the Art Thin ProvisioningStephen Foskett
 
Rearchitecting Storage for Server Virtualization
Rearchitecting Storage for Server VirtualizationRearchitecting Storage for Server Virtualization
Rearchitecting Storage for Server VirtualizationStephen Foskett
 
Eleven Essential Attributes For Email Archiving
Eleven Essential Attributes For Email ArchivingEleven Essential Attributes For Email Archiving
Eleven Essential Attributes For Email ArchivingStephen Foskett
 
Email Archiving Solutions Whats The Difference
Email Archiving Solutions Whats The DifferenceEmail Archiving Solutions Whats The Difference
Email Archiving Solutions Whats The DifferenceStephen Foskett
 
Deep Dive Into Email Archiving Products
Deep Dive Into Email Archiving ProductsDeep Dive Into Email Archiving Products
Deep Dive Into Email Archiving ProductsStephen Foskett
 
Storage Virtualization Introduction
Storage Virtualization IntroductionStorage Virtualization Introduction
Storage Virtualization IntroductionStephen Foskett
 
Extreme Tiered Storage Flash, Disk, And Cloud
Extreme Tiered Storage Flash, Disk, And CloudExtreme Tiered Storage Flash, Disk, And Cloud
Extreme Tiered Storage Flash, Disk, And CloudStephen Foskett
 
The Right Approach To Cloud Storage
The Right Approach To Cloud StorageThe Right Approach To Cloud Storage
The Right Approach To Cloud StorageStephen Foskett
 
Storage Decisions Nirvanix Introduction
Storage Decisions Nirvanix IntroductionStorage Decisions Nirvanix Introduction
Storage Decisions Nirvanix IntroductionStephen Foskett
 
Solve 3 Enterprise Storage Problems Today
Solve 3 Enterprise Storage Problems TodaySolve 3 Enterprise Storage Problems Today
Solve 3 Enterprise Storage Problems TodayStephen Foskett
 
Virtualization Changes Storage
Virtualization Changes StorageVirtualization Changes Storage
Virtualization Changes StorageStephen Foskett
 

More from Stephen Foskett (20)

The Zen of Storage
The Zen of StorageThe Zen of Storage
The Zen of Storage
 
Out of the Lab and Into the Datacenter - Which Technologies Are Ready?
Out of the Lab and Into the Datacenter - Which Technologies Are Ready?Out of the Lab and Into the Datacenter - Which Technologies Are Ready?
Out of the Lab and Into the Datacenter - Which Technologies Are Ready?
 
The Four Horsemen of Storage System Performance
The Four Horsemen of Storage System PerformanceThe Four Horsemen of Storage System Performance
The Four Horsemen of Storage System Performance
 
Gestalt IT - Why It’s Time to Stop Thinking In Terms of Silos
Gestalt IT - Why It’s Time to Stop Thinking In Terms of SilosGestalt IT - Why It’s Time to Stop Thinking In Terms of Silos
Gestalt IT - Why It’s Time to Stop Thinking In Terms of Silos
 
It's the End of Data Storage As We Know It (And I Feel Fine)
It's the End of Data Storage As We Know It (And I Feel Fine)It's the End of Data Storage As We Know It (And I Feel Fine)
It's the End of Data Storage As We Know It (And I Feel Fine)
 
Storage for Virtual Environments 2011 R2
Storage for Virtual Environments 2011 R2Storage for Virtual Environments 2011 R2
Storage for Virtual Environments 2011 R2
 
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
 
State of the Art Thin Provisioning
State of the Art Thin ProvisioningState of the Art Thin Provisioning
State of the Art Thin Provisioning
 
Rearchitecting Storage for Server Virtualization
Rearchitecting Storage for Server VirtualizationRearchitecting Storage for Server Virtualization
Rearchitecting Storage for Server Virtualization
 
Eleven Essential Attributes For Email Archiving
Eleven Essential Attributes For Email ArchivingEleven Essential Attributes For Email Archiving
Eleven Essential Attributes For Email Archiving
 
Email Archiving Solutions Whats The Difference
Email Archiving Solutions Whats The DifferenceEmail Archiving Solutions Whats The Difference
Email Archiving Solutions Whats The Difference
 
Storage School 1
Storage School 1Storage School 1
Storage School 1
 
Storage School 2
Storage School 2Storage School 2
Storage School 2
 
Deep Dive Into Email Archiving Products
Deep Dive Into Email Archiving ProductsDeep Dive Into Email Archiving Products
Deep Dive Into Email Archiving Products
 
Storage Virtualization Introduction
Storage Virtualization IntroductionStorage Virtualization Introduction
Storage Virtualization Introduction
 
Extreme Tiered Storage Flash, Disk, And Cloud
Extreme Tiered Storage Flash, Disk, And CloudExtreme Tiered Storage Flash, Disk, And Cloud
Extreme Tiered Storage Flash, Disk, And Cloud
 
The Right Approach To Cloud Storage
The Right Approach To Cloud StorageThe Right Approach To Cloud Storage
The Right Approach To Cloud Storage
 
Storage Decisions Nirvanix Introduction
Storage Decisions Nirvanix IntroductionStorage Decisions Nirvanix Introduction
Storage Decisions Nirvanix Introduction
 
Solve 3 Enterprise Storage Problems Today
Solve 3 Enterprise Storage Problems TodaySolve 3 Enterprise Storage Problems Today
Solve 3 Enterprise Storage Problems Today
 
Virtualization Changes Storage
Virtualization Changes StorageVirtualization Changes Storage
Virtualization Changes Storage
 

Recently uploaded

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 

Recently uploaded (20)

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 

What’s the Deal with Containers, Anyway?

  • 1. What’s the Deal with Containers, Anyway? Stephen Foskett stephen@fosketts.net @SFoskett © Foskett Services 1
  • 2. Stephen Foskett is the organizer of Tech Field Day, proprietor of Gestalt IT, strangely interested in storage, baseball believer, all-around nerd, car nut, Microsoft MVP and VMware vExpert, former first-chair bass clarinet player and punk rock frontman, obsessive about lightbulbs, lover of a good Manhattan, watch blogger, Apple blogger, vegetarian blogger, dad to three kids with anagram names, grammar obsessive, avid reader, King of the Andals and the First Men, humanist, frequent traveler, and (apparently) lover of his own voice © Foskett Services 2
  • 3. Contain Yourself! • Containers are everywhere suddenly • What’s the deal? • Why now? © Foskett Services 3
  • 4. What is a Container, Anyway? • A container is an operating system user space that: ▫ Is contained: Has strict boundaries; limited libraries and tools ▫ Contains an application: Custom- designed to run a specific application • Operating System-level virtualization © Foskett Services 4
  • 5. The OS Stack • System Space ▫ Kernel (device management, memory management) ▫ Device Drivers (storage, networking, video) • User Space ▫ Libraries and resources ▫ Utilities ▫ Applications © Foskett Services 5
  • 6. Entering User Space • GNU/Linux: GNU is user-space, Linux is system space • Citrix WinFrame/Microsoft Terminal Services: Multiple user spaces • Linux control groups (cgroups) manages multiple user spaces © Foskett Services 6
  • 7. Container History • UNIX v7 Chroot (1979) • Citrix WinFrame/Microsoft Terminal Services (1995) • FreeBSD Jails (2000) • Linux-VServer (2001) • Solaris Containers/Zones (2004) (AIX/HP-UX later) • OpenVZ/Virtuozzo (2005) • Linux Containers/LXC (2008) • Docker (2013) © Foskett Services 7
  • 8. What Docker Got Right • Developer focus ▫ Modern tools, friendly configuration, API’s/integration • Docker Hub ▫ “App store” • Easy storage ▫ Layered storage ▫ AUFS/OverlayFS • Openness and extensibility (eventually) ▫ Networking and storage • Coopetition/Cooption ▫ Swarm © Foskett Services 8
  • 9. How Docker Works © Foskett Services 9
  • 10. Images and Containers • An image is a filesystem and runtime parameters • You run an image and it becomes a container © Foskett Services 10
  • 11. Best Practices • Simple images ▫ Only the libraries and utilities you need ▫ Minimize the number of layers (usability and performance) • Simple containers ▫ One application per container (one process on Linux!) ▫ Multi-container applications are cool! ▫ Active storage in external volumes © Foskett Services 11
  • 12. Dockerfiles • Dockerfile ▫ Describes a docker instance in standard terms ▫ Typically based on an existing image ▫ Usually includes specific application installs (apt- get or yum) ▫ Run a command ▫ Create an image and store it in the Hub • Docker Compose ▫ Describes a multi-container application instance ▫ Ports, volumes, configuration variables © Foskett Services 12
  • 13. Layered Storage • Most Docker images have 3-5 layers of storage • Like tracing paper – writes only hit the top layer • Copy-on-write is a core Docker value • “Content-addressable” hash-based storage since 1.10 • Focused on capacity optimization and fast startup © Foskett Services 13
  • 14. Docker Storage Options • Union Filesystems: ▫ AUFS ▫ OverlayFS • Snapshot-Based: ▫ Devicemapper (LVM block storage) ▫ Btrfs ▫ ZFS • Pluggable storage drivers © Foskett Services 14
  • 15. Docker Data Volume Storage • Docker containers can use external(ish) storage as a “Data Volume” ▫ Mounting a directory inside a container ▫ No copy-on-write or layers ▫ Can be external storage (SAN/NAS) © Foskett Services 15
  • 16. Docker Data Volume Containers • Can also create “Data Volume Containers” ▫ A regular Docker container with data volumes ▫ Shares data volumes with other containers ▫ Like a file server but in Docker © Foskett Services 16
  • 17. Persistence • Docker’s approach is for containers not to be persistent ▫ “Cattle” approach - start up additional containers based on the same image ▫ No mobility - kill containers and start new ones elsewhere • But container data is persistent (until you rm it) • Proper data persistence requires data volumes or a data volume container © Foskett Services 17
  • 18. Internal Networking • Docker Engine networking is extremely simple ▫ Bridge network to containers ▫ Built-in DNS server • Overlay networks ▫ Key-value store ▫ 802.1q VLANs ▫ VXLAN in Swarm • Network plugins © Foskett Services 18
  • 19. External Networking • Network Port Mapping to local host • Routing: Ip_forward/iptables © Foskett Services 19
  • 20. Docker Swarm Mode • Integrated clustering ▫ Automatic clustering and management ▫ Decentralized design ▫ Scaling (up and down) ▫ Overlay networking ▫ Rolling updates • Docker is late to the party (Kubernetes, Mesos) but made scale-out applications incredibly easy © Foskett Services 20
  • 21. What Can We Do with Containers? © Foskett Services 21
  • 22. Consistent Application Environment One application per container; one container per application • Probably the most-overlooked aspect of Docker • Never again worry about OS level, patches, incompatible applications and utilities • Never any "competition" from other applications © Foskett Services 22
  • 23. Security • Many security issues come from unused utilities and application components • Escalation of privileges affects the entire system But… • Containerized applications shouldn't have many unused utilities • Nothing else running means nothing else to infect © Foskett Services 23
  • 24. Scalable Application Platforms • Scaling applications is incredibly difficult, especially once you get past the single-server barrier • It's still difficult with containers but containers make it so easy that developers might finally create segmented/containerized scalable applications! • Imagine "worker" tasks in containers contributing to a decentralized, scalable whole © Foskett Services 24
  • 25. The Future is Containerized! • Containerized applications have many benefits • Developers love containers (especially Docker!) • Microsoft loves containers and cloud • Many benefits for Devs and Ops alike! © Foskett Services 25