SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Saul Caganoff, CTO Sixtree
saul@sixtree.com.au
@scaganoff
• Organizational Siloes
– Hand-offs, communication problems
• Technical Legacy
– Complex environments
– Technical debt
– IT can’t keep up with business requirements
• But huge imperatives to change
– Digital products and services
– Cloud challenges to traditional IT management
• Docker is
a patented method for boiling oceans
a proven solution to world hunger
• How is Docker useful for addressing some of
these pain points?
• The value proposition for Docker is different in
the enterprise
– More about control
– Less about scale
• Containers are well established in the
enterprise - just not terribly visible
• Solaris, AIX, HP-UX and Linux
– Resource management on very big boxes
– Scale-out is not so important
• Docker makes containers more visible & useful
in contexts other than resource virtualization
• Developer friendly
– Docker makes containers easy to use
• Dockerfile
– Simple way to describe and build an image
• Docker Daemon
– Uniform runtime monitoring
• Layered FS
– Can inherit and extend images
• Repository
– Storage and re-use of images
• Docker is part of an overall ecosystem
• Becoming available on other OS’s
– Oracle and IBM recently jumping on the bandwagon
• Who fills out the rest of the map?
– Orchestration
– Logging
– Discovery
– Monitoring
• Docker is being leveraged/absorbed by PaaS
• Integration for the 21st Century
– Lightweight SOA
– On-premise, Cloud and Hybrid
– Rapid time to value – OSS, Lean, Continuous Delivery
– Leverage the cloud – cloud citizen (if not native)
• We’ve heavily incorporated Docker into our
delivery model
• Docker authorized partner
– Consulting
– Training
• Maintain control of our environment
• Support continuous delivery processes
• Lower risk environment promotion
• Introduce new & better practices to our
clients
• Being used at a number of clients
– Government
– Education
– Procurement
Principles
1. The process of releasing/deploying software MUST be
repeatable and reliable.
2. Automate everything.
3. If something is difficult or painful, do it more often.
4. Keep everything in source control.
5. Done means “released”.
6. Build quality in.
7. Everybody has responsibility for the release process.
8. Improve Continuously.
Practices
1. Build binaries only once.
2. Use precisely the same mechanism to deploy to every
environment.
3. Smoke test your deployment.
4. If anything fails, stop the line.
http://devopsnet.com/2011/08/04/continuo
us-delivery/
Inside:
• Packages
• JVM
• Custom Code
• Applications
• Whatever….
Apps are ideally written to
be configured within a
container…12 factor-ish
Environment Variables:
• Runtime parameters
• Ports
• Connections – URLs, JDBC Connections
• Templates for config files – e.g. erb
e.g. ActiveMQ Configuration
Standard Monitoring:
• Ports
• Health endpoints
• Agents (baked in)
e.g. JMXtrans
Standard Logging Infrastructure:
• Standard Log Format
• Logshipping
• Central aggregation, correlation, reportinge.g. Loggly sidecar
Service Endpoints:
• Ports
• Naming
e.g. Service Parameters in env.sh
Service Discovery
• “Cheap and Cheerful”
• Nginx or Haproxy
• Easy, low risk static
o Discovery
o Load-balancing
o Failover
e.g. nginx config
Docker
Registry
Host
AZ1
Proxy
ServiceA
ServiceB
ServiceC
Build Server
BitBucket
Nexus
Go
sshd dockerd
Docker
Index
Host
AZ2
Proxy
ServiceA
ServiceB
ServiceC
sshd dockerd
• Developer checks an app into BitBucket.
• CI Server
– Builds the app into a deployable unit.
– Generates a Dockerfile using a base image.
• Describes steps to place the deployable unit and service configuration
into the image and what ports and volumes need to be exposed.
– Builds a Docker Image.
– Pushes the Docker Image to our private Docker Registry.
• Someone triggers a deployment to an environment.
• CI Server
– SSH’es to the target server.
– Pulls the Docker Image and run a Docker Container off it.
• Chef and Puppet are still useful
• But Docker does a lot of the heavy lifting
– Docker build files
– Image inheritance
• Docker dramatically shrinks the surface area
that must be automated
• Docker provides a common well-defined interface
– Inside the box: Devs have more control over their
environment
– Outside the box: Ops have less variation to deal with
• Disaster Recover is really hard
– Dependency management between complicated
systems
– Restoring the correct system state
– Inevitable drift between production and DR
environments
• Production Images can be easily instantiated out
of the Docker Repository
– That takes care of environment drift
– But the rest is still up to you…
• Docker has security in its architecture
• Namespaced resources are fully isolated
• Each container runs its own network stack
– Have to be explicit about public ports
• CGroups prevent DOS attacks from containers
• Containers start with limited capabilities
• Not every resource is namespaced:
– /sys, /sys/fs, /proc/sys, /dev/mem etc
– But they are mounted as ro volumes
• Docker daemon must run as root
– Best practice to lock it down – no REST access
• Containers interact with kernels, so all
concerns with kernel exploits apply.
– Use a secure & hardened kernel
– RHEL SELinux works well with Docker
• Never run Docker Daemon with Privileged flag
• Treat root inside the container as if it is outside
– Drop privileges as quickly as possible
– Run as non-root whenever possible
• Run only trusted containers
– Have a private Docker Registry
• Have system updates as part of Dockerfile
– Runtime patching becomes just building a new image and
running it
• Ensure you are running the latest version of Docker
• Mount only the minimum required of file system
• The “Full Stack Developer”
• Not all devs want to take on ops activities
– You need to handle this carefully
• Don’t try to “hide” ops concerns
• Better to make them apparent,
but easy to deal with
– Standards
– Base images
– Use sidecars (auxiliary Docker containers) to
help - e.g. Registrator, Loggly logger.
• Automation & higher-level orchestration tools
provide a great deal of value
– Kubernetes, Mesos, etcd…
• But you can get real value out of Docker without
these tools
• Premature automation brings some risks.
– The landscape is shifting quickly
– Incremental change helps manage risks – whether
they are real or perceived
– Learn Docker with your existing automation tools
(Chef, Puppet) first
• Docker brings real value to the enterprise now.
• More about developer agility than scale-out
– Resource Management
– Environment Management
– Continuous Delivery
– Dev + Ops harmony
– Hybrid cloud + on-premise workloads
• Care is needed in bringing everyone along
• Docker is part of your CD toolbox, not the whole thing.
• You don’t need to go “full stack” to gain value

