SlideShare ist ein Scribd-Unternehmen logo
1 von 45
moreDEVsonDEVOPSwith
DOCKERORCHESTRATION
All the Things you have to Know in OrdertousedockerwithOrchestrationinProductionlikeIdidbutnotreallylikeididitbecauseIcried,Ireallycriedhard,sopleasedonotcrybecauselifeisshortandyoushouldspendyourtimeenjoyingit.
2.
@liuggio Giulio De Donato
@liuggiowelcometothebundle.com
moreDEVsonDEVOPSwith
DOCKERORCHESTRATION
All the Things you have to Know in OrdertousedockerwithOrchestrationinProductionlikeIdidbutnotreallylikeididitbecauseIcried,Ireallycriedhard,sopleasedonotcrybecauselifeisshortandyoushouldspendyourtimeenjoyingit.
@liuggio Giulio De Donato
1 Docker Container!==
@liuggio Giulio De Donato
Virtualization !== ContainerContainer are mostly syscalls2
@liuggio Giulio De Donato
3 It is all about
while true;
do mkdir x; cd x;
done
bomb() {
bomb | bomb &
}; bomb
ISOLATION
@liuggio Giulio De Donato
4 DevOps is ...
TheperfectStorm
● VELOCITY
● Variation
● VisualizationLEAD TIME
Threewaydevops:
@liuggio Giulio De Donato
Infrastructure like a
managed application
5
Infrastructure like a
managed application
@liuggio Giulio De Donato
6 Use the FORCE
One process per container
@liuggio Giulio De Donato
7 Use the FORCE
log to StdErr and StdOut
@liuggio Giulio De Donato
Can’t touch this8
@liuggio Giulio De Donato
9 Use the FORCE
Env. Variable all the things
/etc/php5/fpm/pool.d/www.conf
clear_env = no
[www]
env[MY_ENV_VAR_1] = 'value1'
env[MY_ENV_VAR_2] = 'value2'
@liuggio Giulio De Donato
10 Containers communication is easy
NGINX PHP-FPM
Data (code)
php-cli
@liuggio Giulio De Donato
Cache
DB
10 Containers communication is easy
Backend
expose
port 80
...Services
NGINX PHP-FPM
Data (code)
php-cli
@liuggio Giulio De Donato
Cache
DB
10 Containers communication is easy
N
N
N
N
PHP
PHP
PHP
CLI
expose
port 80
Load
balancer
...Scale
NGINX PHP-FPM
Data (code)
php-cli
@liuggio Giulio De Donato
10 Containers communication is easy
N
N
N
N
PHP
PHP
PHP
CLI
expose
port 80
Load
balancer
NODE 3
NODE 2
NODE 1
...Nodes
NGINX PHP-FPM
Data (code)
php-cli
@liuggio Giulio De Donato
10 Containers communication is easy
Cache
DB
...SubNet
@liuggio Giulio De Donato
10 Containers communication is easy
...Microservices
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
NX
FPM
ode)
cli
Cache
DB
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
NGINX
PHP-FP
Data (cod
php-cli
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
Cache
DB
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
NGINX
PHP-FPM
Data (code)
php-cli
Cach
DB
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
NGINX
PHP-FPM
Data (code)
php-cli
Cache
DB
NGINX
PHP-FPM
Data (code)
php-cli
C
@liuggio Giulio De Donato
10 Containers communication is easy
NOT FOR HUMAN!!!!
@liuggio Giulio De Donato
11 Orchestration !== Automation
● Kubernetes
● DockerCloud
● DOCKERUCP
● MESOS
● Provisioningtool(BASHISM/…)
● …
DockerOrchestrationframeworks/tools
@liuggio Giulio De Donato
DEMO
Devops:
The last human action
happens when you commit?
@liuggio Giulio De Donato
@liuggio Giulio De Donato
12 Understand your processes
CODE TEST DEPLOY
@liuggio Giulio De Donato
13 Blue Green Deployment
Load
Balancer
Web Blue
Web Green
@liuggio Giulio De Donato
12 My pipeline (contd)
CODE
BUILD
CHOOSE
NODES
Register
Services
RUN
Containers
(blue-green)
Integration
tests
Configure
Proxy with
color
Post
Integration
test
PUSH to
registry
TEST
PULL
CONTAINER
YOUR CUSTOMERS
ARE HAPPY
@liuggio Giulio De Donato
14
Container registry and
service discovery
CONSUL
@liuggio Giulio De Donato
12 My pipeline (contd)
CODE
BUILD
CHOOSE
NODES
Register
Services
RUN
Containers
(blue-green)
Integration
tests
Configure
Proxy with
color
Post
Integration
test
PUSH to
registry
TEST
PULL
CONTAINER
YOUR CUSTOMERS
ARE HAPPY
@liuggio Giulio De Donato
15 Graceful Deployment (contd)
Load
Balancer
Web
New Web
Feature
@liuggio Giulio De Donato
16 You’ll need a lot of disk space
@liuggio Giulio De Donato
17 Resources ...
@liuggio Giulio De Donato
18
CONTAINER SERVICE A
CONTAINER SERVICE A
CONTAINER SERVICE A
CONTAINER SERVICE B
CONTAINER SERVICE B
CONTAINER SERVICE B
@liuggio Giulio De Donato
18 DNS SRV is your friend
CONTAINER SERVICE A
CONTAINER SERVICE A
CONTAINER SERVICE A
CONTAINER SERVICE B
CONTAINER SERVICE B
CONTAINER SERVICE B
@liuggio Giulio De Donato
18 DNS SRV is your friend
$ dig @192.168.99.100 bash_server.service.dc1.consul. SRV
@liuggio Giulio De Donato
$consulHost = "bash_server.service.dc1.consul.";
$results = dns_get_record($consulHost, DNS_SRV);
// $result["host"]
// $result["port"]
// $result["pri"]
// $result["weight"]
// $result["class"]
// $result["ttl"]
// $result["type"]
// $result["target"]
DNS SRV is your friend18
@liuggio Giulio De Donato
19 Use a log handler -visualize-
@liuggio Giulio De Donato
20 Fast is better
a
b
c
Small Images eg. Alpine ~5mb
DockerFile use layer cache wisely
Build could be slow
(if you don’t follow the docker-way)
d Bad performance on large files
WinningKeys
DEMO --- THE PERFECT ORCHESTRATION
EasilyDEPLOY
(LASTFEATUREPUSHED gracefully)
EasilyRollback
(LASTPUSHEDFEATUREgracefully)
Visualize
Share/Test/Commit/Merge
Infrastructure
liuggio
THE PERFECT ORCHESTRATION
Processes respect your needs and:
- The Lead time is SHORT
- The Feedback is FAST
- The Improvement loop is INFINITE
@liuggio Giulio De Donato
fewthings you have to Know in Ordertousedockerwith
OrchestrationinProductionlikeIdid,butnotreallylikeidid,
becauseIcried,Ireallycriedhard,sopleasedonotcrybecauselifeis
shortandyoushouldspendyourtimeenjoyingit.
ThankYou @liuggiojoind.in/talk/4b24e
@liuggio Giulio De Donato
● http://www.infoq.com/articles/continuous-deployment-containers
● devops 2.0 the book
● www.welcometothebundle.com/isolate-a-process-with-no-container-like-docker
● https://github.com/opencontainers/runtime-spec/blob/master/config-linux.md#namespaces
● https://www.opencontainers.org/news/faqs/who-will-be-initial-technical-leadership
● http://www.cyberciti.biz/faq/unix-linux-chroot-command-examples-usage-syntax/
● http://s0.cyberciti.org/uploads/faq/2013/01/bash-chroot-ls-demo.gif
● https://www.flockport.com/lxc-vs-docker/
● http://ramirose.wix.com/ramirosen
● https://lwn.net/Articles/532593/
● https://lwn.net/Articles/531114/
● https://unsplash.com/photos/6wQId4r0uA4
CREDITS

Weitere ähnliche Inhalte

Was ist angesagt?

C language in our world 2016
C language in our world 2016C language in our world 2016
C language in our world 2016Juraj Michálek
 
Dependency management in golang
Dependency management in golangDependency management in golang
Dependency management in golangRamit Surana
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructureRodrigo Stefani Domingues
 
Golang from Scala developer’s perspective
Golang from Scala developer’s perspectiveGolang from Scala developer’s perspective
Golang from Scala developer’s perspectiveSveta Bozhko
 
Build and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes worldBuild and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes worldJorge Morales
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageAniruddha Chakrabarti
 
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDaysThe world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDaysCodeOps Technologies LLP
 
Golang for PHP programmers: A practical introduction
Golang for PHP programmers: A practical introductionGolang for PHP programmers: A practical introduction
Golang for PHP programmers: A practical introductionRichard Tuin
 
Chromium OS Introduction
Chromium OS IntroductionChromium OS Introduction
Chromium OS IntroductionWei-Ning Huang
 
An introduction to_golang.avi
An introduction to_golang.aviAn introduction to_golang.avi
An introduction to_golang.aviSeongJae Park
 
Continuous integration is not a solved problem
Continuous integration is not a solved problemContinuous integration is not a solved problem
Continuous integration is not a solved problemKristian Van Der Vliet
 
Docker 101 - From production to development
Docker 101 - From production to developmentDocker 101 - From production to development
Docker 101 - From production to developmentRaül Pérez
 
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...Amazon Web Services
 
Montreal.rb ruby debugging basics - march 20th 2012
Montreal.rb   ruby debugging basics - march 20th 2012Montreal.rb   ruby debugging basics - march 20th 2012
Montreal.rb ruby debugging basics - march 20th 2012Rafael Rosa
 

Was ist angesagt? (20)

C language in our world 2016
C language in our world 2016C language in our world 2016
C language in our world 2016
 
Dependency management in golang
Dependency management in golangDependency management in golang
Dependency management in golang
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
Go, meet Lua
Go, meet LuaGo, meet Lua
Go, meet Lua
 
An introduction to programming in Go
An introduction to programming in GoAn introduction to programming in Go
An introduction to programming in Go
 
Golang from Scala developer’s perspective
Golang from Scala developer’s perspectiveGolang from Scala developer’s perspective
Golang from Scala developer’s perspective
 
GoLang Introduction
GoLang IntroductionGoLang Introduction
GoLang Introduction
 
Build and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes worldBuild and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes world
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
 
Development nightmares
Development nightmaresDevelopment nightmares
Development nightmares
 
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDaysThe world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
 
Golang for PHP programmers: A practical introduction
Golang for PHP programmers: A practical introductionGolang for PHP programmers: A practical introduction
Golang for PHP programmers: A practical introduction
 
Chromium OS Introduction
Chromium OS IntroductionChromium OS Introduction
Chromium OS Introduction
 
What did you inspec?
What did you inspec?What did you inspec?
What did you inspec?
 
An introduction to_golang.avi
An introduction to_golang.aviAn introduction to_golang.avi
An introduction to_golang.avi
 
Continuous integration is not a solved problem
Continuous integration is not a solved problemContinuous integration is not a solved problem
Continuous integration is not a solved problem
 
Docker 101 - From production to development
Docker 101 - From production to developmentDocker 101 - From production to development
Docker 101 - From production to development
 
Jedi knight
Jedi knightJedi knight
Jedi knight
 
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
 
Montreal.rb ruby debugging basics - march 20th 2012
Montreal.rb   ruby debugging basics - march 20th 2012Montreal.rb   ruby debugging basics - march 20th 2012
Montreal.rb ruby debugging basics - march 20th 2012
 

Ähnlich wie More developers on DevOps with Docker orchestration

[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...Ambassador Labs
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkRed Hat Developers
 
Clean code is not the goal - working software is
Clean code is not the goal - working software isClean code is not the goal - working software is
Clean code is not the goal - working software isEdorian
 
Pentesting an unfriendly environment: bypassing (un)common defences and mate ...
Pentesting an unfriendly environment: bypassing (un)common defences and mate ...Pentesting an unfriendly environment: bypassing (un)common defences and mate ...
Pentesting an unfriendly environment: bypassing (un)common defences and mate ...Sandro Zaccarini
 
Keedio Stack: BDaaS deployment for dummies by Alessio Comisso at Big Data Spa...
Keedio Stack: BDaaS deployment for dummies by Alessio Comisso at Big Data Spa...Keedio Stack: BDaaS deployment for dummies by Alessio Comisso at Big Data Spa...
Keedio Stack: BDaaS deployment for dummies by Alessio Comisso at Big Data Spa...Big Data Spain
 
DockerCon14 Contributing to Docker by Tianon
DockerCon14 Contributing to Docker by TianonDockerCon14 Contributing to Docker by Tianon
DockerCon14 Contributing to Docker by TianonDocker, Inc.
 
Docker: The Blue Whale of Awesomness
Docker: The Blue Whale of AwesomnessDocker: The Blue Whale of Awesomness
Docker: The Blue Whale of AwesomnessSigfred Balatan Jr.
 
Effective DevOps by using Docker and Chef together !
Effective DevOps by using Docker and Chef together !Effective DevOps by using Docker and Chef together !
Effective DevOps by using Docker and Chef together !WhiteHedge Technologies Inc.
 
Apt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stageApt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stageAlessandro Cinelli (cirpo)
 
Prepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/GreenPrepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/GreenSonatype
 
All Day DevOps 2016 Fabian - Defending Thyself with Blue Green
All Day DevOps 2016 Fabian - Defending Thyself with Blue GreenAll Day DevOps 2016 Fabian - Defending Thyself with Blue Green
All Day DevOps 2016 Fabian - Defending Thyself with Blue GreenFab L
 
Docker is killing your #devops Efforts
Docker is killing your #devops EffortsDocker is killing your #devops Efforts
Docker is killing your #devops EffortsKris Buytaert
 
Foundations for the perfect technology stream
Foundations for the perfect technology streamFoundations for the perfect technology stream
Foundations for the perfect technology streamBernd Alter
 
From dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneFrom dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneEdorian
 
Work shop - an introduction to the docker ecosystem
Work shop - an introduction to the docker ecosystemWork shop - an introduction to the docker ecosystem
Work shop - an introduction to the docker ecosystemJoão Pedro Harbs
 
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainFree The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainKen Collins
 
It takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff LindsayIt takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff LindsayDocker, Inc.
 

Ähnlich wie More developers on DevOps with Docker orchestration (20)

[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech Talk
 
Clean code is not the goal - working software is
Clean code is not the goal - working software isClean code is not the goal - working software is
Clean code is not the goal - working software is
 
Pentesting an unfriendly environment: bypassing (un)common defences and mate ...
Pentesting an unfriendly environment: bypassing (un)common defences and mate ...Pentesting an unfriendly environment: bypassing (un)common defences and mate ...
Pentesting an unfriendly environment: bypassing (un)common defences and mate ...
 
Keedio Stack: BDaaS deployment for dummies by Alessio Comisso at Big Data Spa...
Keedio Stack: BDaaS deployment for dummies by Alessio Comisso at Big Data Spa...Keedio Stack: BDaaS deployment for dummies by Alessio Comisso at Big Data Spa...
Keedio Stack: BDaaS deployment for dummies by Alessio Comisso at Big Data Spa...
 
DockerCon14 Contributing to Docker by Tianon
DockerCon14 Contributing to Docker by TianonDockerCon14 Contributing to Docker by Tianon
DockerCon14 Contributing to Docker by Tianon
 
Of Docker and Drupal
Of Docker and DrupalOf Docker and Drupal
Of Docker and Drupal
 
Docker: The Blue Whale of Awesomness
Docker: The Blue Whale of AwesomnessDocker: The Blue Whale of Awesomness
Docker: The Blue Whale of Awesomness
 
R meetup 20161011v2
R meetup 20161011v2R meetup 20161011v2
R meetup 20161011v2
 
Effective DevOps by using Docker and Chef together !
Effective DevOps by using Docker and Chef together !Effective DevOps by using Docker and Chef together !
Effective DevOps by using Docker and Chef together !
 
Apt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stageApt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stage
 
Prepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/GreenPrepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/Green
 
All Day DevOps 2016 Fabian - Defending Thyself with Blue Green
All Day DevOps 2016 Fabian - Defending Thyself with Blue GreenAll Day DevOps 2016 Fabian - Defending Thyself with Blue Green
All Day DevOps 2016 Fabian - Defending Thyself with Blue Green
 
Docker is killing your #devops Efforts
Docker is killing your #devops EffortsDocker is killing your #devops Efforts
Docker is killing your #devops Efforts
 
Going Cloud Native
Going Cloud NativeGoing Cloud Native
Going Cloud Native
 
Foundations for the perfect technology stream
Foundations for the perfect technology streamFoundations for the perfect technology stream
Foundations for the perfect technology stream
 
From dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneFrom dev to ops and beyond - getting it done
From dev to ops and beyond - getting it done
 
Work shop - an introduction to the docker ecosystem
Work shop - an introduction to the docker ecosystemWork shop - an introduction to the docker ecosystem
Work shop - an introduction to the docker ecosystem
 
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainFree The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
 
It takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff LindsayIt takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff Lindsay
 

Mehr von Giulio De Donato

Docker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuoDocker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuoGiulio De Donato
 
Lets isolate a process with no container like docker
Lets isolate a process with no container like dockerLets isolate a process with no container like docker
Lets isolate a process with no container like dockerGiulio De Donato
 
really really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfacesreally really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfacesGiulio De Donato
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microserviceGiulio De Donato
 
Json web token api authorization
Json web token api authorizationJson web token api authorization
Json web token api authorizationGiulio De Donato
 
Think horizontally ood, ddd and bdd
Think horizontally ood, ddd and bddThink horizontally ood, ddd and bdd
Think horizontally ood, ddd and bddGiulio De Donato
 
I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014Giulio De Donato
 
Benchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony applicationBenchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony applicationGiulio De Donato
 
Leaphly fight monolothic today
Leaphly fight monolothic todayLeaphly fight monolothic today
Leaphly fight monolothic todayGiulio De Donato
 
It's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspecIt's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspecGiulio De Donato
 
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentesDesign pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentesGiulio De Donato
 
Caching and data analysis will move your Symfony2 application to the next level
Caching and data analysis will move your Symfony2 application to the next levelCaching and data analysis will move your Symfony2 application to the next level
Caching and data analysis will move your Symfony2 application to the next levelGiulio De Donato
 
Rationally boost your symfony2 application with caching tips and monitoring
Rationally boost your symfony2 application with caching tips and monitoringRationally boost your symfony2 application with caching tips and monitoring
Rationally boost your symfony2 application with caching tips and monitoringGiulio De Donato
 

Mehr von Giulio De Donato (13)

Docker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuoDocker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuo
 
Lets isolate a process with no container like docker
Lets isolate a process with no container like dockerLets isolate a process with no container like docker
Lets isolate a process with no container like docker
 
really really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfacesreally really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfaces
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microservice
 
Json web token api authorization
Json web token api authorizationJson web token api authorization
Json web token api authorization
 
Think horizontally ood, ddd and bdd
Think horizontally ood, ddd and bddThink horizontally ood, ddd and bdd
Think horizontally ood, ddd and bdd
 
I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014
 
Benchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony applicationBenchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony application
 
Leaphly fight monolothic today
Leaphly fight monolothic todayLeaphly fight monolothic today
Leaphly fight monolothic today
 
It's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspecIt's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspec
 
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentesDesign pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
 
Caching and data analysis will move your Symfony2 application to the next level
Caching and data analysis will move your Symfony2 application to the next levelCaching and data analysis will move your Symfony2 application to the next level
Caching and data analysis will move your Symfony2 application to the next level
 
Rationally boost your symfony2 application with caching tips and monitoring
Rationally boost your symfony2 application with caching tips and monitoringRationally boost your symfony2 application with caching tips and monitoring
Rationally boost your symfony2 application with caching tips and monitoring
 

Kürzlich hochgeladen

Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 

Kürzlich hochgeladen (20)

Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 

More developers on DevOps with Docker orchestration

  • 1. moreDEVsonDEVOPSwith DOCKERORCHESTRATION All the Things you have to Know in OrdertousedockerwithOrchestrationinProductionlikeIdidbutnotreallylikeididitbecauseIcried,Ireallycriedhard,sopleasedonotcrybecauselifeisshortandyoushouldspendyourtimeenjoyingit.
  • 2. 2. @liuggio Giulio De Donato @liuggiowelcometothebundle.com
  • 3. moreDEVsonDEVOPSwith DOCKERORCHESTRATION All the Things you have to Know in OrdertousedockerwithOrchestrationinProductionlikeIdidbutnotreallylikeididitbecauseIcried,Ireallycriedhard,sopleasedonotcrybecauselifeisshortandyoushouldspendyourtimeenjoyingit.
  • 4. @liuggio Giulio De Donato 1 Docker Container!==
  • 5. @liuggio Giulio De Donato Virtualization !== ContainerContainer are mostly syscalls2
  • 6. @liuggio Giulio De Donato 3 It is all about while true; do mkdir x; cd x; done bomb() { bomb | bomb & }; bomb ISOLATION
  • 7. @liuggio Giulio De Donato 4 DevOps is ...
  • 8.
  • 10. ● VELOCITY ● Variation ● VisualizationLEAD TIME Threewaydevops:
  • 11. @liuggio Giulio De Donato Infrastructure like a managed application 5 Infrastructure like a managed application
  • 12. @liuggio Giulio De Donato 6 Use the FORCE One process per container
  • 13. @liuggio Giulio De Donato 7 Use the FORCE log to StdErr and StdOut
  • 14. @liuggio Giulio De Donato Can’t touch this8
  • 15. @liuggio Giulio De Donato 9 Use the FORCE Env. Variable all the things /etc/php5/fpm/pool.d/www.conf clear_env = no [www] env[MY_ENV_VAR_1] = 'value1' env[MY_ENV_VAR_2] = 'value2'
  • 16. @liuggio Giulio De Donato 10 Containers communication is easy
  • 17. NGINX PHP-FPM Data (code) php-cli @liuggio Giulio De Donato Cache DB 10 Containers communication is easy Backend expose port 80 ...Services
  • 18. NGINX PHP-FPM Data (code) php-cli @liuggio Giulio De Donato Cache DB 10 Containers communication is easy N N N N PHP PHP PHP CLI expose port 80 Load balancer ...Scale
  • 19. NGINX PHP-FPM Data (code) php-cli @liuggio Giulio De Donato 10 Containers communication is easy N N N N PHP PHP PHP CLI expose port 80 Load balancer NODE 3 NODE 2 NODE 1 ...Nodes
  • 20. NGINX PHP-FPM Data (code) php-cli @liuggio Giulio De Donato 10 Containers communication is easy Cache DB ...SubNet
  • 21. @liuggio Giulio De Donato 10 Containers communication is easy ...Microservices NGINX PHP-FPM Data (code) php-cli Cache DB NGINX PHP-FPM Data (code) php-cli Cache DB NGINX PHP-FPM Data (code) php-cli Cache DB NX FPM ode) cli Cache DB NGINX PHP-FPM Data (code) php-cli Cache DB NGINX PHP-FPM Data (code) php-cli Cache DB NGINX PHP-FP Data (cod php-cli NGINX PHP-FPM Data (code) php-cli Cache DB Cache DB NGINX PHP-FPM Data (code) php-cli Cache DB NGINX PHP-FPM Data (code) php-cli Cach DB NGINX PHP-FPM Data (code) php-cli Cache DB NGINX PHP-FPM Data (code) php-cli Cache DB NGINX PHP-FPM Data (code) php-cli Cache DB NGINX PHP-FPM Data (code) php-cli C
  • 22. @liuggio Giulio De Donato 10 Containers communication is easy NOT FOR HUMAN!!!!
  • 23. @liuggio Giulio De Donato 11 Orchestration !== Automation
  • 24. ● Kubernetes ● DockerCloud ● DOCKERUCP ● MESOS ● Provisioningtool(BASHISM/…) ● … DockerOrchestrationframeworks/tools
  • 25. @liuggio Giulio De Donato DEMO
  • 26. Devops: The last human action happens when you commit? @liuggio Giulio De Donato
  • 27. @liuggio Giulio De Donato 12 Understand your processes CODE TEST DEPLOY
  • 28. @liuggio Giulio De Donato 13 Blue Green Deployment Load Balancer Web Blue Web Green
  • 29. @liuggio Giulio De Donato 12 My pipeline (contd) CODE BUILD CHOOSE NODES Register Services RUN Containers (blue-green) Integration tests Configure Proxy with color Post Integration test PUSH to registry TEST PULL CONTAINER YOUR CUSTOMERS ARE HAPPY
  • 30. @liuggio Giulio De Donato 14 Container registry and service discovery
  • 32. @liuggio Giulio De Donato 12 My pipeline (contd) CODE BUILD CHOOSE NODES Register Services RUN Containers (blue-green) Integration tests Configure Proxy with color Post Integration test PUSH to registry TEST PULL CONTAINER YOUR CUSTOMERS ARE HAPPY
  • 33. @liuggio Giulio De Donato 15 Graceful Deployment (contd) Load Balancer Web New Web Feature
  • 34. @liuggio Giulio De Donato 16 You’ll need a lot of disk space
  • 35. @liuggio Giulio De Donato 17 Resources ...
  • 36. @liuggio Giulio De Donato 18 CONTAINER SERVICE A CONTAINER SERVICE A CONTAINER SERVICE A CONTAINER SERVICE B CONTAINER SERVICE B CONTAINER SERVICE B
  • 37. @liuggio Giulio De Donato 18 DNS SRV is your friend CONTAINER SERVICE A CONTAINER SERVICE A CONTAINER SERVICE A CONTAINER SERVICE B CONTAINER SERVICE B CONTAINER SERVICE B
  • 38. @liuggio Giulio De Donato 18 DNS SRV is your friend $ dig @192.168.99.100 bash_server.service.dc1.consul. SRV
  • 39. @liuggio Giulio De Donato $consulHost = "bash_server.service.dc1.consul."; $results = dns_get_record($consulHost, DNS_SRV); // $result["host"] // $result["port"] // $result["pri"] // $result["weight"] // $result["class"] // $result["ttl"] // $result["type"] // $result["target"] DNS SRV is your friend18
  • 40. @liuggio Giulio De Donato 19 Use a log handler -visualize-
  • 41. @liuggio Giulio De Donato 20 Fast is better a b c Small Images eg. Alpine ~5mb DockerFile use layer cache wisely Build could be slow (if you don’t follow the docker-way) d Bad performance on large files
  • 42. WinningKeys DEMO --- THE PERFECT ORCHESTRATION EasilyDEPLOY (LASTFEATUREPUSHED gracefully) EasilyRollback (LASTPUSHEDFEATUREgracefully) Visualize Share/Test/Commit/Merge Infrastructure liuggio
  • 43. THE PERFECT ORCHESTRATION Processes respect your needs and: - The Lead time is SHORT - The Feedback is FAST - The Improvement loop is INFINITE @liuggio Giulio De Donato
  • 44. fewthings you have to Know in Ordertousedockerwith OrchestrationinProductionlikeIdid,butnotreallylikeidid, becauseIcried,Ireallycriedhard,sopleasedonotcrybecauselifeis shortandyoushouldspendyourtimeenjoyingit. ThankYou @liuggiojoind.in/talk/4b24e
  • 45. @liuggio Giulio De Donato ● http://www.infoq.com/articles/continuous-deployment-containers ● devops 2.0 the book ● www.welcometothebundle.com/isolate-a-process-with-no-container-like-docker ● https://github.com/opencontainers/runtime-spec/blob/master/config-linux.md#namespaces ● https://www.opencontainers.org/news/faqs/who-will-be-initial-technical-leadership ● http://www.cyberciti.biz/faq/unix-linux-chroot-command-examples-usage-syntax/ ● http://s0.cyberciti.org/uploads/faq/2013/01/bash-chroot-ls-demo.gif ● https://www.flockport.com/lxc-vs-docker/ ● http://ramirose.wix.com/ramirosen ● https://lwn.net/Articles/532593/ ● https://lwn.net/Articles/531114/ ● https://unsplash.com/photos/6wQId4r0uA4 CREDITS

Hinweis der Redaktion

  1. This talk is for developers that know what docker is, And maybe they already use in dev, Or in test env. How many of you is using dokcer in dev? And in production? This would be a gentle introduction to Docker ----------- 6 Fino ll’1 exl Fino al devops 12min
  2. It is 2016 and Docker is everywhere, in the workshop, in the conferences, startup sites, including Amazon and services in google app engine with kubernetes, got billion on big fund, all the big companies are moving to this trend. Can you read the real title This talk is about all the thinks I think you have to know in order to start working in production with docker... A lot things to know Did you read the title? Did you carefully read the title? The docker ecosystem is very loudy, this has lead to much hype, and some disillusion, around this space. We are here to cut through some of this confusion, and explains how containers are actually being used within the enterprise. Is organized in things to know…
  3. The docker ecosystem is very loudy, this has lead to much hype, and some disillusion, around this space. ​ We are here to cut through some of this confusion, and explains how containers are actually being used within the enterprise. The developer worked hard to integrate … Things to know n1. Docker wasn’t a new technology... But the container story start really a lot of years ago Since 2002 this technology has made steps forward, thanks to different sponsors (IBM, Ubuntu, Google etc) Un po di storia... API! TODO storia So docker didn’t invent the container technology They added great marketing, great api, they added values and simplify the workflow for a developer Docker is a company is an open source organization that pushed forward allof this they used golang :) ---------- I held a workshop about docker and an attendee told me oh yes Docker i know the virtualization thing ------5min to devops
  4. Days ago when I talked to my friend about the workshop on docker I held, he said "ah the virtualization think?" … i answered yes but this association between virtualization and containers is conceptually similar but technically so far, Prima di arrivare alla ragione avete mai visto questa immagine, ovunque in tutti i talk si vede questa immagine, è semplice per simulare un isolamento non serve creare un altro systema operativo sopra al systema operativo esistente, eh no, Basta usare la tecnologia dei container che non sono altro che patch e syscall, Quindi non è virtualizzazione sono chiamate a sistema, l’isolamento è il problema. In 2012 Glauber Costa tells at the LinuxCon Europe: "I once heard That hypervisors are the living proof of operating system's incompetence" - Glauber Costa's - LinuxCon Europe 2012 Don’t you think that buying any hardware or create a sub-operating system (VM) only to defend against a fork bomb is a little too much?
  5. The bigger value Ci interessa veramente avere un sistema operativo diverso come host? Ci è sembrato che le VM potessero essere una idea geniale perche posso installare qualsiasi OS dentro un altro OS, ma il mercato ha dimostrato che la funzionalità e i casi di uso richeisti erano sopratutto basati sull’isolamento... Pensate a container come a scatole che eseguono uno o piu processi e che lo fanno in maniera isolata.
  6. Moving devs to devops I hope you know what development means :) Move to devops definition What is devops in order to move devs on devops We need to understand what devops is non c’è una risposta definitiva, cisno molte opinioni su cosa c’è sotto il tetto del devops e cosa no. è una cultura? è una job title? è un modo di organizzarsi o solo un modo di pensare, Possiamo anche pensare ad un movimento che sia in evoluzione, quindi non fermiamoci troppo nel dare una defizione adesso, Invece possiamo parlare di temi comuni, strumenti e idee. Nato con l’idea di migliorare il service delivery agility, il devops enfatizza la comunicazione, la collaborazione e l’integrazione tra software developer e IT operations. Piu che guardare questi in silos separati e paralleli, il DevOps riconosce che l’interdipendenza del software dev e IT operation e aiuta una organizzazione al fine di render Two silos : dev and ops Dev increase entropy Ops increase stability ----- devops fino (docker-way incluso) 14min 9 min fino a docker-way excl
  7. Moving devs to devops I hope you know what development means :) Move to devops definition What is devops in order to move devs on devops We need to understand what devops is non c’è una risposta definitiva, cisno molte opinioni su cosa c’è sotto il tetto del devops e cosa no. è una cultura? è una job title? è un modo di organizzarsi o solo un modo di pensare, Possiamo anche pensare ad un movimento che sia in evoluzione, quindi non fermiamoci troppo nel dare una defizione adesso, Invece possiamo parlare di temi comuni, strumenti e idee. Nato con l’idea di migliorare il service delivery agility, il devops enfatizza la comunicazione, la collaborazione e l’integrazione tra software developer e IT operations. Piu che guardare questi in silos separati e paralleli, il DevOps riconosce che l’interdipendenza del software dev e IT operation e aiuta una organizzazione al fine di render Two silos : dev and ops Dev increase entropy Ops increase stability
  8. A perfect storm of converging adjacent methodology including Agile, Operations Management (Systems Thinking & Dynamics), Theory of Constraints, LEAN and IT Service management came together in 2009 through a smattering of conferences, talks and Twitter (#devops) debates worldwide that eventually became the philosophy behind DevOps. Agile software development paved the way, steering away from the waterfall method of software development toward a continuous development cycle. Ma senza includere le operation side so while development could be continuous, deployment was still waterfall-oriented. In a DevOps environment, cross functionality, shared responsibilities and trust are promoted. DevOps essentially extends the continuous development goals of the Agile movement to continuous integration and release. In order to accommodate continuous releases, DevOps encourages automation of the change, configuration and release processes.
  9. An arrow with direction
  10. With the 3 way devops in mind in order to increase velocity, How do you handle your application? Do you use a versiong tool? Do you share easily? Can you rollback feature? Do you test it? Etc Quindi le regole di base è quella di disaccoppiare l’infrastruttura dall’applicazione e Gestire l’infrastruttura come una applicazione distinta Sharing the file, Reproduce Merge it Testing it…
  11. Tthe real difference with the Lcx (excluding the API) Is that on docker you have one process per container, Example in a webstack nginx-php-mysql you are not forced to it but is a Good practice Some in the community also says chat if you are migrating to docker Gentle migration but be careful because if you use orch. Tool It will default think that you are doing it.. Maybe at the beginning to this new methodologies But at the end you will understand that all the ecosystem will think about A container == a process .------------------ 7min to communication excl
  12. Docker the company really pushed the logging feature, You shouldn’t login to watch the error log because You will have thousand of container You will add variation manual activity Container are immutable ...
  13. Container immutable is not properly in the docker best practices but is on the devops best practices, Would be great if on github when you merge a new feature, the container like a box could be compiled Then this box is tested so you know is sane, And then you can move this box to production, that is tested, if you need to change it Why not you create a new feature and you create a new container so you can test it? If is immutable you can scale it, move across nodes (node for me are machines) Eg. don’t change, don’t upgrade version, don’t edit config file,
  14. Env in the container worlds are really important are used to pass property to different layers parameters (db etc) Is not a docker things is more a cloud platform as a services… In php you ST=1; echo $ST ST=2 echo $ST; #is still 1 :( ST=3 env | grep ST # is 3 WTF
  15. I container comincano solo in due modi, tramite i volumi e tramite le reti Docker pushes a lot of effort on improvmenton NETworks and volumes As we saw container should be read only immutible So easy in dev envonrment you have your simple way you have one container per service… Docker automatically modify /etc/hosts -----6 min fino a orch excl
  16. Let’s talk about a simple backend db and cache tier application You want to follow container per process you need nginx serves port 80, php-fpm ….. But this are services thatmeans that you can scale services with a randon container number A service is a group of container with the same image
  17. Container are great on scaling,
  18. Talking about nodes, per semplicità abbiamo tolto L’imporatante è avere il codice uno per nodo perche php-fpm and cli need the data on the filesystem in order to work, They need to mount it, The other services could be anywhere but they need to know where their dependences are… So we need to control where container are, each container will be
  19. Quindi abbiamo nginx che espose the 80 port to the external, we have php-fpm that communicate with nginx and must have access to the code, the db and the cache But we also have the commmand line interface the php commands we use it for migration, for cronjobs and the same way the C-L-I must communicate with cache, db and data… Can you recognize it? This is a mess! Eh immaginate invece di dividerli in container quante sottoreti e dati si devono colorare…
  20. Quindi abbiamo nginx che espose the 80 port to the external, we have php-fpm that communicate with nginx and must have access to the code, the db and the cache But we also have the commmand line interface the php commands we use it for migration, for cronjobs and the same way the C-L-I must communicate with cache, db and data… Can you recognize it? This is a mess! Eh immaginate invece di dividerli in container quante sottoreti e dati si devono colorare…
  21. Serve un qualcosa per automatizzare, la nostra regola madre ci dice che dobbiamo autmentare la velocity, diminuendo la variation Can you image handle all the subnet manually? Handle the Ip and change the ip on the load balance manually? Automation is the key… Orchestration is the key here… We need a tool that help us with infrastructures
  22. Overused word So we need something to automate and orchestrate our infrostracture OMG did I used in the same sentence orch e automate? Is bad CLICK … automation is not orchestration… Orchestration is when on domain processes Automation in about tasks So we need something to orchestrate the domain processes … In order to orchestrate our processes we need to understand what processes are...
  23. And there are some on the ecosystem using docker, This talk is intended to be orchestration agnostic, The community is an evolution Ma forse dobbiamo vedere il concetto un po piu da lontano forse l’orchestrazione cosa dovrebbe fare? Si abbiamo detto i processi aziendali ma quali? ---- Let’s dream for a moment on how would be the perfect pipeline… would be great when you finish to code a feature and you want to push that feature …
  24. Let’s dream for a moment on how would be the perfect pipeline… would be great when you finish to code a feature and you want to push that feature … https://asciinema.org/a/44936 Would be great to have the perfect orchestration, The perfect orchestration is that does all for you? Many of us have already experimented with Docker — for example, running one of the pre-built images from Docker Hub. It is possible that your team might have recognized the benefits that Docker, with experimentation, provides in building microservices and the advantages the technology could bring to development, testing, integration, and, ultimately, production. However, we must create a comprehensive build pipeline before deploying any containers into a live environment. Image we have an orchestration tool You are a developer so you create a new feature ... --------------------------------------------------------------------------------------------------------------- Last human action is when you push your code to a commit.
  25. Last human action is when you push your code to a commit. If you postpone the process and, for example, run it at the end of a sprint, neither testing nor deployment would be continuous but it depends from your company… But one things to say, postponing testing and deployment to production, you postpone the discovery of potential problems and as a result increase the effort required to correct them. Without testing, we have no guarantee that the service works. Without building it, there is nothing to deploy. Without deploying it, our users can’t benefit from the new release. Test: -> The tests would have a different complex infrastructure like mongo and other dep. You may want to extend your dockerfile for a test, and a docker-compose only for test purpose Build-> this is the simpler, you should compile and push to a container registry Deploy->
  26. It depends maybe starts from the processes Last human action is when you push your code to a commit. If you postpone the process and, for example, run it at the end of a sprint, neither testing nor deployment would be continuous. By postponing testing and deployment to production, you postpone the discovery of potential problems and as a result increase the effort required to correct them. Without testing, we have no guarantee that the service works. Without building it, there is nothing to deploy. Without deploying it, our users can’t benefit from the new release. Test: -> The tests would have a different complex infrastructure like mongo and other dep. You may want to extend your dockerfile for a test, and a docker-compose only for test purpose Build-> this is the simpler, you should compile and push to a container registry Deploy->
  27. Ricordo quando si facevano link simboli per risolvere l aggiunta di codice Provisioning tool like capistrano capifony… Ricordate quando i server venivano dati il nome perche un server era per sempre... Beh con i tool di provisioning un po...
  28. Ok eravamo al deploy quindi introducendo…
  29. QUalsiasi orchestratore usiate sicuramente se siete nell’abito di ambiente distribuito avrete a che fare con un service discovery/service registry Dato ch
  30. Cosa dovrebe fare? Perche è cosi utile? Perche proprio consul? È distribuito
  31. Ok eravamo al deploy quindi introducendo…
  32. Non ha garbace collector e non sa che cosa è da cancellare lo sai tu … Se si USA un frameworkdi astrazione è questo utilizza nodi attenzione a prendere nodi con poco disco distribuzione delle immagini
  33. Carefully set explicitly resources If you need at least 1gb of ram do no run thousand of container
  34. We said that communication is about net And identify a running container is ip:port is difficult How do you connect this? How to do you let container know where is the best container in the nearby?
  35. Do you know a protocl that convert name to ips? We said that communication is about net And identify a running container is ip:port is difficult How do you connect this? How to do you let container know where is the best container in the nearby?
  36. We said that communication is about net And identify a running container is ip:port is difficult You can avoid using a reverse proxy
  37. The developer worked hard to integrate ...hh
  38. The developer worked hard to integrate … You’ll need to know which container is slowing down You’ll need the output, and when You will need also the graph and a simple Yes is ok and no is bad. And for sure when you will evaluate grouping regexing… etc.
  39. Orchestrazione puo coinvolgere tante immagini e il build deve essere veloce Un solo servizio
  40. The developer worked hard to integrate ...