SlideShare a Scribd company logo
1 of 29
Download to read offline
Why
containerise
your life ?
The agenda
● So you decided to use containers
● The pitfalls of starting to use containers
● We have the solution to that problem
● Is this ready for production ?
Have you ever danced with the devil in the pale
moonlight ?
The devil does not change, he changes you
Quote “The Joker, Batman 1989”
This quote is so relevant when starting out with containers.
If you want to be successful you have to change the way you
think about solutions, your operational processes and CD/CI
pipelines. Trying to fit old solution methodology will cause
you technical debt.
So you decided to use containers
Where do you start ?
So there is a lot of buzz around containers at the moment.
So why should you spend the time and money to move your
applications to containers ?
We will answer this question from three different
perspectives
● The Dev
● Infrastructure
● The business
The dev
Why would Dev’s want to use containers ?
● Quick build times
● Run code locally that is the same code as production
● More efficient unit test cycles
● The container becomes the artifact
● Makes the CD/CI process simple
Infrastructure
So what about the infra guys and girls ?
● The application is abstract from the host operating
system
● In true ‘devops’, it’s infra as code
● It creates a collaborative environment
● Brings down operational overhead
● Makes the CD/CI process simple
The business
It’s all about the bottom dollar, so how do we justify the
change
● Collaboration breeds efficiency
● Increased quality of releases
● Containers are platform agnostic
● Language agnostic
Where do we start
Now we see the benefits, where do we start ?
● Pick a small application or service
● Make sure it works
● Gain business trust
The pitfalls of starting to use containers
It can’t be all fairy floss and rainbows
Now we have a few ideas of services or apps to containerise.
What real world issues will come up.
● Do we run 1 container per compute resource
● Where does our data or state reside
● How do we handle failures
● What about the way my data is structured
Do we run 1 container per compute resource ?
If we run containers 1:1 with compute resources what’s the
point ?
● So we need a solution to scale
That word ‘scale’ needs to be defined
● Are we talking on the same compute resource
● Does this mean across AZ’s
● What about completely different datacentres
What about application routing within a compute resource ?
Where does our data or state reside ?
Containers and stateless services are like a mirage in
heaven. Unfortunately not all applications can be stateless.
So how do we handle this ?
● Should the data live inside the container
● Maybe map a drive to the compute resource
● Can we split the compute from the state
How do we handle failures
What happens to application failure within a container ?
● How can we design for failure
● What measures can we put in place to prevent failure
● Can we auto heal containers
How do I structure my data
There are so many moving parts to building an image,
creating the container and the release process.
● What configuration lives where
● How can I test my container
● With so many parts what does my source control structure
look like
We have the solution to that problem
This is how we scale
So let’s define scale !!!
For the same for the same compute node we have to following
options
● Docker Compose https://docs.docker.com/compose/
This is how we scale
For more complex scaling needs like across multiple compute
nodes or AZ’s. We would use a container scheduler.
● Docker Swarm https://docs.docker.com/swarm/
● Google’s Kubernetes http://kubernetes.io/
● Apache Mesos https://mesos.apache.org/
● Hashicorp Nomad https://www.nomadproject.io/
Our data is safe
If we need to give our state to our container applications.
We have options depending on our design choices
● Kubernetes http://kubernetes.io/docs/user-guide/volumes/
● Flocker https://clusterhq.com/flocker/introduction/
This is how we protect ourselves from failure
Service discovery is the backbone to our container
schedulers. Service discovery dynamically updates the
locations of our containers as they move between compute
nodes.
● Consul https://www.consul.io/
● Etcd https://coreos.com/etcd/
How is my data structured
Dockerfile
● Base configurations for the container
● Arguments for runtime
● Live in it’s own git repo
Run time
● Volume, CPU, Mem constraints
● Runtime args
● Name of container
How is my data structured
CD/CI
● Unit test should live with the Dockerfile
Unit test can be written in various languages.
● Golang
● Ruby
● Python
Is this production ready
Let’s tie it all together
Kubernetes
Let’s tie it all together
Docker Swarm with Flocker
Let’s tie it all together
Mesos
Questions
About me
https://forge.puppet.com/scottyc
https://github.com/scotty-c
https://hub.docker.com/u/scottyc/
@scottcoulton
scottyc

More Related Content

Viewers also liked

Infrastructure as Code 101: Steve Tegeler + Nathan Ness, VMware
Infrastructure as Code 101: Steve Tegeler + Nathan Ness, VMwareInfrastructure as Code 101: Steve Tegeler + Nathan Ness, VMware
Infrastructure as Code 101: Steve Tegeler + Nathan Ness, VMware
OpenStack
 
