SlideShare a Scribd company logo
PresenterName,TitleandorDate
A Skeptic’s Guide to Docker
Tori Wieldt, Developer Advocate, New Relic
@ToriWieldt
V2: Infrastructure
2
Confidential ©2008-15 New Relic, Inc. All rights reserved.
New Relic’s Journey
Challenges with Docker
Basics
Docker is Not
Docker in Operation
What’s Happening With Your Containers?
AGENDA
Ruby Frontend + Java Backend
1) The Ruby Monolith
2) The Duolith
3) Services Architecture
200+ Services
Docker in Prod 2014
4
• Based on Selenium
• Each script runs in its
own container
• Performance
• Security
A crash test dummy
for your software.
5
 Docker is a Moving Target
 Only the BOLD run the current version
 Boot2Docker/ Docker ToolBox/ Docker for Mac
blog The Modern Developer Workstation on MacOS with Docker
 Docs are Written for Greenfield development
 No Runbook for Migrating existing apps
 Noisy Neighbors
 Docker Fork by Red Hat?
CHALLENGES
 A Cloud Platform (AWS, OpenStack)
 Configuration Management (Chef, Puppet)
 Testing (Vagrant)
 Deployment Tool (pre-Swarm)
Docker is Not…
New Skills and Tools
 For Ops
 Library of Base Images
 Solid Process for Building and Shipping
 Good Internal Docs for Devs
 For Devs
 Learn the Tools
 Let Go of the Notion of a Large and Persistent Filesystem
 Make your code multithreaded
 Take Ownership of the App’s Dependencies
What’s New?
How Do You Know What’s
Happening With Your
Containers?
9Confidential ©2008-15 New Relic, Inc. All
rights reserved.
 Docker Stats Command & Docker API
Looking At Containers
 Complete visibility across
your dynamic infrastructure
Key host health metrics
physical memory, Disk I/O
utilization and capacity
Track container performance by
 image
 version
 other metadata
INFRASTRUCTURE
INFRASTRUCTURE
“Which app uses the most resources?”
Processes, Grouped by Container Image
INFRASTRUCTURE
“What’s Happening Inside a Container?”
Learn More
 “Hello World” Tutorial at Docker.com
 Docker In Production book
 NewRelic.com/docker
 Docker for Java Tutorial
 github.com/docker/community/tree/master/tutorials/java
 NR Infographic: The Life and Times of a Docker Container
Thank You
Tori Wieldt
ToriWieldt@newrelic.com
@ToriWieldt
Confidential ©2008-15 New Relic, Inc. All rights

More Related Content

What's hot

Docker ee an architecture and operations overview
Docker ee an architecture and operations overviewDocker ee an architecture and operations overview
Docker ee an architecture and operations overview
Docker, Inc.
 
Windows container security
Windows container securityWindows container security
Windows container security
Docker, Inc.
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Docker, Inc.
 
What's New in Docker
What's New in DockerWhat's New in Docker
What's New in Docker
Docker, Inc.
 
Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL Server
Chris Adkin
 
Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)
dev2ops
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio Code
Docker, Inc.
 
Windows Containers
Windows ContainersWindows Containers
Windows Containers
Eran Stiller
 
Shipping and Shifting ~100 Apps with Docker EE
Shipping and Shifting ~100 Apps with Docker EEShipping and Shifting ~100 Apps with Docker EE
Shipping and Shifting ~100 Apps with Docker EE
Docker, Inc.
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
Brian Dawson
 
Clean Infrastructure as Code
Clean Infrastructure as CodeClean Infrastructure as Code
Clean Infrastructure as Code
QAware GmbH
 
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...
Daniel Oh
 
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Vincenzo Ferme
 
Introduction of Android Architecture
Introduction of Android ArchitectureIntroduction of Android Architecture
Introduction of Android Architecture
Bin Yang
 
Containerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated ApplicationsContainerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated Applications
Docker, Inc.
 
