SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
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!

Mais conteúdo relacionado

Mais procurados

Twisted logic
Twisted logicTwisted logic
Twisted logic
ashfall
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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 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
 
Docker 1.11 Meetup: Networking Showcase
Docker 1.11 Meetup: Networking ShowcaseDocker 1.11 Meetup: Networking Showcase
Docker 1.11 Meetup: Networking Showcase
 
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
 
CCCEU15 run cloudstack in docker
CCCEU15 run cloudstack in dockerCCCEU15 run cloudstack in docker
CCCEU15 run cloudstack in docker
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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...
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
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
 
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...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 

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