SlideShare une entreprise Scribd logo
1  sur  13
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 
Pipeline 
Current 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)
everydayhero-inactive.io 
ELB 
DEIS 
Upgrading the stack 
Route53 
ELB 
DEIS 
https://payments.everydayhero-inactive. 
io/health 
everydayhero.io
DEMO

Contenu connexe

Tendances

Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
Angelos Kapsimanis
 

Tendances (20)

Cloud service models 101
Cloud service models 101Cloud service models 101
Cloud service models 101
 
Make Kubernetes containers on Dell EMC PowerEdge R740xd servers easier to man...
Make Kubernetes containers on Dell EMC PowerEdge R740xd servers easier to man...Make Kubernetes containers on Dell EMC PowerEdge R740xd servers easier to man...
Make Kubernetes containers on Dell EMC PowerEdge R740xd servers easier to man...
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Manatee to Dolphin: Transitioning to a Startup Mentality
Manatee to Dolphin: Transitioning to a Startup MentalityManatee to Dolphin: Transitioning to a Startup Mentality
Manatee to Dolphin: Transitioning to a Startup Mentality
 
Closer Look at Cloud Centric Architectures
Closer Look at Cloud Centric ArchitecturesCloser Look at Cloud Centric Architectures
Closer Look at Cloud Centric Architectures
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
 
Cloud computing stack
Cloud computing stackCloud computing stack
Cloud computing stack
 
The Making of a Cloud Native Application Platform
The Making of a Cloud Native Application PlatformThe Making of a Cloud Native Application Platform
The Making of a Cloud Native Application Platform
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsContainers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen Apps
 
Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015
Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015
Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015
 
Pesentation on cloud computing by vijesh
Pesentation on cloud computing by vijeshPesentation on cloud computing by vijesh
Pesentation on cloud computing by vijesh
 
Federated Cloud Computing
Federated Cloud ComputingFederated Cloud Computing
Federated Cloud Computing
 
Federation of OpenStack clouds
Federation of OpenStack cloudsFederation of OpenStack clouds
Federation of OpenStack clouds
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Engineering and Operational Services for Cloud Providers
Engineering and Operational Services for Cloud ProvidersEngineering and Operational Services for Cloud Providers
Engineering and Operational Services for Cloud Providers
 
Your cloud computing skills 101
Your cloud computing skills 101Your cloud computing skills 101
Your cloud computing skills 101
 
Cloud Resource Management
Cloud Resource ManagementCloud Resource Management
Cloud Resource Management
 

En vedette

En vedette (8)

Tsuru @ Devops world
Tsuru @ Devops worldTsuru @ Devops world
Tsuru @ Devops world
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
 
Deis overview
Deis overviewDeis overview
Deis overview
 
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @WayraDeis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
 
Build your own PaaS using Kubernetes and Deis — GDG DevFest NL
Build your own PaaS using Kubernetes and Deis — GDG DevFest NLBuild your own PaaS using Kubernetes and Deis — GDG DevFest NL
Build your own PaaS using Kubernetes and Deis — GDG DevFest NL
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
Deis - Building our own PaaS at Springest
Deis - Building our own PaaS at SpringestDeis - Building our own PaaS at Springest
Deis - Building our own PaaS at Springest
 

Similaire à Containerisation and DEIS

Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
dotCloud
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly
 

Similaire à Containerisation and DEIS (20)

Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Academy PRO: Docker. Lecture 1
Academy PRO: Docker. Lecture 1Academy PRO: Docker. Lecture 1
Academy PRO: Docker. Lecture 1
 
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux Containers
 
Deploying OpenShift Container Platform on AWS by Red Hat
Deploying OpenShift Container Platform on AWS by Red HatDeploying OpenShift Container Platform on AWS by Red Hat
Deploying OpenShift Container Platform on AWS by Red Hat
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Containers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellContainers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshell
 
Cont0519
Cont0519Cont0519
Cont0519
 
Containers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to KubernetesContainers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to Kubernetes
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Docker: Testing to Production
Docker: Testing to ProductionDocker: Testing to Production
Docker: Testing to Production
 
Deep Dive on REX-Ray, libStorage and the Container Storage Interface - Clinto...
Deep Dive on REX-Ray, libStorage and the Container Storage Interface - Clinto...Deep Dive on REX-Ray, libStorage and the Container Storage Interface - Clinto...
Deep Dive on REX-Ray, libStorage and the Container Storage Interface - Clinto...
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 

Dernier

Dernier (20)

The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 