Chris Swan at QCon 2014: Using Docker in Cloud Networks
Chris Swan at QCon 2014: Using Docker in Cloud NetworksChris Swan at QCon 2014: Using Docker in Cloud Networks
Chris Swan at QCon 2014: Using Docker in Cloud Networks
Cohesive Networks
 
SRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
SRE principles and (Kubernetes) Operator practice | DevNation Tech TalkSRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
SRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
Red Hat Developers
 
Ci with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgiumCi with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgium
Chris Adkin
 
Prepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/GreenPrepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/Green
Sonatype
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime
 

What's hot (20)

Docker ee an architecture and operations overview
Docker ee an architecture and operations overviewDocker ee an architecture and operations overview
Docker ee an architecture and operations overview
 
Windows container security
Windows container securityWindows container security
Windows container security
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
 
What's New in Docker
What's New in DockerWhat's New in Docker
What's New in Docker
 
Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL Server
 
Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio Code
 
Windows Containers
Windows ContainersWindows Containers
Windows Containers
 
Shipping and Shifting ~100 Apps with Docker EE
Shipping and Shifting ~100 Apps with Docker EEShipping and Shifting ~100 Apps with Docker EE
Shipping and Shifting ~100 Apps with Docker EE
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
 
Clean Infrastructure as Code
Clean Infrastructure as CodeClean Infrastructure as Code
Clean Infrastructure as Code
 
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...
 
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
 
Introduction of Android Architecture
Introduction of Android ArchitectureIntroduction of Android Architecture
Introduction of Android Architecture
 
Containerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated ApplicationsContainerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated Applications
 
Chris Swan at QCon 2014: Using Docker in Cloud Networks
Chris Swan at QCon 2014: Using Docker in Cloud NetworksChris Swan at QCon 2014: Using Docker in Cloud Networks
Chris Swan at QCon 2014: Using Docker in Cloud Networks
 
SRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
SRE principles and (Kubernetes) Operator practice | DevNation Tech TalkSRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
SRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
 
Ci with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgiumCi with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgium
 
Prepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/GreenPrepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/Green
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
 

Viewers also liked

Convergent%20 ablation%20without%20movie
Convergent%20 ablation%20without%20movieConvergent%20 ablation%20without%20movie
Convergent%20 ablation%20without%20movie
lspage15
 
General_Practices_working_with_Young_and_Adults_Carers
General_Practices_working_with_Young_and_Adults_CarersGeneral_Practices_working_with_Young_and_Adults_Carers
General_Practices_working_with_Young_and_Adults_Carers
Benjamin White
 
HR magazine_Oct15
HR magazine_Oct15HR magazine_Oct15
HR magazine_Oct15
Luke Phibbs
 
PatriceGenest-en
PatriceGenest-enPatriceGenest-en
PatriceGenest-en
Patrice Genest
 
Convergent%20 ablation%20without%20movie
Convergent%20 ablation%20without%20movieConvergent%20 ablation%20without%20movie
Convergent%20 ablation%20without%20movie
lspage15
 
TEE Acquisition Guide
TEE Acquisition GuideTEE Acquisition Guide
TEE Acquisition Guide
lspage15
 
Measureable Cloud Migration
Measureable Cloud MigrationMeasureable Cloud Migration
Measureable Cloud Migration
Tori Wieldt
 
BUCKS HEALTH OH survey on Occupational skin disease in UK Health care workers
BUCKS HEALTH OH survey on Occupational skin disease in UK Health care workersBUCKS HEALTH OH survey on Occupational skin disease in UK Health care workers
BUCKS HEALTH OH survey on Occupational skin disease in UK Health care workers
Rosemond Linda Nortey Ogyaadu MSc HSSE, Cert Travel Med
 
Comparative efficacy of interventions to promote hand hygiene in hospital sys...
Comparative efficacy of interventions to promote hand hygiene in hospital sys...Comparative efficacy of interventions to promote hand hygiene in hospital sys...
Comparative efficacy of interventions to promote hand hygiene in hospital sys...
Rosemond Linda Nortey Ogyaadu MSc HSSE, Cert Travel Med
 