Contenu connexe

Tendances

An eventful tour from enterprise integration to serverless and functions
An eventful tour from enterprise integration to serverless and functionsAn eventful tour from enterprise integration to serverless and functions
An eventful tour from enterprise integration to serverless and functionsChristian Posta
 
Steampunk App Servers in
Steampunk App Servers in Steampunk App Servers in
Steampunk App Servers in Chris Haddad
 
Chick-fil-A: Milking the most out of thousands of kubernetes clusteres
Chick-fil-A: Milking the most out of thousands of kubernetes clusteresChick-fil-A: Milking the most out of thousands of kubernetes clusteres
Chick-fil-A: Milking the most out of thousands of kubernetes clusteresBrian Chambers
 
Microservices Journey Fall 2017
Microservices Journey Fall 2017Microservices Journey Fall 2017
Microservices Journey Fall 2017Christian Posta
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsRightScale
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerRightScale
 
Chef + Azure = Awesome
Chef + Azure = AwesomeChef + Azure = Awesome
Chef + Azure = AwesomeMatt Stratton
 
Serverless beyond AWS Lambda
Serverless beyond AWS LambdaServerless beyond AWS Lambda
Serverless beyond AWS LambdaBen Kehoe
 
Microservices from operations aspect
Microservices from operations aspectMicroservices from operations aspect
Microservices from operations aspectDavid Papp
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftChristian Posta
 
Microservices environment in production
Microservices environment in productionMicroservices environment in production
Microservices environment in productionDavid Papp
 
From Concept to Clustered JAC (jira.atlassian.com) - Graham Carrick
From Concept to Clustered JAC (jira.atlassian.com) - Graham CarrickFrom Concept to Clustered JAC (jira.atlassian.com) - Graham Carrick
From Concept to Clustered JAC (jira.atlassian.com) - Graham CarrickAtlassian
 
The New Way of Configuring Grace Periods for Windowed Operations in Kafka Str...
The New Way of Configuring Grace Periods for Windowed Operations in Kafka Str...The New Way of Configuring Grace Periods for Windowed Operations in Kafka Str...
The New Way of Configuring Grace Periods for Windowed Operations in Kafka Str...HostedbyConfluent
 
