5 years later, is docker still delivering - inog · is docker still delivering ? pop quiz systems...

43
5 Years Later, Is Docker Still Delivering ?

Upload: others

Post on 21-May-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

5 Years Later, Is Docker Still Delivering ?

Page 2: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Thomas Shaw

Systems Engineer, Riot Games

@tomwillfixit

Page 3: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Agenda● A Brief History of Docker

● Journey to Production and Beyond

● Is Docker Still Delivering ?

● Pop Quiz

Page 4: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

●Systems Engineer at Riot Games●Docker Captain●Co-Founder of ShipItCon

Previous roles include :

○ Build Engineer at Demonware (Activision)○ Tools/System Automation at Oracle○ Configuration Manager at Citi○ Java QA Engineer at Sun Microsystems

Who is Tom ?

Page 5: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Standing on the shoulders of giants

2000

FreeBSD JailsA small shared-environment hosting provider came up with

FreeBSD jails.

2004

Solaris ContainersCombined system resource controls and boundary separation.

1979

chrootDuring the development of Unix V7 in 1979, the chroot system call was introduced.

2001

Linux VServerLike FreeBSD Jails, but included can partitioning of resources (file systems, network addresses, memory).

2005

Open VZ (Open Virtuzzo)This is an operating system-level virtualization technology for Linux which used a patched Linux kernel.

2006

Process ContainersCreated by Google in 2006. Designed for limiting, accounting and isolating resource usage. Renamed “cgroups”.

2008

LXCLXC (LinuX Containers) was the first, most complete implementation of Linux container manager.

Page 6: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

A Brief History of Docker

2014

Docker 1.0 is released. Orchard Labs purchased.

Machine, Swarm and Compose announced.

2016

Swarm mode released. Docker for Mac and Windows Betas announced. Docker for Azure and AWS. Infinit purchased.

2013

First commit.

Docker is born!

2015

Trusted Registry released. Open Container Project and runC announced. SocketPlane,

Kitematic and Tutum purchased.

2017

Multi-stage builds released. Containerd donated to CNCF.

MTA program rolled out. Kubernetes integration

announced.

2018

Docker Enterprise Edition 2.0 released. Windows containers continuing to mature. buildKit development and native GPU

support.

Page 7: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

5x growth between August 2014 - August 2015

30x growth between May 2015 - May 2016

40x growth between March 2016 - March 2017