HSSE MSc Social Determinants of Health Summative Groupwork with Mr Marmot and...
HSSE MSc Social Determinants of Health Summative Groupwork with Mr Marmot and...HSSE MSc Social Determinants of Health Summative Groupwork with Mr Marmot and...
HSSE MSc Social Determinants of Health Summative Groupwork with Mr Marmot and...
Rosemond Linda Nortey Ogyaadu MSc HSSE, Cert Travel Med
 

Viewers also liked (10)

Convergent%20 ablation%20without%20movie
Convergent%20 ablation%20without%20movieConvergent%20 ablation%20without%20movie
Convergent%20 ablation%20without%20movie
 
General_Practices_working_with_Young_and_Adults_Carers
General_Practices_working_with_Young_and_Adults_CarersGeneral_Practices_working_with_Young_and_Adults_Carers
General_Practices_working_with_Young_and_Adults_Carers
 
HR magazine_Oct15
HR magazine_Oct15HR magazine_Oct15
HR magazine_Oct15
 
PatriceGenest-en
PatriceGenest-enPatriceGenest-en
PatriceGenest-en
 
Convergent%20 ablation%20without%20movie
Convergent%20 ablation%20without%20movieConvergent%20 ablation%20without%20movie
Convergent%20 ablation%20without%20movie
 
TEE Acquisition Guide
TEE Acquisition GuideTEE Acquisition Guide
TEE Acquisition Guide
 
Measureable Cloud Migration
Measureable Cloud MigrationMeasureable Cloud Migration
Measureable Cloud Migration
 
BUCKS HEALTH OH survey on Occupational skin disease in UK Health care workers
BUCKS HEALTH OH survey on Occupational skin disease in UK Health care workersBUCKS HEALTH OH survey on Occupational skin disease in UK Health care workers
BUCKS HEALTH OH survey on Occupational skin disease in UK Health care workers
 
Comparative efficacy of interventions to promote hand hygiene in hospital sys...
Comparative efficacy of interventions to promote hand hygiene in hospital sys...Comparative efficacy of interventions to promote hand hygiene in hospital sys...
Comparative efficacy of interventions to promote hand hygiene in hospital sys...
 
HSSE MSc Social Determinants of Health Summative Groupwork with Mr Marmot and...
HSSE MSc Social Determinants of Health Summative Groupwork with Mr Marmot and...HSSE MSc Social Determinants of Health Summative Groupwork with Mr Marmot and...
HSSE MSc Social Determinants of Health Summative Groupwork with Mr Marmot and...
 

Similar to A Skeptic's Guide to Docker

Docker - fundamental
Docker  - fundamentalDocker  - fundamental
Docker - fundamental
Chen-Tien Tsai
 
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein MainIntroduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Puja Abbassi
 
Messaging with the Docker
Messaging with the DockerMessaging with the Docker
Messaging with the Docker
Henryk Konsek
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
BalaBit
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
 
Dockerizing development workflow
Dockerizing development workflowDockerizing development workflow
Dockerizing development workflow
Orest Ivasiv
 
Using Docker and Elastic Beanstalk in Production
Using Docker and Elastic Beanstalk in ProductionUsing Docker and Elastic Beanstalk in Production
Using Docker and Elastic Beanstalk in Production
Ryan Marr
 
Docker for dev
Docker for devDocker for dev
Docker for dev
Erik Talboom
 
How to Dockerize Your .NET Core API
How to Dockerize Your .NET Core APIHow to Dockerize Your .NET Core API
How to Dockerize Your .NET Core API
Lakshman S
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
Edureka!
 
Docker crash course
Docker crash courseDocker crash course
Docker crash course
Vishwas N
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
Docker, Inc.
 
DevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containersDevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containers
Marc Müller
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
Codefresh
 
DOCKER
DOCKERDOCKER
Docker - What it is and how to get started?
Docker - What it is and how to get started?Docker - What it is and how to get started?
Docker - What it is and how to get started?
Niko Virtala
 
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
DataArt
 