Building a Real-Time Forecasting Engine with Scala and Akka
Building a Real-Time Forecasting Engine with Scala and Akka Building a Real-Time Forecasting Engine with Scala and Akka
Building a Real-Time Forecasting Engine with Scala and Akka Lightbend
 
Taking the friction out of microservice frameworks with Lagom
Taking the friction out of microservice frameworks with LagomTaking the friction out of microservice frameworks with Lagom
Taking the friction out of microservice frameworks with LagomMarkus Eisele
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesChristian Posta
 
Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry WSO2
 
Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2WSO2
 
Live Application and Infrastructure Monitoring and Root Cause Log Analysis wi...
Live Application and Infrastructure Monitoring and Root Cause Log Analysis wi...Live Application and Infrastructure Monitoring and Root Cause Log Analysis wi...
Live Application and Infrastructure Monitoring and Root Cause Log Analysis wi...Lucas Jellema
 

Tendances (20)

An eventful tour from enterprise integration to serverless and functions
An eventful tour from enterprise integration to serverless and functionsAn eventful tour from enterprise integration to serverless and functions
An eventful tour from enterprise integration to serverless and functions
 
Steampunk App Servers in
Steampunk App Servers in Steampunk App Servers in
Steampunk App Servers in
 
Chick-fil-A: Milking the most out of thousands of kubernetes clusteres
Chick-fil-A: Milking the most out of thousands of kubernetes clusteresChick-fil-A: Milking the most out of thousands of kubernetes clusteres
Chick-fil-A: Milking the most out of thousands of kubernetes clusteres
 
Microservices Journey Fall 2017
Microservices Journey Fall 2017Microservices Journey Fall 2017
Microservices Journey Fall 2017
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on Docker
 
Chef + Azure = Awesome
Chef + Azure = AwesomeChef + Azure = Awesome
Chef + Azure = Awesome
 
Serverless beyond AWS Lambda
Serverless beyond AWS LambdaServerless beyond AWS Lambda
Serverless beyond AWS Lambda
 
Microservices from operations aspect
Microservices from operations aspectMicroservices from operations aspect
Microservices from operations aspect
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
 
DevNexus 2015
DevNexus 2015DevNexus 2015
DevNexus 2015
 
Microservices environment in production
Microservices environment in productionMicroservices environment in production
Microservices environment in production
 
From Concept to Clustered JAC (jira.atlassian.com) - Graham Carrick
From Concept to Clustered JAC (jira.atlassian.com) - Graham CarrickFrom Concept to Clustered JAC (jira.atlassian.com) - Graham Carrick
From Concept to Clustered JAC (jira.atlassian.com) - Graham Carrick
 
The New Way of Configuring Grace Periods for Windowed Operations in Kafka Str...
The New Way of Configuring Grace Periods for Windowed Operations in Kafka Str...The New Way of Configuring Grace Periods for Windowed Operations in Kafka Str...
The New Way of Configuring Grace Periods for Windowed Operations in Kafka Str...
 
Building a Real-Time Forecasting Engine with Scala and Akka
Building a Real-Time Forecasting Engine with Scala and Akka Building a Real-Time Forecasting Engine with Scala and Akka
Building a Real-Time Forecasting Engine with Scala and Akka
 
Taking the friction out of microservice frameworks with Lagom
Taking the friction out of microservice frameworks with LagomTaking the friction out of microservice frameworks with Lagom
Taking the friction out of microservice frameworks with Lagom
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
 
Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry
 
Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2
 
Live Application and Infrastructure Monitoring and Root Cause Log Analysis wi...
Live Application and Infrastructure Monitoring and Root Cause Log Analysis wi...Live Application and Infrastructure Monitoring and Root Cause Log Analysis wi...
Live Application and Infrastructure Monitoring and Root Cause Log Analysis wi...
 

En vedette

BitCharities Cause Prsnttn_FNL_2
BitCharities Cause Prsnttn_FNL_2BitCharities Cause Prsnttn_FNL_2
BitCharities Cause Prsnttn_FNL_2Francesco Rulli
 
Rasheed Ahmed Leghari(1)
Rasheed Ahmed Leghari(1)Rasheed Ahmed Leghari(1)
Rasheed Ahmed Leghari(1)Rasheed Ahmad
 
Подготовка к государственной итоговой аттестации 2017 года
Подготовка  к государственной итоговой аттестации 2017 годаПодготовка  к государственной итоговой аттестации 2017 года
Подготовка к государственной итоговой аттестации 2017 годаАлексей Рогожин
 
