SlideShare a Scribd company logo
1 of 24
Download to read offline
Agile and DevOps The Problem The Solution The Demo Q/A
Blue/Green Deployment with HAProxy
and Consul
Автоматизирано въвеждане в експлоатация на софтуер
Владимир Витков
2016.08.13 / VarnaConf
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Кой е пред вас
• Владимир
• Системен Администратор
• Привърженик на FOSS но не и зеалот
• Експериментатор
• Относително приятен човек за разговор*
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Census
• Програмисти
• Администратори
• Performance
• Agile
• QA
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Agile and DevOps
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Какво е Agile
• Идеология за разработка на софтуер
• Това което се ползва
• Нещо прекрасно
• . . . но но съвсем
• Периоди на разработка с функционалност
• Много караници
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Какво е DevOps
• Смесица между администратор и разработчик
• Много автоматизация
• Управлени на инфраструктура
• . . . като разработчик
• Отново много караници
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Защо Agile и DevOps
• Agile - много версии (и често)
• DevOps - мутираща инфраструктура
• Сборът? - голямо натоварване ако няма синхрон
• Бързо развитие на софтуера
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
The Problem
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Приложението
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
The Solution
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Архитектура
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Компоненти
• docker
• haproxy
• consul
• registrator
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Consul
• Контейнер предоставящ key/value услуга
• Съхранява описанието на приложението ни
• Може да се клъстеризира
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Consul - starting
docker run --detach --restart=always 
--hostname consul-master --name consul-master 
gliderlabs/consul-server [-bootstrap]
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Registrator
• Динамично обновява Consul
• Попълва параметри за контейнери
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Registrator - starting
docker run --detach --restart=always 
--name registrator --hostname registrator 
--net=host 
--volume=/var/run/docker.sock:/tmp/docker.sock 
gliderlabs/registrator:latest consul://localhost:85
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
haproxy
• контейнер базиран на alpine linux
• haproxy
• consul-template
• nginx - holding pages
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
haproxy - entrypoint
frontend http-in
bind *:80
# Generated automatically by consul-template
# blue if app-web and blue in service/app/color
# green if app-web and green in service/app/color
# else holding
use_backend app_{{with $cl:=key "service/app/color"
default_backend app_holding
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
haproxy - holding
backend web_holding
server sink 127.0.0.1:59599
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
haproxy - color
listen web_green
bind *:18000
balance roundrobin
{{range $i,$s:=service "web"}}
{{if .Tags | contains "green"}}
server {{$i}}{{.Node}}green {{.Address}}:{{.Port}}
{{end}}
{{end}}
server sink 127.0.0.1:56569 backup
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
haproxy - starting
docker run --detach --restart=always 
--env=’CONSUL_CONNECT=172.17.42.1:8500’ 
--hostname lb-prod --name lb-prod 
zeridon/haproxy-consul
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
The Demo
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Q/A
Blue/Green Deployment with HAProxy and Consul Владимир Витков
Agile and DevOps The Problem The Solution The Demo Q/A
Контакти
• Владимир Витков
• vvitkov@linux-bg.org
• https://www.getoto.net/zeridon
• https://github.com/zeridon
• http://www.slideshare.net/zeridon
Blue/Green Deployment with HAProxy and Consul Владимир Витков

More Related Content

What's hot

DevOpsGuys Performance Testing with APM Tools workshop
DevOpsGuys Performance Testing with APM Tools workshopDevOpsGuys Performance Testing with APM Tools workshop
DevOpsGuys Performance Testing with APM Tools workshopDevOpsGroup
 
How to outsource the pain of drupal translation to smartling from loparev
How to outsource the pain of drupal translation to smartling from loparevHow to outsource the pain of drupal translation to smartling from loparev
How to outsource the pain of drupal translation to smartling from loparevOleksii Bogush
 
Berlioz - Delivering Microservices Applications
Berlioz - Delivering Microservices ApplicationsBerlioz - Delivering Microservices Applications
Berlioz - Delivering Microservices ApplicationsRuben Hakopian
 
Product Managers are from Pluto and UXers are from Uranus
Product Managers are from Pluto and UXers are from UranusProduct Managers are from Pluto and UXers are from Uranus
Product Managers are from Pluto and UXers are from UranusProduct Anonymous
 
What’s new in studio 1.4
What’s new in studio 1.4What’s new in studio 1.4
What’s new in studio 1.4Ami Goldenberg
 
Continuous Delivery: better software, faster.
Continuous Delivery: better software, faster.Continuous Delivery: better software, faster.
Continuous Delivery: better software, faster.Bert Jan Schrijver
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點William Yeh
 
Automate and Orchestrate DevOps
Automate and Orchestrate DevOpsAutomate and Orchestrate DevOps
Automate and Orchestrate DevOpsChamith Kumarage
 
WTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal projectWTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal projectSymetris
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Claradev2ops
 
Why you should embrace Gradle and ditch Maven
Why you should embrace Gradle and ditch MavenWhy you should embrace Gradle and ditch Maven
Why you should embrace Gradle and ditch MavenGijsLeussink
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPPetter Skodvin-Hvammen
 
Development tools at Base
Development tools at BaseDevelopment tools at Base
Development tools at BaseDominik Kapusta
 
Continuous delivery for the it pro
Continuous delivery for the it proContinuous delivery for the it pro
Continuous delivery for the it proHenry Been
 
Are we really moving faster? How visualizing flow changed the way we work - ...
Are we really moving faster? How visualizing flow changed the way we work -  ...Are we really moving faster? How visualizing flow changed the way we work -  ...
Are we really moving faster? How visualizing flow changed the way we work - ...Roman Pickl
 
Getting Visual with Value Streams
Getting Visual with Value StreamsGetting Visual with Value Streams
Getting Visual with Value StreamsTasktop
 
JavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionJavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionBert Jan Schrijver
 

What's hot (20)

DevOpsGuys Performance Testing with APM Tools workshop
DevOpsGuys Performance Testing with APM Tools workshopDevOpsGuys Performance Testing with APM Tools workshop
DevOpsGuys Performance Testing with APM Tools workshop
 
How to outsource the pain of drupal translation to smartling from loparev
How to outsource the pain of drupal translation to smartling from loparevHow to outsource the pain of drupal translation to smartling from loparev
How to outsource the pain of drupal translation to smartling from loparev
 
Berlioz - Delivering Microservices Applications
Berlioz - Delivering Microservices ApplicationsBerlioz - Delivering Microservices Applications
Berlioz - Delivering Microservices Applications
 
Product Managers are from Pluto and UXers are from Uranus
Product Managers are from Pluto and UXers are from UranusProduct Managers are from Pluto and UXers are from Uranus
Product Managers are from Pluto and UXers are from Uranus
 
What’s new in studio 1.4
What’s new in studio 1.4What’s new in studio 1.4
What’s new in studio 1.4
 
Continuous Delivery: better software, faster.
Continuous Delivery: better software, faster.Continuous Delivery: better software, faster.
Continuous Delivery: better software, faster.
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點
 
Automate and Orchestrate DevOps
Automate and Orchestrate DevOpsAutomate and Orchestrate DevOps
Automate and Orchestrate DevOps
 
Skype goes agile
Skype goes agileSkype goes agile
Skype goes agile
 
Block-based Speech to Speech Translation
Block-based Speech to Speech TranslationBlock-based Speech to Speech Translation
Block-based Speech to Speech Translation
 
WTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal projectWTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal project
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
 
Why you should embrace Gradle and ditch Maven
Why you should embrace Gradle and ditch MavenWhy you should embrace Gradle and ditch Maven
Why you should embrace Gradle and ditch Maven
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
 
Development tools at Base
Development tools at BaseDevelopment tools at Base
Development tools at Base
 
Continuous delivery for the it pro
Continuous delivery for the it proContinuous delivery for the it pro
Continuous delivery for the it pro
 
Product update aug_29
Product update aug_29Product update aug_29
Product update aug_29
 
Are we really moving faster? How visualizing flow changed the way we work - ...
Are we really moving faster? How visualizing flow changed the way we work -  ...Are we really moving faster? How visualizing flow changed the way we work -  ...
Are we really moving faster? How visualizing flow changed the way we work - ...
 
Getting Visual with Value Streams
Getting Visual with Value StreamsGetting Visual with Value Streams
Getting Visual with Value Streams
 
JavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionJavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolution
 

Viewers also liked

High Volume Monitoring with Graphite
High Volume Monitoring with GraphiteHigh Volume Monitoring with Graphite
High Volume Monitoring with Graphitezeridon
 
Container Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup HamburgContainer Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup HamburgTimo Derstappen
 
Meetup Elasticsearch 13 novembre 2014
Meetup Elasticsearch 13 novembre 2014Meetup Elasticsearch 13 novembre 2014
Meetup Elasticsearch 13 novembre 2014Jean-Pierre Paris
 
Bespoke service discovery with HAProxy and Marathon on Mesos
Bespoke service discovery with HAProxy and Marathon on MesosBespoke service discovery with HAProxy and Marathon on Mesos
Bespoke service discovery with HAProxy and Marathon on MesosBart Spaans
 
The moment my site got hacked
The moment my site got hackedThe moment my site got hacked
The moment my site got hackedMarko Heijnen
 
How we cooked Elasticsearch, Consul, HAproxy and DNS-recursor
How we cooked Elasticsearch, Consul, HAproxy and DNS-recursorHow we cooked Elasticsearch, Consul, HAproxy and DNS-recursor
How we cooked Elasticsearch, Consul, HAproxy and DNS-recursorOleg Tokarev
 
HAProxy tech talk
HAProxy tech talkHAProxy tech talk
HAProxy tech talkicebourg
 
HAProxy scale out using open source
HAProxy scale out using open sourceHAProxy scale out using open source
HAProxy scale out using open sourceIngo Walz
 
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginxFrom pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginxQAware GmbH
 
Consul: Service-oriented at Scale
Consul: Service-oriented at ScaleConsul: Service-oriented at Scale
Consul: Service-oriented at ScaleC4Media
 
Log analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaLog analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaAvinash Ramineni
 
Prometheus meets Consul -- Consul Casual Talks
Prometheus meets Consul -- Consul Casual TalksPrometheus meets Consul -- Consul Casual Talks
Prometheus meets Consul -- Consul Casual TalksSatoshi Suzuki
 
ElasticSearch in Production: lessons learned
ElasticSearch in Production: lessons learnedElasticSearch in Production: lessons learned
ElasticSearch in Production: lessons learnedBeyondTrees
 
Elasticsearch in Netflix
Elasticsearch in NetflixElasticsearch in Netflix
Elasticsearch in NetflixDanny Yuan
 
How ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps lifeHow ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps life琛琳 饶
 
Microservices blue-green-deployment-with-docker
Microservices blue-green-deployment-with-dockerMicroservices blue-green-deployment-with-docker
Microservices blue-green-deployment-with-dockerKidong Lee
 
Redis in Practice
Redis in PracticeRedis in Practice
Redis in PracticeNoah Davis
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaAmazee Labs
 
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerRunning High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerSematext Group, Inc.
 

Viewers also liked (20)

High Volume Monitoring with Graphite
High Volume Monitoring with GraphiteHigh Volume Monitoring with Graphite
High Volume Monitoring with Graphite
 
Container Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup HamburgContainer Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup Hamburg
 
Meetup Elasticsearch 13 novembre 2014
Meetup Elasticsearch 13 novembre 2014Meetup Elasticsearch 13 novembre 2014
Meetup Elasticsearch 13 novembre 2014
 
Bespoke service discovery with HAProxy and Marathon on Mesos
Bespoke service discovery with HAProxy and Marathon on MesosBespoke service discovery with HAProxy and Marathon on Mesos
Bespoke service discovery with HAProxy and Marathon on Mesos
 
What's New in HAProxy
What's New in HAProxyWhat's New in HAProxy
What's New in HAProxy
 
The moment my site got hacked
The moment my site got hackedThe moment my site got hacked
The moment my site got hacked
 
How we cooked Elasticsearch, Consul, HAproxy and DNS-recursor
How we cooked Elasticsearch, Consul, HAproxy and DNS-recursorHow we cooked Elasticsearch, Consul, HAproxy and DNS-recursor
How we cooked Elasticsearch, Consul, HAproxy and DNS-recursor
 
HAProxy tech talk
HAProxy tech talkHAProxy tech talk
HAProxy tech talk
 
HAProxy scale out using open source
HAProxy scale out using open sourceHAProxy scale out using open source
HAProxy scale out using open source
 
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginxFrom pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
 
Consul: Service-oriented at Scale
Consul: Service-oriented at ScaleConsul: Service-oriented at Scale
Consul: Service-oriented at Scale
 
Log analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaLog analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and Kibana
 
Prometheus meets Consul -- Consul Casual Talks
Prometheus meets Consul -- Consul Casual TalksPrometheus meets Consul -- Consul Casual Talks
Prometheus meets Consul -- Consul Casual Talks
 
ElasticSearch in Production: lessons learned
ElasticSearch in Production: lessons learnedElasticSearch in Production: lessons learned
ElasticSearch in Production: lessons learned
 
Elasticsearch in Netflix
Elasticsearch in NetflixElasticsearch in Netflix
Elasticsearch in Netflix
 
How ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps lifeHow ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps life
 
Microservices blue-green-deployment-with-docker
Microservices blue-green-deployment-with-dockerMicroservices blue-green-deployment-with-docker
Microservices blue-green-deployment-with-docker
 
Redis in Practice
Redis in PracticeRedis in Practice
Redis in Practice
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & Kibana
 
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerRunning High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
 

Similar to VarnaConf - Blue/Green Deployments with Docker, haproxy and Consul

Cloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCCloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCAdrian Cockcroft
 
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020AWSKRUG - AWS한국사용자모임
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesAdrian Cockcroft
 
How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015Gordon Haff
 
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...Edward Wilde
 
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...PROIDEA
 
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache ZeppelinMoon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache ZeppelinFlink Forward
 
Continuous Testing using Shippable and Docker
Continuous Testing using Shippable and DockerContinuous Testing using Shippable and Docker
Continuous Testing using Shippable and DockerMukta Aphale
 
Unlock DevOps success with Atlassian - www.bdq.cloud
Unlock DevOps success with Atlassian  -  www.bdq.cloudUnlock DevOps success with Atlassian  -  www.bdq.cloud
Unlock DevOps success with Atlassian - www.bdq.cloudRyan Dobson ☁
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developersnine
 
Mastering Deployments with Kubernetes & OpenShift: from Basic to Zero Downtim...
Mastering Deployments with Kubernetes & OpenShift: from Basic to Zero Downtim...Mastering Deployments with Kubernetes & OpenShift: from Basic to Zero Downtim...
Mastering Deployments with Kubernetes & OpenShift: from Basic to Zero Downtim...J On The Beach
 
Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)
Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)
Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)VMware Tanzu
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsPablo Godel
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for RealistsOracle Developers
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksGoDataDriven
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Vadym Kazulkin
 

