SlideShare una empresa de Scribd logo
1 de 51
Docker for the Enterprise
@bertpoller
ekito
Your Enterprise
Today’s strategic challenges
Business Agility, Increased pace of delivery, Customer satisfaction
• Low MTBIAMSH (Mean Time Between Idea and making Stuff happen)
Today’s strategic challenges
Multiplication of smaller bespoke applications
• WOA, SOA, Micro Services
• Multiplication of front ends
• Products are SaaS newly instantiated for each new customer
Today’s strategic challenges
Ever increasing volumes of data and processing
• Limited data center capacity
• Ops efforts scale at best linearly with increased volume
• Push for cloud deployments: private + public
Obstacles to overcome
WaterScrumFall
• Dev teams adopt iterative methodologies
• The organization as a whole cannot keep up with Dev Team pace
• Symptoms
• Delivery to production still takes weeks
• Upfront IT resource provisioning at the beginning of a project
• Ticket based IT services deemed too slow for Dev teams
• Difficulties in maintaining IT services catalogues with ever changing demands
http://bit.ly/waterscrumfall
Obstacles to overcome
Unaligned objectives and incentives between Devs and Ops
• Devs seek implementing new features and hence introduce change
• Ops seek stability, robustness, availability of systems they manage
Obstacles to overcome
Hybrid clouds are complex
• Different operating models between public cloud providers and
private clouds
• No real private cloud infrastructure
• A Virtualized server infrastructure is not a private cloud
Keys to solve these challenges
Break up organizational silos
• Think in terms of products not projects
• Construct multidisciplinary teams around products
• Make Devs and Ops cooperate in these teams
• But also other business stake holders
Keys to solve these challenges
Align Dev and Ops objectives; increase customer satisfaction
• Error Budget = 100% Availability – Service Level Objective
• Use budget for
• Feature changes and functional regressions (Dev)
• Service Reliability Engineering (Ops)
• When the error budget is consumed
• New features must wait until the budget is recharged
• Only bug fixes go into production
Keys to solve these challenges
Construct an agile self-service infrastructure platform
Docker to the rescue
The challenge
Source : https://github.com/mfilotto/docker-presentation/
Containers…
Source : https://github.com/mfilotto/docker-presentation/
A Container System for Code
Source : https://github.com/mfilotto/docker-presentation/
But we’ve got virtualization already like
in…VMWare
Virtualization vs. Containers
Virtualization Containers
Containers are isolated but
share OS and bins/ libraries,
where appropriate
Isolation using Linux Features
namespaces
• pid,
• mnt,
• net,
• uts,
• Ipc,
• user
cgroups
• memory
• cpu
• blkio
• devices
Docker appeals for its…
• Deployment Speed / Agility – minimal requirements for running the application,
enabling quick and lightweight deployment
• Portability – Independent self-sufficient application bundles
Run across machines without compatibility issues
• Reuse – Versioning, archiving, sharing, roll backs to previous versions of an
application. Platform configurations as code
• Efficiency - compared to classical virtualization, workloads can be run at higher
densities thanks to avoided OS overhead
Source: https://www.upguard.com/articles/docker-vs.-vmware-how-do-they-stack-up
Trade off … Speed vs. Isolation
• Shared kernel between containers
• OS-based isolation vs. hardware-based isolation in classical
virtualization
• Detractors often use this as argument for saying : “Docker is not safe”
Docker is not safe - well, Really ?
Are all your VMs 100% up to date? Really?
• VMs present a larger attack surface than Linux containers
• Contaminated containers can be quickly destroyed and restarted
• Docker tools allow for end to end security policy enforcement – for all
containers (layered build approach, build automation, security
scanning, trusted registries, container scheduling)
Trade off… Ephemeral vs. Stateful workloads
• Docker works best with stateless applications
• Every application must eventually persist its state (Databases)
• Additional efforts and planning is required when setting up a multi-node
production level Docker cluster
Isn’t this a bit like Java EE or OSGI ?
Isn’t this a bit like Java EE or OSGI ?
EARs, WARs, JARs package applications in deployment artifacts
• Middleware centric – you need an application server
• Limited to Java eco system
• Programming language lock-in
• Programming model lock-in (Java EE / OSGI)
• Also applies to more recent packaging formats, such as WebPacks
Ok but I’m already using Heroku…
• PaaS
• Build packs : Java, Node, Ruby,…
• Intuitive UI / UX … nice !
• Source code is held in the repository - no built artifact
• Docker
• Is a shipping format
• Can be used with Docker tool chain to build a more generic PaaS / CaaS
XaaS – Pyramid
Software
as a Service
Platform
as a Service
Infrastructure
as a Service
Container as
a Service
Too high
Too low
Product Teams
IT Ops Team
Docker Mission
Image Layers
Service Composition
Docker Mission
Docker Trusted Registry
Example CI / CD pipeline
Circle CI
Security Governance
Its like a virus scanner for built containers
• Can be integrated in your CI/CD pipeline
• Scans for threads in defined policy files and CVC databases
• Docker Security Scanning
• CoreOS Clair
• OpenSCAP container compliance
• Redhat Atomic Scan
• …
Docker Mission
Running a CaaS infrastructure
Linux Container Ecosystem
Docker Cluster Orchestration
Services, Routing and Load Balancing
S_1 S_2
LB
Overlay network
App
Scale
Docker Host Docker Host Docker Host
Service
The scalable service pattern
Services, Routing and Load Balancing
The scalable service pattern
• Services scale instances of a container across the cluster
• Comprises a load balancer and an overlay network to connect
containers
• Allows things like rolling updates and rollbacks
• Exists in many schedulers: Kubernetes, Mesos…
• Was introduced in Docker V1.12 Swarm mode
• Not compatible with Docker Compose
• Requires new Distributed Application Bundle – still experimental
Services, Routing and Load Balancing
• Workaround prior to Docker 1.12 compatible with Compose V2
Services, Routing and Load Balancing
Domain based routing
Persistent workloads
Backend Network
App
Docker Host Docker Host Docker Host
DB
Frontend Network
Local storage
local local local
Persistent workloads
Backend Network
App
Docker Host Docker Host Docker Host
DB
Frontend Network
DB
???
Local storage
local local
Persistent workloads
Backend Network
App
Docker Host Docker Host Docker Host
DB
Frontend Network
DB
Data Sync
Volume
plugin
Volume
plugin
Volume
plugin
Volume plugin, distributed or externalized storage
Persistent workloads
• Usage of volume plugins is encouraged
• Decouples Product Teams from underlying storage solution
• Connect to external block storage (SAN, NAS, Cloud Provider Block
Storage)
• Network based file systems between Docker Hosts
• GlusterFS, Flocker, Infinit.sh, PortWorx, CEPH
PaaS style self service access
• For Product Teams
• Intuitive UI / UX experience
• Role based access (RBAC) integration with Enterprise IAM
• Groups, virtual environments
• Integrates with private repositories, CI/CD
• OpenShift, Rancher, Docker Datacenter…
Conclusion
Conclusion
• Docker = Linux Containers + a Complete toolset
• Large eco system (Kubernetes, MesoSphere, CoreOS, Rancher…)
• Orchestration engine choice depends on your use cases
• Limited risk on vendor lock-in: Docker Containers are de facto
standard
• Instead of growing your own cluster, see what the ecosystem can
provide
• Start small, grow steadily
Ils nous font confiance