Simplifying OpenStack Networks with Routing on the Host: Gerard Chami + Scott...
Simplifying OpenStack Networks with Routing on the Host: Gerard Chami + Scott...Simplifying OpenStack Networks with Routing on the Host: Gerard Chami + Scott...
Simplifying OpenStack Networks with Routing on the Host: Gerard Chami + Scott...
OpenStack
 
The Environment for Innovation: Tristan Goode, Aptira
The Environment for Innovation: Tristan Goode, AptiraThe Environment for Innovation: Tristan Goode, Aptira
The Environment for Innovation: Tristan Goode, Aptira
OpenStack
 

Viewers also liked (13)

Infrastructure as Code 101: Steve Tegeler + Nathan Ness, VMware
Infrastructure as Code 101: Steve Tegeler + Nathan Ness, VMwareInfrastructure as Code 101: Steve Tegeler + Nathan Ness, VMware
Infrastructure as Code 101: Steve Tegeler + Nathan Ness, VMware
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
 
Simplifying OpenStack Networks with Routing on the Host: Gerard Chami + Scott...
Simplifying OpenStack Networks with Routing on the Host: Gerard Chami + Scott...Simplifying OpenStack Networks with Routing on the Host: Gerard Chami + Scott...
Simplifying OpenStack Networks with Routing on the Host: Gerard Chami + Scott...
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatThe Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
 
Moving to Cloud for Good: Alexander Tsirel, HiveTec
Moving to Cloud for Good: Alexander Tsirel, HiveTecMoving to Cloud for Good: Alexander Tsirel, HiveTec
Moving to Cloud for Good: Alexander Tsirel, HiveTec
 
The Environment for Innovation: Tristan Goode, Aptira
The Environment for Innovation: Tristan Goode, AptiraThe Environment for Innovation: Tristan Goode, Aptira
The Environment for Innovation: Tristan Goode, Aptira
 
Implementing OpenStack in a Government Environment: Vanessa Binding, Departme...
Implementing OpenStack in a Government Environment: Vanessa Binding, Departme...Implementing OpenStack in a Government Environment: Vanessa Binding, Departme...
Implementing OpenStack in a Government Environment: Vanessa Binding, Departme...
 
How to deliver High Performance OpenStack Cloud: Christoph Dwertmann, Vault S...
How to deliver High Performance OpenStack Cloud: Christoph Dwertmann, Vault S...How to deliver High Performance OpenStack Cloud: Christoph Dwertmann, Vault S...
How to deliver High Performance OpenStack Cloud: Christoph Dwertmann, Vault S...
 
Push-button Composition of Oracle Application and Database Environments: Avi ...
Push-button Composition of Oracle Application and Database Environments: Avi ...Push-button Composition of Oracle Application and Database Environments: Avi ...
Push-button Composition of Oracle Application and Database Environments: Avi ...
 
An Open Approach to Government Cloud: Dez Blanchfield, Vault Systems
An Open Approach to Government Cloud: Dez Blanchfield, Vault SystemsAn Open Approach to Government Cloud: Dez Blanchfield, Vault Systems
An Open Approach to Government Cloud: Dez Blanchfield, Vault Systems
 
We Are OpenStack: David F. Flanders & Tom Fifield, OpenStack Foundation
We Are OpenStack: David F. Flanders & Tom Fifield, OpenStack FoundationWe Are OpenStack: David F. Flanders & Tom Fifield, OpenStack Foundation
We Are OpenStack: David F. Flanders & Tom Fifield, OpenStack Foundation
 
Big Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, RackspaceBig Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, Rackspace
 
Crowbar and OpenStack: Steve Kowalik, SUSE
Crowbar and OpenStack: Steve Kowalik, SUSECrowbar and OpenStack: Steve Kowalik, SUSE
Crowbar and OpenStack: Steve Kowalik, SUSE
 

More from OpenStack

Federation and Interoperability in the Nectar Research Cloud
Federation and Interoperability in the Nectar Research CloudFederation and Interoperability in the Nectar Research Cloud
Federation and Interoperability in the Nectar Research Cloud
OpenStack
 
Enabling OpenStack for Enterprise - Tarso Dos Santos, Veritas
Enabling OpenStack for Enterprise - Tarso Dos Santos, VeritasEnabling OpenStack for Enterprise - Tarso Dos Santos, Veritas
Enabling OpenStack for Enterprise - Tarso Dos Santos, Veritas
OpenStack
 
Diving in the desert: A quick overview into OpenStack Sahara capabilities - A...
Diving in the desert: A quick overview into OpenStack Sahara capabilities - A...Diving in the desert: A quick overview into OpenStack Sahara capabilities - A...
Diving in the desert: A quick overview into OpenStack Sahara capabilities - A...
OpenStack
 
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
OpenStack
 
