containerisation and deis
DESCRIPTION
A presentation on what Everyday Hero are doing on the Ops side of things to help with its growth, performance and scaling for the future. The foundation of this strategy in containerisation (ie Docker) and DEIS as an orchestration layer for Continuous Delivery. This presentation was co-authored and presented with Colin Bankier.TRANSCRIPT
How EDH was contained!Containerisation and Deis
A New World Order
The ‘what’ and ‘why’ of
Containers
Layers of the
Infrastructure Stack
Deis components
Future Steps
Demo and Examples
What are Containers?
Linux Containers (LXC)
OS level virtualization method for running multiple
Linux systems on a single host.
Resource isolation - CPU, memory, block I/O,
network, etc. (cgroups)
Does not require starting any virtual machines
So, why containers?• Application Packaging
• Bundle code and dependencies
• Run anywhere*
• The 12 Factor App
• Simpler for Operations
• Consistency
• Application Centric View
• Continuous Delivery
• Run same artifact in all environments
Docker
‘Ease of use’ on top of LXC
AuFS Layerd File System
Versioning
Tools to build containers
Sharing - public registry
Defined API - enables
ecosystem
12-Factor Apps + Docker
Methodology for building
services
Processes
Port binding
Dev/prod parity
Concurrency
Logs
Admin processes
Layers of the stack
DEIS
Docker
CoreOS
AWS
Next steps - Delivery
PipelineCurrent use as Heroku
Git push deployments
Not ideal CD workflow
Prefer to generate artifact upfront
Deploy Docker Image instead - manage in Registry
Next Steps - something else?
Deis
Thin layer on solid tech
Immature, but convenient
abstraction for now
Exciting things are happening
Kubernetes (Google)
Panamax (Century Link)
Mesos (Apache)
ELB
DEIS
everydayhero-inactive.io
Upgrading the stack
Route53
ELB
DEIS
https://payments.everydayhero-
inactive.io/health
everydayhero.io
DEMO