Similar to VarnaConf - Blue/Green Deployments with Docker, haproxy and Consul (20)

CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Cloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCCloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCC
 
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in Microservices
 
How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015
 
PHP as a Service TDC2019
PHP as a Service TDC2019PHP as a Service TDC2019
PHP as a Service TDC2019
 
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
 
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
 
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache ZeppelinMoon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
Moon soo Lee – Data Science Lifecycle with Apache Flink and Apache Zeppelin
 
Continuous Testing using Shippable and Docker
Continuous Testing using Shippable and DockerContinuous Testing using Shippable and Docker
Continuous Testing using Shippable and Docker
 
gopaddle-meetup
gopaddle-meetupgopaddle-meetup
gopaddle-meetup
 
Unlock DevOps success with Atlassian - www.bdq.cloud
Unlock DevOps success with Atlassian  -  www.bdq.cloudUnlock DevOps success with Atlassian  -  www.bdq.cloud
Unlock DevOps success with Atlassian - www.bdq.cloud
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Mastering Deployments with Kubernetes & OpenShift: from Basic to Zero Downtim...
Mastering Deployments with Kubernetes & OpenShift: from Basic to Zero Downtim...Mastering Deployments with Kubernetes & OpenShift: from Basic to Zero Downtim...
Mastering Deployments with Kubernetes & OpenShift: from Basic to Zero Downtim...
 
Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)
Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)
Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
 