Clinical Epigenetics - Conesa et al
Clinical Epigenetics - Conesa et al Clinical Epigenetics - Conesa et al
Clinical Epigenetics - Conesa et al Jamie Wilce
 
Nandini infosys company presentation
Nandini infosys company presentationNandini infosys company presentation
Nandini infosys company presentationSamir Kumar Choudhary
 
7 б класс
7 б класс7 б класс
7 б классEvgenia88
 
Evangelização de pessoas com deficiências
Evangelização de pessoas com deficiênciasEvangelização de pessoas com deficiências
Evangelização de pessoas com deficiênciasSamuel Borges
 

En vedette (9)

BitCharities Cause Prsnttn_FNL_2
BitCharities Cause Prsnttn_FNL_2BitCharities Cause Prsnttn_FNL_2
BitCharities Cause Prsnttn_FNL_2
 
Rasheed Ahmed Leghari(1)
Rasheed Ahmed Leghari(1)Rasheed Ahmed Leghari(1)
Rasheed Ahmed Leghari(1)
 
Подготовка к государственной итоговой аттестации 2017 года
Подготовка  к государственной итоговой аттестации 2017 годаПодготовка  к государственной итоговой аттестации 2017 года
Подготовка к государственной итоговой аттестации 2017 года
 
Clinical Epigenetics - Conesa et al
Clinical Epigenetics - Conesa et al Clinical Epigenetics - Conesa et al
Clinical Epigenetics - Conesa et al
 
4 engaart02
4 engaart024 engaart02
4 engaart02
 
Nandini infosys company presentation
Nandini infosys company presentationNandini infosys company presentation
Nandini infosys company presentation
 
7 б класс
7 б класс7 б класс
7 б класс
 
Evangelização de pessoas com deficiências
Evangelização de pessoas com deficiênciasEvangelização de pessoas com deficiências
Evangelização de pessoas com deficiências
 
Keg 3
Keg 3Keg 3
Keg 3
 

Similaire à Docker in the Enterprise

Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyondsantosh007
 
Lessons Learned Running Hadoop and Spark in Docker Containers
Lessons Learned Running Hadoop and Spark in Docker ContainersLessons Learned Running Hadoop and Spark in Docker Containers
Lessons Learned Running Hadoop and Spark in Docker ContainersBlueData, Inc.
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...Spark Summit
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterpriseBert Poller
 
Lessons Learned from Dockerizing Spark Workloads
Lessons Learned from Dockerizing Spark WorkloadsLessons Learned from Dockerizing Spark Workloads
Lessons Learned from Dockerizing Spark WorkloadsBlueData, Inc.
 
An introduction to configuring Domino for Docker
An introduction to configuring Domino for DockerAn introduction to configuring Domino for Docker
An introduction to configuring Domino for DockerGabriella Davis
 
Lightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in PracticeLightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in PracticeDocker, Inc.
 
Operating OpenStack on a Budget
Operating OpenStack on a BudgetOperating OpenStack on a Budget
Operating OpenStack on a BudgetSamir Ibradzic
 
Operating OpenStack on a Budget
Operating OpenStack on a BudgetOperating OpenStack on a Budget
Operating OpenStack on a BudgetSusan Wu
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftYusuf Hadiwinata Sutandar
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifeidotCloud
 
Dev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock PlatformDev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock PlatformForgeRock
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDr Ganesh Iyer
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr Ganesh Iyer
 
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsNordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsTravis Wright
 
Docker for developers - The big picture
Docker for developers - The big pictureDocker for developers - The big picture
Docker for developers - The big pictureGeorge Dyrrahitis
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!Clarence Bakirtzidis
 

Similaire à Docker in the Enterprise (20)

Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
 
Lessons Learned Running Hadoop and Spark in Docker Containers
Lessons Learned Running Hadoop and Spark in Docker ContainersLessons Learned Running Hadoop and Spark in Docker Containers
Lessons Learned Running Hadoop and Spark in Docker Containers
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
Lessons Learned from Dockerizing Spark Workloads: Spark Summit East talk by T...
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
 
Lessons Learned from Dockerizing Spark Workloads
Lessons Learned from Dockerizing Spark WorkloadsLessons Learned from Dockerizing Spark Workloads
Lessons Learned from Dockerizing Spark Workloads
 
