SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
Service  Discovery  for  CD  
with  Docker
Tim Nolet
tim@magnetic.io
=+
So  what’s  magne6c.io?
- Next-gen e-commerce platform aimed at the
enterprise market
- Integrate Continuous Delivery from the ground up
- Cocktail of PaaS, containers and micro services
Four  whys
- Why Docker? => Because encapsulation.
- Why encapsulation? => Because micro services.
- Why micro services? => Because Continuous
Delivery.
- Why continuous delivery? => Because time to
market is king.
What’s  out  there  already
- Skydock (https://github.com/crosbymichael/skydock)
- Deis (http://deis.io/)
- Docker-Discover (https://www.npmjs.org/package/
docker-discover
- Thalassa (https://github.com/PearsonEducation/
thalassa-aqueduct)
Pre-­‐alpha  stack
AWS / On premises
CoreOS
ETCD
Docker
CoreOSCoreOS
DockerDocker
DockerDockerDocker
DockerDockerDocker
Hazelcast
DockerDockerVert.x
DockerDockerVert.x
DockerDockerVert.x
How  do  we  do  it?
!
██╗   ██╗ █████╗ ███╗   ███╗██████╗  
██║   ██║██╔══██╗████╗ ████║██╔══██╗ 
██║   ██║███████║██╔████╔██║██████╔╝ 
╚██╗ ██╔╝██╔══██║██║╚██╔╝██║██╔═══╝  
 ╚████╔╝ ██║  ██║██║ ╚═╝ ██║██║      
  ╚═══╝  ╚═╝  ╚═╝╚═╝     ╚═╝╚═╝      
                       version 1.1
                       by magnetic.io
!
==> Starting cluster bootstrap...
==> info: Hazelcast port => 5701
==> info: Vertx Eventbus port => 5702
==> info: ETCD host => 10.0.42.1
==> info: ETCD port => 4001
==> info: ETCD base path => /vamp/bootstrap
==> info: Public IP => 172.17.8.103
==> info: Physical hostname => core-03
==> info: Container hostname => f9dc53532ff4
==> info: Vertx module to run => vamp-agent-0.1.0
==> info: Connecting to ETCD
==> info: Connected to ETCD at 10.0.42.1:4001
==> info: Vamp Bootstrap will try to cluster with started remote host 172.17.8.101
==> info: Starting Vamp Bootstrap with module vamp-agent-0.1.0
==> info: Waiting for Vamp Bootstrap to come online...
==> info: Vamp Bootstrap was started with PID 24 and public IP 172.17.8.103
Vamp
- vamp bootstrap
- vamp controller
- vamp agent
- vamp metrics
- vamp docker
- vamp discovery
- vamp templates
- vamp dashboard
- etc. etc. etc…
Dockerfile
<name><version><port>
ENV SERVICE hello:0.0.2:8080, hello-admin:0.0.2:8081
the ‘business end’ metrics & health
Events!
Docker
daemon
Service
Manager
listener
etcd
lbmonitor metrics
My Container
start
load balancer
update
start ping
stream
read/update
dashboard
1
2
3
4
5
6
start
Demo  ?me
Challenges
- Splitting services into multiple containers vs.
multiple actors in one container
- When scaling out, how do you determine which
services should be scaled?
Elephants…
- Persistent storage & databases
- Container & micro services life cycle management
- Transactional integrity across services
Ques?ons?
we
are
hiring!

Contenu connexe

Tendances

Twisted logic
Twisted logicTwisted logic
Twisted logic
ashfall
 

Tendances (20)

Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012
 
aiohttp intro
aiohttp introaiohttp intro
aiohttp intro
 
Docker 1.11 Meetup: Containerd and runc, by Arnaud Porterie and Michael Crosby
Docker 1.11 Meetup: Containerd and runc, by Arnaud Porterie and Michael Crosby Docker 1.11 Meetup: Containerd and runc, by Arnaud Porterie and Michael Crosby
Docker 1.11 Meetup: Containerd and runc, by Arnaud Porterie and Michael Crosby
 
Hadoop presentation
Hadoop presentationHadoop presentation
Hadoop presentation
 
How to ride a whale
How to ride a whaleHow to ride a whale
How to ride a whale
 
Coroutines talk ppt
Coroutines talk pptCoroutines talk ppt
Coroutines talk ppt
 
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with Terraform
 
Docker SDN (software-defined-networking) JUG
Docker SDN (software-defined-networking) JUGDocker SDN (software-defined-networking) JUG
Docker SDN (software-defined-networking) JUG
 
Infrastructure as Code: Introduction to Terraform
Infrastructure as Code: Introduction to TerraformInfrastructure as Code: Introduction to Terraform
Infrastructure as Code: Introduction to Terraform
 
Laravel Day / Deploy
Laravel Day / DeployLaravel Day / Deploy
Laravel Day / Deploy
 
What Is Async, How Does It Work, And When Should I Use It?
What Is Async, How Does It Work, And When Should I Use It?What Is Async, How Does It Work, And When Should I Use It?
What Is Async, How Does It Work, And When Should I Use It?
 
Dockerize everything TopConf Tallinn
Dockerize everything TopConf TallinnDockerize everything TopConf Tallinn
Dockerize everything TopConf Tallinn
 
DockerCoreNet
DockerCoreNetDockerCoreNet
DockerCoreNet
 
Павел Филонов, Разделяй и управляй вместе с Conan.io
Павел Филонов, Разделяй и управляй вместе с Conan.ioПавел Филонов, Разделяй и управляй вместе с Conan.io
Павел Филонов, Разделяй и управляй вместе с Conan.io
 
Red Hat Forum Tokyo - OpenStack Architecture
Red Hat Forum Tokyo - OpenStack ArchitectureRed Hat Forum Tokyo - OpenStack Architecture
Red Hat Forum Tokyo - OpenStack Architecture
 
Twisted logic
Twisted logicTwisted logic
Twisted logic
 
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBoxDiscovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
 
IaC를 어쭙잖게 맛본 썰?! Ctrl + c/v vs Ansible
IaC를 어쭙잖게 맛본 썰?! Ctrl + c/v vs AnsibleIaC를 어쭙잖게 맛본 썰?! Ctrl + c/v vs Ansible
IaC를 어쭙잖게 맛본 썰?! Ctrl + c/v vs Ansible
 
OlinData Puppet Presentation for MOSC 2012
OlinData Puppet Presentation for MOSC 2012OlinData Puppet Presentation for MOSC 2012
OlinData Puppet Presentation for MOSC 2012
 

Similaire à Service Discovery for Continuous Delivery with Docker

Chris Swan ONUG Academy - Container Networks Tutorial
Chris Swan ONUG Academy - Container Networks TutorialChris Swan ONUG Academy - Container Networks Tutorial
Chris Swan ONUG Academy - Container Networks Tutorial
Cohesive Networks
 

Similaire à Service Discovery for Continuous Delivery with Docker (20)

Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
Introduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group CologneIntroduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group Cologne
 
EC2 Storage for Docker 150526b
EC2 Storage for Docker   150526bEC2 Storage for Docker   150526b
EC2 Storage for Docker 150526b
 
Managing multicast/igmp stream on Docker
Managing multicast/igmp stream on DockerManaging multicast/igmp stream on Docker
Managing multicast/igmp stream on Docker
 
Chris Swan ONUG Academy - Container Networks Tutorial
Chris Swan ONUG Academy - Container Networks TutorialChris Swan ONUG Academy - Container Networks Tutorial
Chris Swan ONUG Academy - Container Networks Tutorial
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
 
ContainerDayVietnam2016: Docker for JS Developer
ContainerDayVietnam2016: Docker for JS DeveloperContainerDayVietnam2016: Docker for JS Developer
ContainerDayVietnam2016: Docker for JS Developer
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
Docker 1.11 Meetup: Networking Showcase
Docker 1.11 Meetup: Networking ShowcaseDocker 1.11 Meetup: Networking Showcase
Docker 1.11 Meetup: Networking Showcase
 
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu VenugopalDocker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
 
Docker Meetup: Docker Networking 1.11 with Madhu Venugopal
Docker Meetup: Docker Networking 1.11 with Madhu VenugopalDocker Meetup: Docker Networking 1.11 with Madhu Venugopal
Docker Meetup: Docker Networking 1.11 with Madhu Venugopal
 
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google CloudDrupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
 
Cloud RPI4 tomcat ARM64
Cloud RPI4 tomcat ARM64Cloud RPI4 tomcat ARM64
Cloud RPI4 tomcat ARM64
 
Docker networking Tutorial 101
Docker networking Tutorial 101Docker networking Tutorial 101
Docker networking Tutorial 101
 
Deep Dive in Docker Overlay Networks
Deep Dive in Docker Overlay NetworksDeep Dive in Docker Overlay Networks
Deep Dive in Docker Overlay Networks
 
Running .NET on Docker
Running .NET on DockerRunning .NET on Docker
Running .NET on Docker
 
Zaragoza dev ops-activiti-khd-20181212
Zaragoza dev ops-activiti-khd-20181212Zaragoza dev ops-activiti-khd-20181212
Zaragoza dev ops-activiti-khd-20181212
 
CloudStack Collab Conference 2015 Run CloudStack in Docker
CloudStack Collab Conference 2015 Run CloudStack in DockerCloudStack Collab Conference 2015 Run CloudStack in Docker
CloudStack Collab Conference 2015 Run CloudStack in Docker
 

Dernier

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Dernier (20)

AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 

Service Discovery for Continuous Delivery with Docker

  • 1. Service  Discovery  for  CD   with  Docker Tim Nolet tim@magnetic.io =+
  • 2. So  what’s  magne6c.io? - Next-gen e-commerce platform aimed at the enterprise market - Integrate Continuous Delivery from the ground up - Cocktail of PaaS, containers and micro services
  • 3. Four  whys - Why Docker? => Because encapsulation. - Why encapsulation? => Because micro services. - Why micro services? => Because Continuous Delivery. - Why continuous delivery? => Because time to market is king.
  • 4. What’s  out  there  already - Skydock (https://github.com/crosbymichael/skydock) - Deis (http://deis.io/) - Docker-Discover (https://www.npmjs.org/package/ docker-discover - Thalassa (https://github.com/PearsonEducation/ thalassa-aqueduct)
  • 5. Pre-­‐alpha  stack AWS / On premises CoreOS ETCD Docker CoreOSCoreOS DockerDocker DockerDockerDocker DockerDockerDocker Hazelcast DockerDockerVert.x DockerDockerVert.x DockerDockerVert.x
  • 6. How  do  we  do  it? ! ██╗   ██╗ █████╗ ███╗   ███╗██████╗   ██║   ██║██╔══██╗████╗ ████║██╔══██╗  ██║   ██║███████║██╔████╔██║██████╔╝  ╚██╗ ██╔╝██╔══██║██║╚██╔╝██║██╔═══╝    ╚████╔╝ ██║  ██║██║ ╚═╝ ██║██║         ╚═══╝  ╚═╝  ╚═╝╚═╝     ╚═╝╚═╝                              version 1.1                        by magnetic.io ! ==> Starting cluster bootstrap... ==> info: Hazelcast port => 5701 ==> info: Vertx Eventbus port => 5702 ==> info: ETCD host => 10.0.42.1 ==> info: ETCD port => 4001 ==> info: ETCD base path => /vamp/bootstrap ==> info: Public IP => 172.17.8.103 ==> info: Physical hostname => core-03 ==> info: Container hostname => f9dc53532ff4 ==> info: Vertx module to run => vamp-agent-0.1.0 ==> info: Connecting to ETCD ==> info: Connected to ETCD at 10.0.42.1:4001 ==> info: Vamp Bootstrap will try to cluster with started remote host 172.17.8.101 ==> info: Starting Vamp Bootstrap with module vamp-agent-0.1.0 ==> info: Waiting for Vamp Bootstrap to come online... ==> info: Vamp Bootstrap was started with PID 24 and public IP 172.17.8.103
  • 7. Vamp - vamp bootstrap - vamp controller - vamp agent - vamp metrics - vamp docker - vamp discovery - vamp templates - vamp dashboard - etc. etc. etc…
  • 8. Dockerfile <name><version><port> ENV SERVICE hello:0.0.2:8080, hello-admin:0.0.2:8081 the ‘business end’ metrics & health
  • 9. Events! Docker daemon Service Manager listener etcd lbmonitor metrics My Container start load balancer update start ping stream read/update dashboard 1 2 3 4 5 6 start
  • 11. Challenges - Splitting services into multiple containers vs. multiple actors in one container - When scaling out, how do you determine which services should be scaled?
  • 12. Elephants… - Persistent storage & databases - Container & micro services life cycle management - Transactional integrity across services