Containerisation and DEIS

  • 1. How EDH was contained! Containerisation and Deis
  • 2. A New World Order The ‘what’ and ‘why’ of Containers Layers of the Infrastructure Stack Deis components Future Steps Demo and Examples
  • 3. 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
  • 4. 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
  • 5. Docker ‘Ease of use’ on top of LXC AuFS Layerd File System Versioning Tools to build containers Sharing - public registry Defined API - enables ecosystem
  • 6. 12-Factor Apps + Docker Methodology for building services Processes Port binding Dev/prod parity Concurrency Logs Admin processes
  • 7. Layers of the stack DEIS Docker CoreOS AWS
  • 8.
  • 9.
  • 10. Next steps - Delivery Pipeline Current use as Heroku Git push deployments Not ideal CD workflow Prefer to generate artifact upfront Deploy Docker Image instead - manage in Registry
  • 11. 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)
  • 12. everydayhero-inactive.io ELB DEIS Upgrading the stack Route53 ELB DEIS https://payments.everydayhero-inactive. io/health everydayhero.io
  • 13. DEMO

Notes de l'éditeur

  1. Our new infrastructure Move from Physical data centre in Sydney, to AWS Adopting new ways to deploy scalable apps and infrastructure Goal: Everyone should understand basics of our infrastructure and how interact with it.
  2. Uses features built into Linux Kernel Not new technology - similar to FreeBSD Jails (2000), chroot Jails Difference to VMs - No overhead - managed as standard processes. Can run 1000s of containers on a laptop VMs emulate hardware - heavy weight, large overhead Cons: Less Isolated - can affect other containers - but can be managed. Linux only (for now) - requires VM to run on Mac, Windows.
  3. Resource utilisation vs AMIs
  4. Entire OS + app wrapped in image
  5. Scale apps independently from infrastructure nodes Contract with the underlying operating system, offering maximum portability between execution environments; Suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration; Minimize divergence between development and production, enabling continuous deployment for maximum agility; And can scale up without significant changes to tooling, architecture, or development practices. I. Codebase One codebase tracked in revision control, many deploys II. Dependencies Explicitly declare and isolate dependencies III. Config Store config in the environment IV. Backing Services Treat backing services as attached resources V. Build, release, run Strictly separate build and run stages VI. Processes Execute the app as one or more stateless processes VII. Port binding Export services via port binding VIII. Concurrency Scale out via the process model IX. Disposability Maximize robustness with fast startup and graceful shutdown X. Dev/prod parity Keep development, staging, and production as similar as possible XI. Logs Treat logs as event streams XII. Admin processes Run admin/management tasks as one-off processes
  6. CoreOS: Linux Distro specifically for deploying Docker - No package manager, Docker is the package mechanism Build for clusters - Manages services deployed across many nodes - Re-scheduling services from failed nodes - New/recovered nodes join the base cluster - Scale infrastructure nodes independently from apps
  7. Controller The controller component is a RESTful API server written with Django and Celery. Command-line clients interact with this component. Database The database component is a PostgreSQL server used to store durable platform state. Backups and WAL logs are pushed to Store. Cache The cache component uses Redis to: Store work queue data for Celery Cache sessions and synchronize locks for Django Store recent log data for the Controller Builder The builder component uses a Git server to process Application builds. The builder: Receives incoming git push requests over SSH Authenticates the user via SSH key fingerprint Authorizes the user’s access to write to the Git repository Builds a new Docker image from the updated git repository Adds the latest Config to the resulting Docker image Pushes the new Docker image to the platform’s Registry Creates a new Release on the Controller Once a new Release is generated, a new set of containers is deployed across the platform automatically. Registry The registry component hosts Docker images on behalf of the platform. Image data is stored by Store. Log Server The log server component uses rsyslog to aggregate log data from across the platform. This data can then be queried by the Controller. Router The router component uses Nginx to route traffic to application containers. Store The store component uses Ceph to store data for Deis components which need to store state (namely Registry and Database).
  8. Currently, Deis builds container internal to an environment, “compilation” step happens multiple times Buildstep outside environments
  9. Docker is without doubt the future of app deployment At Google - Everything is containers Built their own, Switching to Docker Kubernetes orchestration layer Deis is a convenient workflow for the “Heroku-like” experience
  10. Active/Inactive - is our current process given the breaking changes happening in deis. They are actively discussing and develop better strategies for upgrading both deis and CoreOS.
  11. fleetclt list-units fleetctl journal -f <service> deis login deis config:set deis apps:info deis ps:scale git push