Container on azure
Container on azureContainer on azure
Container on azure
Vishwas N
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
Mohammed Fazuluddin
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 

Similar to A Skeptic's Guide to Docker (20)

Docker - fundamental
Docker  - fundamentalDocker  - fundamental
Docker - fundamental
 
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein MainIntroduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
 
Messaging with the Docker
Messaging with the DockerMessaging with the Docker
Messaging with the Docker
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Dockerizing development workflow
Dockerizing development workflowDockerizing development workflow
Dockerizing development workflow
 
Using Docker and Elastic Beanstalk in Production
Using Docker and Elastic Beanstalk in ProductionUsing Docker and Elastic Beanstalk in Production
Using Docker and Elastic Beanstalk in Production
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
How to Dockerize Your .NET Core API
How to Dockerize Your .NET Core APIHow to Dockerize Your .NET Core API
How to Dockerize Your .NET Core API
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
Docker crash course
Docker crash courseDocker crash course
Docker crash course
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
DevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containersDevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containers
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
 
DOCKER
DOCKERDOCKER
DOCKER
 
Docker - What it is and how to get started?
Docker - What it is and how to get started?Docker - What it is and how to get started?
Docker - What it is and how to get started?
 
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
 
Container on azure
Container on azureContainer on azure
Container on azure
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 

More from Tori Wieldt

DevOps Without Measurement is a Fail
DevOps Without Measurement is a FailDevOps Without Measurement is a Fail
DevOps Without Measurement is a Fail
Tori Wieldt
 
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
Tori Wieldt
 
Developer Relations for Skeptics - Java Commuity Day 2017
Developer Relations for Skeptics - Java Commuity Day 2017Developer Relations for Skeptics - Java Commuity Day 2017
Developer Relations for Skeptics - Java Commuity Day 2017
Tori Wieldt
 
A Skeptic's Guide to Docker
A Skeptic's Guide to Docker A Skeptic's Guide to Docker
A Skeptic's Guide to Docker
Tori Wieldt
 
Scaling with Docker: New Relic’s Containerization Journey
Scaling with Docker: New Relic’s Containerization JourneyScaling with Docker: New Relic’s Containerization Journey
Scaling with Docker: New Relic’s Containerization Journey
Tori Wieldt
 
Docker: Light and Dark
Docker: Light and DarkDocker: Light and Dark
Docker: Light and Dark
Tori Wieldt
 

More from Tori Wieldt (6)

DevOps Without Measurement is a Fail
DevOps Without Measurement is a FailDevOps Without Measurement is a Fail
DevOps Without Measurement is a Fail
 
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
 
Developer Relations for Skeptics - Java Commuity Day 2017
Developer Relations for Skeptics - Java Commuity Day 2017Developer Relations for Skeptics - Java Commuity Day 2017
Developer Relations for Skeptics - Java Commuity Day 2017
 
A Skeptic's Guide to Docker
A Skeptic's Guide to Docker A Skeptic's Guide to Docker
A Skeptic's Guide to Docker
 
Scaling with Docker: New Relic’s Containerization Journey
Scaling with Docker: New Relic’s Containerization JourneyScaling with Docker: New Relic’s Containerization Journey
Scaling with Docker: New Relic’s Containerization Journey
 
Docker: Light and Dark
Docker: Light and DarkDocker: Light and Dark
Docker: Light and Dark
 

Recently uploaded

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 

Recently uploaded (20)

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 