An introduction to configuring Domino for Docker
An introduction to configuring Domino for DockerAn introduction to configuring Domino for Docker
An introduction to configuring Domino for Docker
 
Lightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in PracticeLightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in Practice
 
Operating OpenStack on a Budget
Operating OpenStack on a BudgetOperating OpenStack on a Budget
Operating OpenStack on a Budget
 
Operating OpenStack on a Budget
Operating OpenStack on a BudgetOperating OpenStack on a Budget
Operating OpenStack on a Budget
 
Containers 101
Containers 101Containers 101
Containers 101
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshift
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
 
Dev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock PlatformDev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock Platform
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 
Webinar : Docker in Production
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsNordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOps
 
Docker for developers - The big picture
Docker for developers - The big pictureDocker for developers - The big picture
Docker for developers - The big picture
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!
 

Plus de Saul Caganoff

Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020Saul Caganoff
 
Events in a microservices architecture
Events in a microservices architectureEvents in a microservices architecture
Events in a microservices architectureSaul Caganoff
 
Microservices: The View from the Peak of Expectations
Microservices: The View from the Peak of ExpectationsMicroservices: The View from the Peak of Expectations
Microservices: The View from the Peak of ExpectationsSaul Caganoff
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless ArchitectureSaul Caganoff
 
Automating Business Processes with APIs
Automating Business Processes with APIsAutomating Business Processes with APIs
Automating Business Processes with APIsSaul Caganoff
 
Events and microservices
Events and microservicesEvents and microservices
Events and microservicesSaul Caganoff
 
Delivering the Composable Enterprise
Delivering the Composable EnterpriseDelivering the Composable Enterprise
Delivering the Composable EnterpriseSaul Caganoff
 
Melbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new ArchitectureMelbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new ArchitectureSaul Caganoff
 

Plus de Saul Caganoff (8)

Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020
 
Events in a microservices architecture
Events in a microservices architectureEvents in a microservices architecture
Events in a microservices architecture
 
Microservices: The View from the Peak of Expectations
Microservices: The View from the Peak of ExpectationsMicroservices: The View from the Peak of Expectations
Microservices: The View from the Peak of Expectations
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Automating Business Processes with APIs
Automating Business Processes with APIsAutomating Business Processes with APIs
Automating Business Processes with APIs
 
Events and microservices
Events and microservicesEvents and microservices
Events and microservices
 
Delivering the Composable Enterprise
Delivering the Composable EnterpriseDelivering the Composable Enterprise
Delivering the Composable Enterprise
 
Melbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new ArchitectureMelbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new Architecture
 

Dernier

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 