Más contenido relacionado

La actualidad más candente

Cloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStackCloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStack
Animesh Singh
 

La actualidad más candente (20)

Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
As a Service: Cloud Foundry on OpenStack - Lessons Learnt
As a Service: Cloud Foundry on OpenStack - Lessons LearntAs a Service: Cloud Foundry on OpenStack - Lessons Learnt
As a Service: Cloud Foundry on OpenStack - Lessons Learnt
 
DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1
 
Introduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureIntroduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application Architecture
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick Stinemates
 
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
 
introduction to micro services
introduction to micro servicesintroduction to micro services
introduction to micro services
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!
 
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
 
Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06
Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06
Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06
 
Docker Datacenter - CaaS
Docker Datacenter - CaaSDocker Datacenter - CaaS
Docker Datacenter - CaaS
 
Webinar Docker Tri Series
Webinar Docker Tri SeriesWebinar Docker Tri Series
Webinar Docker Tri Series
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Cloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStackCloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStack
 
Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 

Destacado

Addressing security concerns through BPM
Addressing security concerns through BPMAddressing security concerns through BPM
Addressing security concerns through BPM
Alexander SAMARIN
 
The missing piece : when Docker networking and services finally unleashes so...
 The missing piece : when Docker networking and services finally unleashes so... The missing piece : when Docker networking and services finally unleashes so...
The missing piece : when Docker networking and services finally unleashes so...
Adrien Blind
 

Destacado (11)

Addressing security concerns through BPM
Addressing security concerns through BPMAddressing security concerns through BPM
Addressing security concerns through BPM
 