A Skeptic's Guide to Docker

  • 1. PresenterName,TitleandorDate A Skeptic’s Guide to Docker Tori Wieldt, Developer Advocate, New Relic @ToriWieldt V2: Infrastructure
  • 2. 2 Confidential ©2008-15 New Relic, Inc. All rights reserved. New Relic’s Journey Challenges with Docker Basics Docker is Not Docker in Operation What’s Happening With Your Containers? AGENDA
  • 3. Ruby Frontend + Java Backend 1) The Ruby Monolith 2) The Duolith 3) Services Architecture 200+ Services Docker in Prod 2014
  • 4. 4 • Based on Selenium • Each script runs in its own container • Performance • Security A crash test dummy for your software.
  • 5. 5  Docker is a Moving Target  Only the BOLD run the current version  Boot2Docker/ Docker ToolBox/ Docker for Mac blog The Modern Developer Workstation on MacOS with Docker  Docs are Written for Greenfield development  No Runbook for Migrating existing apps  Noisy Neighbors  Docker Fork by Red Hat? CHALLENGES
  • 6.  A Cloud Platform (AWS, OpenStack)  Configuration Management (Chef, Puppet)  Testing (Vagrant)  Deployment Tool (pre-Swarm) Docker is Not…
  • 7. New Skills and Tools  For Ops  Library of Base Images  Solid Process for Building and Shipping  Good Internal Docs for Devs  For Devs  Learn the Tools  Let Go of the Notion of a Large and Persistent Filesystem  Make your code multithreaded  Take Ownership of the App’s Dependencies What’s New?
  • 8. How Do You Know What’s Happening With Your Containers?
  • 9. 9Confidential ©2008-15 New Relic, Inc. All rights reserved.  Docker Stats Command & Docker API Looking At Containers
  • 10.  Complete visibility across your dynamic infrastructure Key host health metrics physical memory, Disk I/O utilization and capacity Track container performance by  image  version  other metadata INFRASTRUCTURE
  • 11. INFRASTRUCTURE “Which app uses the most resources?” Processes, Grouped by Container Image
  • 13. Learn More  “Hello World” Tutorial at Docker.com  Docker In Production book  NewRelic.com/docker  Docker for Java Tutorial  github.com/docker/community/tree/master/tutorials/java  NR Infographic: The Life and Times of a Docker Container