Building a GPU-enabled OpenStack Cloud for HPC - Lance Wilson, Monash University
Building a GPU-enabled OpenStack Cloud for HPC - Lance Wilson, Monash UniversityBuilding a GPU-enabled OpenStack Cloud for HPC - Lance Wilson, Monash University
Building a GPU-enabled OpenStack Cloud for HPC - Lance Wilson, Monash University
OpenStack
 

More from OpenStack (20)

Swinburne University of Technology - Shunde Zhang & Kieran Spear, Aptira
Swinburne University of Technology - Shunde Zhang & Kieran Spear, AptiraSwinburne University of Technology - Shunde Zhang & Kieran Spear, Aptira
Swinburne University of Technology - Shunde Zhang & Kieran Spear, Aptira
 
Related OSS Projects - Peter Rowe, Flexera Software
Related OSS Projects - Peter Rowe, Flexera SoftwareRelated OSS Projects - Peter Rowe, Flexera Software
Related OSS Projects - Peter Rowe, Flexera Software
 
Supercomputing by API: Connecting Modern Web Apps to HPC
Supercomputing by API: Connecting Modern Web Apps to HPCSupercomputing by API: Connecting Modern Web Apps to HPC
Supercomputing by API: Connecting Modern Web Apps to HPC
 
Federation and Interoperability in the Nectar Research Cloud
Federation and Interoperability in the Nectar Research CloudFederation and Interoperability in the Nectar Research Cloud
Federation and Interoperability in the Nectar Research Cloud
 
Simplifying the Move to OpenStack
Simplifying the Move to OpenStackSimplifying the Move to OpenStack
Simplifying the Move to OpenStack
 
Hyperconverged Cloud, Not just a toy anymore - Andrew Hatfield, Red Hat
Hyperconverged Cloud, Not just a toy anymore - Andrew Hatfield, Red HatHyperconverged Cloud, Not just a toy anymore - Andrew Hatfield, Red Hat
Hyperconverged Cloud, Not just a toy anymore - Andrew Hatfield, Red Hat
 
Migrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, OracleMigrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, Oracle
 
A glimpse into an industry Cloud using Open Source Technologies - Adrian Koh,...
A glimpse into an industry Cloud using Open Source Technologies - Adrian Koh,...A glimpse into an industry Cloud using Open Source Technologies - Adrian Koh,...
A glimpse into an industry Cloud using Open Source Technologies - Adrian Koh,...
 
Enabling OpenStack for Enterprise - Tarso Dos Santos, Veritas
Enabling OpenStack for Enterprise - Tarso Dos Santos, VeritasEnabling OpenStack for Enterprise - Tarso Dos Santos, Veritas
Enabling OpenStack for Enterprise - Tarso Dos Santos, Veritas
 
Understanding blue store, Ceph's new storage backend - Tim Serong, SUSE
Understanding blue store, Ceph's new storage backend - Tim Serong, SUSEUnderstanding blue store, Ceph's new storage backend - Tim Serong, SUSE
Understanding blue store, Ceph's new storage backend - Tim Serong, SUSE
 
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
 
Diving in the desert: A quick overview into OpenStack Sahara capabilities - A...
Diving in the desert: A quick overview into OpenStack Sahara capabilities - A...Diving in the desert: A quick overview into OpenStack Sahara capabilities - A...
Diving in the desert: A quick overview into OpenStack Sahara capabilities - A...
 
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
 
OpenStack and Red Hat: How we learned to adapt with our customers in a maturi...
OpenStack and Red Hat: How we learned to adapt with our customers in a maturi...OpenStack and Red Hat: How we learned to adapt with our customers in a maturi...
OpenStack and Red Hat: How we learned to adapt with our customers in a maturi...
 
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
 
The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...
The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...
The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...
 
Ironically, Infrastructure Doesn't Matter - Quinton Anderson, Commonwealth Ba...
Ironically, Infrastructure Doesn't Matter - Quinton Anderson, Commonwealth Ba...Ironically, Infrastructure Doesn't Matter - Quinton Anderson, Commonwealth Ba...
Ironically, Infrastructure Doesn't Matter - Quinton Anderson, Commonwealth Ba...
 
Traditional Enterprise to OpenStack Cloud - An Unexpected Journey
Traditional Enterprise to OpenStack Cloud - An Unexpected JourneyTraditional Enterprise to OpenStack Cloud - An Unexpected Journey
Traditional Enterprise to OpenStack Cloud - An Unexpected Journey
 