Source: Datadog (https://www.datadoghq.com/docker-adoption/)

Docker Adoption

Page 8: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Journey to Production and Beyond

2013

Dependency Hell Testing Times

2014

Container ALL The Things

2015

Production Ready

2016

Lessons Learned

2017

Process and Culture

2018

Page 9: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Journey to Production and Beyond

2013

Dependency Hell

Move RPM builds into containers.

Testing Times

2014

Container ALL The Things

2015

Production Ready

2016

Lessons Learned

2017

Process and Culture

2018

Page 10: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

What does Dependency Hell look like?

Page 11: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

What does Dependency Hell feel like ?

Page 12: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

“Prior to Docker, the portability of an application or service was never guaranteed … Because of the way that Docker containers separate the application constraints from infrastructure concerns, we help solve that dependency hell.”

David Messina, Marketing VP at Docker

How did Docker help ?

Page 13: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Journey to Production and Beyond

2013

Dependency Hell

Move RPM builds into containers.

Testing Times

Moved Unit Tests into containers.

2014

Container ALL The Things

2015

Production Ready

2016

Lessons Learned

2017

Process and Culture

2018

Page 14: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

•Single test, single container•Test environment defined in code•Fast to create, fast to destroy•Improved resource utilization•Load Testing Tooling (seasonal)•Improved parity between local testing and staging

Testing Times

Source : @mikemctaggart

Page 15: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Journey to Production and Beyond

2013

Dependency Hell

Move RPM builds into containers.

Testing Times

Moved Unit Tests into containers.

2014

Container ALL The Things

Move the whole CI pipeline and supporting services into containers.

2015

Production Ready

2016

Lessons Learned

2017

Process and Culture

2018

Page 16: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

• Build Agents• Test Environments• Tooling• CI servers• Internal services• GUI Apps• More containers

Container ALL the things

Page 17: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

• VRNetLab - Containerized Virtual routers

• Test configuration changes locally (Ansible/Puppet/Chef)

• Evaluating tooling such as ThousandEyes

• Networking Toolkit for Onboarding

• Smokeping sidecar running on all build/test environments

Networking use cases

Page 18: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

VRNetLabSupports :

● Arista vEO● Cisco CSR1000v● Cisco Nexus NX-OS (using Titanium emulator)● Cisco XRv● Cisco XRv 9000● Juniper vMX● Juniper vQFX● Nokia VSR

Recommended by Hugo (@hugoslabbert) Network Engineer at Demonware (Activision)

Page 19: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Flannel

Weave Net

Project Calico

Popular Docker Networking ToolsBig Switch Networking

Contiv

Page 20: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Journey to Production and Beyond

2013

Dependency Hell

Move RPM builds into containers.

Testing Times

Moved Unit Tests into containers.

2014

Container ALL The Things

Move the whole CI pipeline and supporting services into containers.

2015

Production Ready

Launch a game title using containerised

services.

2016

Lessons Learned

2017

Process and Culture

2018

Page 21: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Production Ready

Page 22: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Production Ready● Codified deployments

● Gitflow Workflow driven through Jenkins

● Fully containerised CI/CD pipeline

● Developer Workflow; Docker CLI, Compose and Machine

● Title successfully shipped

Page 23: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Journey to Production and Beyond

2013

Dependency Hell

Move RPM builds into containers.

Testing Times

Moved Unit Tests into containers.

2014

Container ALL The Things

Move the whole CI pipeline and supporting services into containers.

2015

Production Ready

Launch a game title using containerised

services.

2016

Lessons Learned

Design with portability in mind. Avoid lock-in. Test,

Test, Test some more.

2017

Process and Culture

2018

Page 24: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Lessons Learned

Page 25: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Lessons Learned● Remove opportunities for human error

● Invest in good logging and monitoring tools

● Infrastructure and supporting services as code

● Build with portability in mind

● Fix forward

Page 26: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Journey to Production and Beyond

2013

Dependency Hell

Move RPM builds into containers.

Testing Times

Moved Unit Tests into containers.

2014

Container ALL the things

Move the whole CI pipeline and supporting services into containers.

2015

Production ready

Launch a game title using containerised

services.

2016

Lessons learned

Design with portability in mind. Avoid lock-in. Test,

Test, Test some more.

2017

Process and Culture

Containers are awesome but they can’t fix poor processes and cultural issues.

2018

Page 27: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Process and CultureBefore choosing tools, communicate with customers, define processes and best practices.

As a tool, Docker encourages best practices, enables greater understanding and provides a common language across disciplines.

Page 28: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes
Page 29: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

The next 5 years ...

Page 30: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

I have no idea ...

But here are some guesses ...

Page 31: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Evolving The Platform● Continue contributing to and evolving core components

○ Containerd

○ Runc

○ linuxKit

○ buildKit

○ swarmKit

● Docker Enterprise Edition 2.0

○ Choice for customers; Swarm and/or Kubernetes

○ Flexibility; multi-Linux, multi-OS and multi-cloud customer environments

Page 32: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

IoT and Embedded Devices● More Operating Systems tailored to run containers such as ResinOS

● Continued focus on the pillars of dependability

○ Availability○ Reliability○ Safety○ Security

● Embedded Medical devices such as Pacemakers, Insulin pumps, Glucose monitors

Page 33: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Critical Systems

Business-critical Mission-critical Safety/Life-critical

Page 34: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Increased Usage In Data Science ● Data Scientists Docker

● Native support for Nvidia GPUs

● Deep Learning frameworks

● Cloud agnostic GPU accelerated containers

Page 35: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

5 years later, is Docker still delivering ?

Page 36: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

5 things I wish I'd known 5 years ago

● A reliable image registry is a must

● Get customer buy-in early

● Growth isn’t fast, it’s exponential

● Image labelling is very important

● Sidecars are really useful

Page 37: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Pop Quiz

Page 38: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Docker democratized container technology and accelerated container adoption.

True or False ?

Page 39: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Docker containers can help companies save money by reducing hardware costs, increasing staff productivity and maximizing software scalability.

True or False ?

Page 40: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Containers are a silver bullet and will solve ALL your problems.

True or False ?

Page 41: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

And Finally ...

The Community needs you.

Page 42: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

@tomwillfixit@DockerDublin

@DandIManifesto“It’s like the Agile Manifesto, but for humans.”

https://diversitymanifesto.org

Page 43: 5 Years Later, Is Docker Still Delivering - iNOG · Is Docker Still Delivering ? Pop Quiz Systems Engineer at Riot Games Docker Captain ... • Evaluating tooling such as ThousandEyes

Thank you!