Presentation websockets
Presentation websocketsPresentation websockets
Presentation websockets
 
Corba model ppt
Corba model pptCorba model ppt
Corba model ppt
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
The missing piece : when Docker networking and services finally unleashes so...
 The missing piece : when Docker networking and services finally unleashes so... The missing piece : when Docker networking and services finally unleashes so...
The missing piece : when Docker networking and services finally unleashes so...
 
Docker Meetup Paris: enterprise Docker
Docker Meetup Paris: enterprise DockerDocker Meetup Paris: enterprise Docker
Docker Meetup Paris: enterprise Docker
 
Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
 
La mediación escolar_rosa_garcia_mendive
La mediación escolar_rosa_garcia_mendiveLa mediación escolar_rosa_garcia_mendive
La mediación escolar_rosa_garcia_mendive
 
Docker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EE
 

Similar a Docker for the enterprise

Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
dotCloud
 
Intro to Docker October 2013
Intro to Docker October 2013Intro to Docker October 2013
Intro to Docker October 2013
Docker, Inc.
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 

Similar a Docker for the enterprise (20)

Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
Webinar : Docker in Production
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
 
Storage Integrations for Container Orchestrators
Storage Integrations for Container OrchestratorsStorage Integrations for Container Orchestrators
Storage Integrations for Container Orchestrators
 
Fuse integration-services
Fuse integration-servicesFuse integration-services
Fuse integration-services
 
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
 
Intro to Docker October 2013
Intro to Docker October 2013Intro to Docker October 2013
Intro to Docker October 2013
 
{code} and containers
{code} and containers{code} and containers
{code} and containers
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 
The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Why kubernetes matters
Why kubernetes mattersWhy kubernetes matters
Why kubernetes matters
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
 
Jelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service ProvidersJelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service Providers
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