Building a GPU-enabled OpenStack Cloud for HPC - Lance Wilson, Monash University
Building a GPU-enabled OpenStack Cloud for HPC - Lance Wilson, Monash UniversityBuilding a GPU-enabled OpenStack Cloud for HPC - Lance Wilson, Monash University
Building a GPU-enabled OpenStack Cloud for HPC - Lance Wilson, Monash University
 
Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...
Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...
Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Why Would I Want To Containerise My Life? Scott Coulton, Health Direct

  • 2. The agenda ● So you decided to use containers ● The pitfalls of starting to use containers ● We have the solution to that problem ● Is this ready for production ?
  • 3. Have you ever danced with the devil in the pale moonlight ?
  • 4. The devil does not change, he changes you Quote “The Joker, Batman 1989” This quote is so relevant when starting out with containers. If you want to be successful you have to change the way you think about solutions, your operational processes and CD/CI pipelines. Trying to fit old solution methodology will cause you technical debt.
  • 5. So you decided to use containers
  • 6. Where do you start ? So there is a lot of buzz around containers at the moment. So why should you spend the time and money to move your applications to containers ? We will answer this question from three different perspectives ● The Dev ● Infrastructure ● The business
  • 7. The dev Why would Dev’s want to use containers ? ● Quick build times ● Run code locally that is the same code as production ● More efficient unit test cycles ● The container becomes the artifact ● Makes the CD/CI process simple
  • 8. Infrastructure So what about the infra guys and girls ? ● The application is abstract from the host operating system ● In true ‘devops’, it’s infra as code ● It creates a collaborative environment ● Brings down operational overhead ● Makes the CD/CI process simple
  • 9. The business It’s all about the bottom dollar, so how do we justify the change ● Collaboration breeds efficiency ● Increased quality of releases ● Containers are platform agnostic ● Language agnostic
  • 10. Where do we start Now we see the benefits, where do we start ? ● Pick a small application or service ● Make sure it works ● Gain business trust
  • 11. The pitfalls of starting to use containers
  • 12. It can’t be all fairy floss and rainbows Now we have a few ideas of services or apps to containerise. What real world issues will come up. ● Do we run 1 container per compute resource ● Where does our data or state reside ● How do we handle failures ● What about the way my data is structured
  • 13. Do we run 1 container per compute resource ? If we run containers 1:1 with compute resources what’s the point ? ● So we need a solution to scale That word ‘scale’ needs to be defined ● Are we talking on the same compute resource ● Does this mean across AZ’s ● What about completely different datacentres What about application routing within a compute resource ?
  • 14. Where does our data or state reside ? Containers and stateless services are like a mirage in heaven. Unfortunately not all applications can be stateless. So how do we handle this ? ● Should the data live inside the container ● Maybe map a drive to the compute resource ● Can we split the compute from the state
  • 15. How do we handle failures What happens to application failure within a container ? ● How can we design for failure ● What measures can we put in place to prevent failure ● Can we auto heal containers
  • 16. How do I structure my data There are so many moving parts to building an image, creating the container and the release process. ● What configuration lives where ● How can I test my container ● With so many parts what does my source control structure look like
  • 17. We have the solution to that problem
  • 18. This is how we scale So let’s define scale !!! For the same for the same compute node we have to following options ● Docker Compose https://docs.docker.com/compose/
  • 19. This is how we scale For more complex scaling needs like across multiple compute nodes or AZ’s. We would use a container scheduler. ● Docker Swarm https://docs.docker.com/swarm/ ● Google’s Kubernetes http://kubernetes.io/ ● Apache Mesos https://mesos.apache.org/ ● Hashicorp Nomad https://www.nomadproject.io/
  • 20. Our data is safe If we need to give our state to our container applications. We have options depending on our design choices ● Kubernetes http://kubernetes.io/docs/user-guide/volumes/ ● Flocker https://clusterhq.com/flocker/introduction/
  • 21. This is how we protect ourselves from failure Service discovery is the backbone to our container schedulers. Service discovery dynamically updates the locations of our containers as they move between compute nodes. ● Consul https://www.consul.io/ ● Etcd https://coreos.com/etcd/
  • 22. How is my data structured Dockerfile ● Base configurations for the container ● Arguments for runtime ● Live in it’s own git repo Run time ● Volume, CPU, Mem constraints ● Runtime args ● Name of container
  • 23. How is my data structured CD/CI ● Unit test should live with the Dockerfile Unit test can be written in various languages. ● Golang ● Ruby ● Python
  • 25. Let’s tie it all together Kubernetes
  • 26. Let’s tie it all together Docker Swarm with Flocker
  • 27. Let’s tie it all together Mesos