Editor's Notes

  1. Webinar: "Scalingwith Docker: New Relic's Containerization Journey" Join Tori Wieldt, Developer Advocate at New Relic on Wednesday, April 6th@ 8 AM PT / 4 pm BST to find out how the move from monolith to a modern, scalable, software stack provides many lessons for enterprises making similar journeys. April 6th, 2016 - 8 am PT (4 PM BST)
  2. In this webinar, we will discuss: New Relic's migration to containers Is Docker ready for production? How do you know what's happening with your containers?
  3. We started off with a true monolith. We had a single application that ran our entire business that contained the agent, and the data collection pipeline, and the web interface. Back in ancient times, this was then divided out. And so, really, once we started getting a good clip of customers through, we had two large applications, or two small applications in the beginning. One was this Ruby on Rails web application, which is the user interface, and another, which is a Java data collection pipeline. As our customer base grew, as our feature set grew, as our company grew, we started to have problems, which are probably familiar to many of you. And as our success continued to grow, the problems also continued to grow. We’re going to create a service architecture,” and everyone jumped out and built lots and lots and lots of services. And as part of that, we had decided, we say, “Well you know what? I think that the services architecture thing could really take off, so we will probably have dozens of services.” And I believe our architect at the time said, “Oh, my friend, it could be 100,” and everyone said, “Oh, that’s bullshit. There’s no way it’s going to be 100.” It’s over 200 now. So we said, “We need a way to deploy these faster.” We chose Docker. Keep in mind, we chose Docker in January of 2014, which was perhaps ambitious. But it had all of the characteristics we wanted. It isolated the experience of developing your application from the maintenance of that service. We had great efficiency and good uptime. When you really understood everything you were running, now we were saying, “Hey, operations group, instead of running two or three services, you’re going to run 50 or 70 or 200 services.” And so they needed to have a much more standardized interface on top of that to let them do that.
  4. New Relic is one of the largest users of Docker. Based on Selenium web browser automation
  5. 1. Docker is an API that are strapped to things in Linux kernel UFS/DeviceMapper/BTRfs You would be very BOLD to run edge version of Docker a few dot releases from the edge 2. Now Native for Mac/Windoze 3. No playbook on how to Dockerize your DC, is in tribal knowledge form Lots of pain…Get the workflow into everybody’s lives
  6. Cloud Platform(AWS, OpenStack) Docker can solve a lot of things, but sometimes you need a specific tool with more in-depth features than Docker can offer. Docker can significantly improve your organization’s ability to manage applications and your dependencies, it does not directly replace more traditional configuration management Configuration Management (Chef, Puppet) We use Vagrant to support testing on images that match our production environment. Since version 1.6, Vagrant natively supports Docker containers, which in some cases can serve as a substitute for a fully virtualized operating system Docker can’t be used to automate a complex deployment process by itself. Other tools are usually still needed to stitch together the larger workflow automation.100s of deployments a day Centurion is a tool to centrally manage configurations for fleets of Docker services and it has been instrumental in formalizing the handoff between developers and system administrators (Pre-Swarm) Treats your Docker server farm as a deployment target (volume mounts and part mapping) use w Jenkins Centurion: Docker Deployment Tool for repeatable deployments The build ships container to Docker registry Centurion sends container to Docker fleet GitHub: Newrelic/centurion Can support Amazon S3 via external tools.
  7. Both your Dev and your Ops sides will need to acquire new skill sets. On the Ops side you’ll need: A solid library of base images. A process for building and shipping Docker. And really good internal docs + support for developers as they uptake their share of all this stuff, so they don’t hate you. On the Dev side: You have to learn the tools. Take ownership of your app’s dependencies. Let go of certain things, like access to a large and persistent filesystem! NO LOGGING TO CONTAINER We’ve found that converting legacy apps to run on Docker is a deep pain point. It’s great once you know all the dependencies of your app and can build containers repeatedly. But sussing them out can be a tough exercise. once your application is running in a container, there are all these things that you take for granted in your own environment that don't exist in a container. For example, that you can write it to the temp directory. Just using Docker Scale doesn’t make you code multithreaded. Code your app to be truly redundant. The process of containerizing your app means you configure state into environmental variables. Something that containerizes well is a web application that keeps its state in a DB, but the web app may have a bunch of localized settings on its own. you have to go through and discover each dependency that you didn't really know you had. Containers are Isolated from each other, but it is probably more limited than you might expect. While you can put limits on resources, the default container config has them sharing CPU and memory on the host system. This means that unless you constrain them, containers can compete for resources on your production machines. docker run can drop you into a container as root! But our Ops People use base images to force some best practices, like preventing anyone from logging into a container as root. Patch management is also an issue. When a vuln is discovered, you have to be able to upgrade your whole env fast. This is where that solid library of base images comes in. 1) Patch Docker host 2) Upgrade Dockerfiles 3) Devs have to pull updated base images to their machines Docker 10.0 provides namespaces that security is incrementally improving for containers as time goes on One solution is to dedicate a nonzero UID to your containers. Onyour Docker hosts you can create a “container” userd ID of 4000 and then create the same UIS in your base images. If you then run all your contianers as UIS 4000, you improve the security of your system. Also it makes the ps output on your Docker host to easier to decipher.
  8. The docker client already provides a rudimentary command line tool to inspect containers’ resource consumption. To look at the container stats run docker stats with the name(s) of the running container(s) for which you would like to see stats. This will present the CPU utilization for each container, the memory used and total memory available to the container. Note that if you have not limited memory for containers this command will post total memory of your host. This does not mean each of your container has access to that much memory. In addition you will also be able to see total data sent and received over the network by the container. The docker stats command will only return a live stream of data for running containers. Stopped containers will not return any data. Like the docker stats command, the API will continuously report a live stream of CPU, memory, I/O, and network metrics. The API provides more detail than the stats command. Since Docker is evolving quickly, the metrics provided by these commands will likely continue to change significantly over the coming years. containers are typically used in large numbers and have a very short half-life, so they can easily increase operational complexity by an order of magnitude. if you have a operationally mature system, you should never have to SSH into it. Casey West, Pivotal Dev Advocate
  9. docker hello world tutorial on docker.com Our Engineers wrote Docker Up and Running NewRelic.com/docker