Recently uploaded

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Recently uploaded (20)

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

VarnaConf - Blue/Green Deployments with Docker, haproxy and Consul

  • 1. Agile and DevOps The Problem The Solution The Demo Q/A Blue/Green Deployment with HAProxy and Consul Автоматизирано въвеждане в експлоатация на софтуер Владимир Витков 2016.08.13 / VarnaConf Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 2. Agile and DevOps The Problem The Solution The Demo Q/A Кой е пред вас • Владимир • Системен Администратор • Привърженик на FOSS но не и зеалот • Експериментатор • Относително приятен човек за разговор* Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 3. Agile and DevOps The Problem The Solution The Demo Q/A Census • Програмисти • Администратори • Performance • Agile • QA Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 4. Agile and DevOps The Problem The Solution The Demo Q/A Agile and DevOps Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 5. Agile and DevOps The Problem The Solution The Demo Q/A Какво е Agile • Идеология за разработка на софтуер • Това което се ползва • Нещо прекрасно • . . . но но съвсем • Периоди на разработка с функционалност • Много караници Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 6. Agile and DevOps The Problem The Solution The Demo Q/A Какво е DevOps • Смесица между администратор и разработчик • Много автоматизация • Управлени на инфраструктура • . . . като разработчик • Отново много караници Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 7. Agile and DevOps The Problem The Solution The Demo Q/A Защо Agile и DevOps • Agile - много версии (и често) • DevOps - мутираща инфраструктура • Сборът? - голямо натоварване ако няма синхрон • Бързо развитие на софтуера Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 8. Agile and DevOps The Problem The Solution The Demo Q/A The Problem Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 9. Agile and DevOps The Problem The Solution The Demo Q/A Приложението Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 10. Agile and DevOps The Problem The Solution The Demo Q/A The Solution Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 11. Agile and DevOps The Problem The Solution The Demo Q/A Архитектура Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 12. Agile and DevOps The Problem The Solution The Demo Q/A Компоненти • docker • haproxy • consul • registrator Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 13. Agile and DevOps The Problem The Solution The Demo Q/A Consul • Контейнер предоставящ key/value услуга • Съхранява описанието на приложението ни • Може да се клъстеризира Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 14. Agile and DevOps The Problem The Solution The Demo Q/A Consul - starting docker run --detach --restart=always --hostname consul-master --name consul-master gliderlabs/consul-server [-bootstrap] Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 15. Agile and DevOps The Problem The Solution The Demo Q/A Registrator • Динамично обновява Consul • Попълва параметри за контейнери Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 16. Agile and DevOps The Problem The Solution The Demo Q/A Registrator - starting docker run --detach --restart=always --name registrator --hostname registrator --net=host --volume=/var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator:latest consul://localhost:85 Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 17. Agile and DevOps The Problem The Solution The Demo Q/A haproxy • контейнер базиран на alpine linux • haproxy • consul-template • nginx - holding pages Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 18. Agile and DevOps The Problem The Solution The Demo Q/A haproxy - entrypoint frontend http-in bind *:80 # Generated automatically by consul-template # blue if app-web and blue in service/app/color # green if app-web and green in service/app/color # else holding use_backend app_{{with $cl:=key "service/app/color" default_backend app_holding Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 19. Agile and DevOps The Problem The Solution The Demo Q/A haproxy - holding backend web_holding server sink 127.0.0.1:59599 Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 20. Agile and DevOps The Problem The Solution The Demo Q/A haproxy - color listen web_green bind *:18000 balance roundrobin {{range $i,$s:=service "web"}} {{if .Tags | contains "green"}} server {{$i}}{{.Node}}green {{.Address}}:{{.Port}} {{end}} {{end}} server sink 127.0.0.1:56569 backup Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 21. Agile and DevOps The Problem The Solution The Demo Q/A haproxy - starting docker run --detach --restart=always --env=’CONSUL_CONNECT=172.17.42.1:8500’ --hostname lb-prod --name lb-prod zeridon/haproxy-consul Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 22. Agile and DevOps The Problem The Solution The Demo Q/A The Demo Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 23. Agile and DevOps The Problem The Solution The Demo Q/A Q/A Blue/Green Deployment with HAProxy and Consul Владимир Витков
  • 24. Agile and DevOps The Problem The Solution The Demo Q/A Контакти • Владимир Витков • vvitkov@linux-bg.org • https://www.getoto.net/zeridon • https://github.com/zeridon • http://www.slideshare.net/zeridon Blue/Green Deployment with HAProxy and Consul Владимир Витков