Dernier (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 

Docker in the Enterprise

  • 1. Saul Caganoff, CTO Sixtree saul@sixtree.com.au @scaganoff
  • 2. • Organizational Siloes – Hand-offs, communication problems • Technical Legacy – Complex environments – Technical debt – IT can’t keep up with business requirements • But huge imperatives to change – Digital products and services – Cloud challenges to traditional IT management
  • 3. • Docker is a patented method for boiling oceans a proven solution to world hunger • How is Docker useful for addressing some of these pain points? • The value proposition for Docker is different in the enterprise – More about control – Less about scale
  • 4. • Containers are well established in the enterprise - just not terribly visible • Solaris, AIX, HP-UX and Linux – Resource management on very big boxes – Scale-out is not so important • Docker makes containers more visible & useful in contexts other than resource virtualization
  • 5. • Developer friendly – Docker makes containers easy to use • Dockerfile – Simple way to describe and build an image • Docker Daemon – Uniform runtime monitoring • Layered FS – Can inherit and extend images • Repository – Storage and re-use of images
  • 6. • Docker is part of an overall ecosystem • Becoming available on other OS’s – Oracle and IBM recently jumping on the bandwagon • Who fills out the rest of the map? – Orchestration – Logging – Discovery – Monitoring • Docker is being leveraged/absorbed by PaaS
  • 7.
  • 8. • Integration for the 21st Century – Lightweight SOA – On-premise, Cloud and Hybrid – Rapid time to value – OSS, Lean, Continuous Delivery – Leverage the cloud – cloud citizen (if not native) • We’ve heavily incorporated Docker into our delivery model • Docker authorized partner – Consulting – Training
  • 9. • Maintain control of our environment • Support continuous delivery processes • Lower risk environment promotion • Introduce new & better practices to our clients • Being used at a number of clients – Government – Education – Procurement
  • 10. Principles 1. The process of releasing/deploying software MUST be repeatable and reliable. 2. Automate everything. 3. If something is difficult or painful, do it more often. 4. Keep everything in source control. 5. Done means “released”. 6. Build quality in. 7. Everybody has responsibility for the release process. 8. Improve Continuously. Practices 1. Build binaries only once. 2. Use precisely the same mechanism to deploy to every environment. 3. Smoke test your deployment. 4. If anything fails, stop the line. http://devopsnet.com/2011/08/04/continuo us-delivery/
  • 11. Inside: • Packages • JVM • Custom Code • Applications • Whatever…. Apps are ideally written to be configured within a container…12 factor-ish
  • 12. Environment Variables: • Runtime parameters • Ports • Connections – URLs, JDBC Connections • Templates for config files – e.g. erb e.g. ActiveMQ Configuration
  • 13. Standard Monitoring: • Ports • Health endpoints • Agents (baked in) e.g. JMXtrans
  • 14. Standard Logging Infrastructure: • Standard Log Format • Logshipping • Central aggregation, correlation, reportinge.g. Loggly sidecar
  • 15. Service Endpoints: • Ports • Naming e.g. Service Parameters in env.sh
  • 16. Service Discovery • “Cheap and Cheerful” • Nginx or Haproxy • Easy, low risk static o Discovery o Load-balancing o Failover e.g. nginx config
  • 17.
  • 19. • Developer checks an app into BitBucket. • CI Server – Builds the app into a deployable unit. – Generates a Dockerfile using a base image. • Describes steps to place the deployable unit and service configuration into the image and what ports and volumes need to be exposed. – Builds a Docker Image. – Pushes the Docker Image to our private Docker Registry. • Someone triggers a deployment to an environment. • CI Server – SSH’es to the target server. – Pulls the Docker Image and run a Docker Container off it.
  • 20.
  • 21.
  • 22. • Chef and Puppet are still useful • But Docker does a lot of the heavy lifting – Docker build files – Image inheritance • Docker dramatically shrinks the surface area that must be automated
  • 23. • Docker provides a common well-defined interface – Inside the box: Devs have more control over their environment – Outside the box: Ops have less variation to deal with
  • 24. • Disaster Recover is really hard – Dependency management between complicated systems – Restoring the correct system state – Inevitable drift between production and DR environments • Production Images can be easily instantiated out of the Docker Repository – That takes care of environment drift – But the rest is still up to you…
  • 25.
  • 26. • Docker has security in its architecture • Namespaced resources are fully isolated • Each container runs its own network stack – Have to be explicit about public ports • CGroups prevent DOS attacks from containers • Containers start with limited capabilities
  • 27. • Not every resource is namespaced: – /sys, /sys/fs, /proc/sys, /dev/mem etc – But they are mounted as ro volumes • Docker daemon must run as root – Best practice to lock it down – no REST access • Containers interact with kernels, so all concerns with kernel exploits apply. – Use a secure & hardened kernel – RHEL SELinux works well with Docker
  • 28. • Never run Docker Daemon with Privileged flag • Treat root inside the container as if it is outside – Drop privileges as quickly as possible – Run as non-root whenever possible • Run only trusted containers – Have a private Docker Registry • Have system updates as part of Dockerfile – Runtime patching becomes just building a new image and running it • Ensure you are running the latest version of Docker • Mount only the minimum required of file system
  • 29. • The “Full Stack Developer” • Not all devs want to take on ops activities – You need to handle this carefully • Don’t try to “hide” ops concerns • Better to make them apparent, but easy to deal with – Standards – Base images – Use sidecars (auxiliary Docker containers) to help - e.g. Registrator, Loggly logger.
  • 30. • Automation & higher-level orchestration tools provide a great deal of value – Kubernetes, Mesos, etcd… • But you can get real value out of Docker without these tools • Premature automation brings some risks. – The landscape is shifting quickly – Incremental change helps manage risks – whether they are real or perceived – Learn Docker with your existing automation tools (Chef, Puppet) first
  • 31. • Docker brings real value to the enterprise now. • More about developer agility than scale-out – Resource Management – Environment Management – Continuous Delivery – Dev + Ops harmony – Hybrid cloud + on-premise workloads • Care is needed in bringing everyone along • Docker is part of your CD toolbox, not the whole thing. • You don’t need to go “full stack” to gain value