Docker for the enterprise

  • 1. Docker for the Enterprise @bertpoller ekito
  • 3. Today’s strategic challenges Business Agility, Increased pace of delivery, Customer satisfaction • Low MTBIAMSH (Mean Time Between Idea and making Stuff happen)
  • 4. Today’s strategic challenges Multiplication of smaller bespoke applications • WOA, SOA, Micro Services • Multiplication of front ends • Products are SaaS newly instantiated for each new customer
  • 5. Today’s strategic challenges Ever increasing volumes of data and processing • Limited data center capacity • Ops efforts scale at best linearly with increased volume • Push for cloud deployments: private + public
  • 6. Obstacles to overcome WaterScrumFall • Dev teams adopt iterative methodologies • The organization as a whole cannot keep up with Dev Team pace • Symptoms • Delivery to production still takes weeks • Upfront IT resource provisioning at the beginning of a project • Ticket based IT services deemed too slow for Dev teams • Difficulties in maintaining IT services catalogues with ever changing demands http://bit.ly/waterscrumfall
  • 7. Obstacles to overcome Unaligned objectives and incentives between Devs and Ops • Devs seek implementing new features and hence introduce change • Ops seek stability, robustness, availability of systems they manage
  • 8. Obstacles to overcome Hybrid clouds are complex • Different operating models between public cloud providers and private clouds • No real private cloud infrastructure • A Virtualized server infrastructure is not a private cloud
  • 9. Keys to solve these challenges Break up organizational silos • Think in terms of products not projects • Construct multidisciplinary teams around products • Make Devs and Ops cooperate in these teams • But also other business stake holders
  • 10. Keys to solve these challenges Align Dev and Ops objectives; increase customer satisfaction • Error Budget = 100% Availability – Service Level Objective • Use budget for • Feature changes and functional regressions (Dev) • Service Reliability Engineering (Ops) • When the error budget is consumed • New features must wait until the budget is recharged • Only bug fixes go into production
  • 11. Keys to solve these challenges Construct an agile self-service infrastructure platform
  • 12. Docker to the rescue
  • 13. The challenge Source : https://github.com/mfilotto/docker-presentation/
  • 15. A Container System for Code Source : https://github.com/mfilotto/docker-presentation/
  • 16. But we’ve got virtualization already like in…VMWare
  • 17. Virtualization vs. Containers Virtualization Containers Containers are isolated but share OS and bins/ libraries, where appropriate
  • 18. Isolation using Linux Features namespaces • pid, • mnt, • net, • uts, • Ipc, • user cgroups • memory • cpu • blkio • devices
  • 19. Docker appeals for its… • Deployment Speed / Agility – minimal requirements for running the application, enabling quick and lightweight deployment • Portability – Independent self-sufficient application bundles Run across machines without compatibility issues • Reuse – Versioning, archiving, sharing, roll backs to previous versions of an application. Platform configurations as code • Efficiency - compared to classical virtualization, workloads can be run at higher densities thanks to avoided OS overhead Source: https://www.upguard.com/articles/docker-vs.-vmware-how-do-they-stack-up
  • 20. Trade off … Speed vs. Isolation • Shared kernel between containers • OS-based isolation vs. hardware-based isolation in classical virtualization • Detractors often use this as argument for saying : “Docker is not safe”
  • 21. Docker is not safe - well, Really ? Are all your VMs 100% up to date? Really? • VMs present a larger attack surface than Linux containers • Contaminated containers can be quickly destroyed and restarted • Docker tools allow for end to end security policy enforcement – for all containers (layered build approach, build automation, security scanning, trusted registries, container scheduling)
  • 22. Trade off… Ephemeral vs. Stateful workloads • Docker works best with stateless applications • Every application must eventually persist its state (Databases) • Additional efforts and planning is required when setting up a multi-node production level Docker cluster
  • 23. Isn’t this a bit like Java EE or OSGI ?
  • 24. Isn’t this a bit like Java EE or OSGI ? EARs, WARs, JARs package applications in deployment artifacts • Middleware centric – you need an application server • Limited to Java eco system • Programming language lock-in • Programming model lock-in (Java EE / OSGI) • Also applies to more recent packaging formats, such as WebPacks
  • 25. Ok but I’m already using Heroku… • PaaS • Build packs : Java, Node, Ruby,… • Intuitive UI / UX … nice ! • Source code is held in the repository - no built artifact • Docker • Is a shipping format • Can be used with Docker tool chain to build a more generic PaaS / CaaS
  • 26. XaaS – Pyramid Software as a Service Platform as a Service Infrastructure as a Service Container as a Service Too high Too low Product Teams IT Ops Team
  • 32. Example CI / CD pipeline
  • 34. Security Governance Its like a virus scanner for built containers • Can be integrated in your CI/CD pipeline • Scans for threads in defined policy files and CVC databases • Docker Security Scanning • CoreOS Clair • OpenSCAP container compliance • Redhat Atomic Scan • …
  • 36. Running a CaaS infrastructure
  • 39. Services, Routing and Load Balancing S_1 S_2 LB Overlay network App Scale Docker Host Docker Host Docker Host Service The scalable service pattern
  • 40. Services, Routing and Load Balancing The scalable service pattern • Services scale instances of a container across the cluster • Comprises a load balancer and an overlay network to connect containers • Allows things like rolling updates and rollbacks • Exists in many schedulers: Kubernetes, Mesos… • Was introduced in Docker V1.12 Swarm mode • Not compatible with Docker Compose • Requires new Distributed Application Bundle – still experimental
  • 41. Services, Routing and Load Balancing • Workaround prior to Docker 1.12 compatible with Compose V2
  • 42. Services, Routing and Load Balancing Domain based routing
  • 43. Persistent workloads Backend Network App Docker Host Docker Host Docker Host DB Frontend Network Local storage local local local
  • 44. Persistent workloads Backend Network App Docker Host Docker Host Docker Host DB Frontend Network DB ??? Local storage local local
  • 45. Persistent workloads Backend Network App Docker Host Docker Host Docker Host DB Frontend Network DB Data Sync Volume plugin Volume plugin Volume plugin Volume plugin, distributed or externalized storage
  • 46. Persistent workloads • Usage of volume plugins is encouraged • Decouples Product Teams from underlying storage solution • Connect to external block storage (SAN, NAS, Cloud Provider Block Storage) • Network based file systems between Docker Hosts • GlusterFS, Flocker, Infinit.sh, PortWorx, CEPH
  • 47. PaaS style self service access • For Product Teams • Intuitive UI / UX experience • Role based access (RBAC) integration with Enterprise IAM • Groups, virtual environments • Integrates with private repositories, CI/CD • OpenShift, Rancher, Docker Datacenter…
  • 49. Conclusion • Docker = Linux Containers + a Complete toolset • Large eco system (Kubernetes, MesoSphere, CoreOS, Rancher…) • Orchestration engine choice depends on your use cases • Limited risk on vendor lock-in: Docker Containers are de facto standard • Instead of growing your own cluster, see what the ecosystem can provide • Start small, grow steadily
  • 50.
  • 51. Ils nous font confiance