SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Riccardo Capecchi – Andrea Capriotti
Matteo Turra
2
Cineca - About UsCineca - About Us
Cineca is a non profit Consortium, made up of 70 Italian
universities*, 5 Italian Research Institutions and the
Italian Ministry of Education.
Today it is the largest Italian computing centre, one of the
most important worldwide. With around 700 employees, it
operates in the technological transfer sector through high
performance scientific computing, the management and
development of networks and web based services, and
the development of complex information systems for
treating large amounts of data.
3
Cineca OrganizationCineca Organization
In 2012:
● 5 Big Development teams (split in smaller
project teams)
● 1 Infrastructure Team (In charge of all services
and split to give support to the different dev
teams)
● 1 High Performance Computing team
4
Cineca OrganizationCineca Organization
5
Ops – How it used to beOps – How it used to be
● 2012 – Golden Image installation and
management of the configurations via overrides
6
Ops – Infrastructure as codeOps – Infrastructure as code
2013 – A corporate merge with Cilea and Caspur gave
us new goals to manage the new infrastructure and
merge the 3 Ops teams.
After a scouting of the best/more used tools we choose
to use puppet.
The 3 IT-Ops teams started a join project to write and
configure everything (related to Linux servers) with
Puppet.
With puppet we started also to use Git as VCS to keep
all puppet files.
7
Ops – Expanding our codeOps – Expanding our code
From 1 of January 2014 we started to manage all
our Linux installations with Puppet and started to
expand the modules base to manage more
services/configurations.
We also started a massive training of all Ops staff,
in around 2 months more than 60 people received
internal training regarding puppet.
8
Ops – AutomationOps – Automation
On 2015 we continued to expand our code in puppet
and started to integrate it with other tools such as
Nagios, Monit and Collectd to automatically get the
services with everything they needed to be
production-ready.
We also expanded our use of Jenkins to easily
manage and automate some common tasks.
On summer 2015 we received the task of re-make the
infrastrucure related to the application Pentaho.
9
Use Case:Use Case:
10
Use Case:Use Case:
New platform release to deliver on 80 customers on
premise and hosted infrastructure!
11
Platform ComponentsPlatform Components
Tomcat
+
a bunch of jars and wars
12
Use Case:Use Case:
NO PROBLEM!
I'm a Black Belt Tomcat Expert
13
Java WebApp deploymentJava WebApp deployment
● Oracle JDK 6/7
● Apache Tomcat
● Apache HTTPD with mod_jk
● Jar(s) & War(s)
● Some shell scripts
14
Mega Package!Mega Package!
Everytime a
little update
is needed …
i.e: Xalan bugfix
15
Solution: StandardizeSolution: Standardize
DEV ENVIRONMENT OPS ENVIRONMENT
DEV vs OPSDEV vs OPS
16
Interaction between DEV and OPS
17
Interaction between DEV and OPS
Developer
Operation
Merge
Request
Accept/Reject
Request
18
GitLab Web User Interface
19
Test Driven Puppet:Test Driven Puppet:
● How to test puppet scripts?
● Clean environment
● Reuse of code
● Side Effect: docker images
● From Puppet Apply to Pupper Agent
20
Provisioning: Docker vs PuppetProvisioning: Docker vs Puppet
● Puppet is slow but module are extremly powerful
● Dockerfile has limited configuration but very fast to build a
new image based on an existing one.
● Use slow puppet to build images (run once)
● Note:
– Puppet can be used for container provisioning
– Portability: The same image can be used in test, staging,
production and development, lowering the diversity of
environments
21
Deploy on DockerDeploy on Docker
● Now we have Docker images.
● Where do we store it?
● How can I run container for test, qa, production
environment?
● How to reach high-availability and scalability?
● OPS have the answer!
22
Docker swarmDocker swarm
● Turns a pool of Docker host machines into a
single virtual host
● Allows us to distribute container workloads
across multiple machines running in a cluster
● Serves the standard Docker API
● Ships with simple scheduling and discovery
backend
23
ConsulConsul
● Service discovery and configuration
● Failure detection
● Key/Value storage e DNS server
● Distributed and highly available system with
gossip protocol (Serf based)
24
RegistratorRegistrator
● Service registry bridge for docker
● Monitors the Docker UNIX socket for events
● Dynamically registering and unregistering
Docker container’s services
25
Docker registry
(Distribution)
Docker registry
(Distribution)
● Image registry to store and distribute images
● Private registry to host customer applications
● Test and continuous integration images
26
DockerUIDockerUI
● A web interface for docker
● Start, stop, kill, pause, restart and commit
containers
● Provide details about running containers
27
Log management: ElkLog management: Elk
● Central point to collect, manage and visualize
logs from all containers
Docker apps
28
Docker Swarm, Consul - RegistratorDocker Swarm, Consul - Registrator
29
Devops “done”, but we forgot ...Devops “done”, but we forgot ...
30
What we have nowWhat we have now
Puppet
~800 Installations of Linux servers fully managed via puppet
More than 100 modules
Training done on ops and some dev
Dev can do merge-request to apply change to infrastructure
Docker
Procedures to build images from puppet recipes
Test done on a full docker environment
Training done on dev AND ops.
Openshift
Orchestration of containers
Manage RBAC for dev and ops
31
ConclusionsConclusions
Devops in practice it's more about organization than
tools and softwares.
But tools can help in day by day operations, using
gitlab we have been able to give RBAC access to
different Git repositories
A lot of training is needed on both sides, learning the
best dev practice to ops people and viceversa.
After months of work together to find a solution we
“forgot” to detail it to our CTO, and so he was
thinking we were on stale, lesson learnt.
32
How it endedHow it ended
33
QuestionsQuestions

Weitere ähnliche Inhalte

Was ist angesagt?

Docker + Microservices in Production
Docker + Microservices in ProductionDocker + Microservices in Production
Docker + Microservices in Production
Patrick Mizer
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
Patrick Mizer
 

Was ist angesagt? (20)

From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
 
What’s New in Docker - Victor Vieux, Docker
What’s New in Docker - Victor Vieux, DockerWhat’s New in Docker - Victor Vieux, Docker
What’s New in Docker - Victor Vieux, Docker
 
Dockerize Laravel Application
Dockerize Laravel ApplicationDockerize Laravel Application
Dockerize Laravel Application
 
Taking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and DecideTaking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and Decide
 
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
 
Docker - From Walking To Running
Docker - From Walking To RunningDocker - From Walking To Running
Docker - From Walking To Running
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode
 
Docker + Microservices in Production
Docker + Microservices in ProductionDocker + Microservices in Production
Docker + Microservices in Production
 
RKT
RKTRKT
RKT
 
DockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with DockerDockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with Docker
 
Jenkins & IaC
Jenkins & IaCJenkins & IaC
Jenkins & IaC
 
Kubelet with no Kubernetes Masters | DevNation Tech Talk
Kubelet with no Kubernetes Masters | DevNation Tech TalkKubelet with no Kubernetes Masters | DevNation Tech Talk
Kubelet with no Kubernetes Masters | DevNation Tech Talk
 
Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014
 
Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)
 
jbang: Unleash the power of Java for shell scripting
jbang: Unleash the power of Java for shell scriptingjbang: Unleash the power of Java for shell scripting
jbang: Unleash the power of Java for shell scripting
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
DockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @Orbitz
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
 
МИХАЙЛО ЗЕНІН «Dockerizing environment for mobile test automation. Scaling fr...
МИХАЙЛО ЗЕНІН «Dockerizing environment for mobile test automation. Scaling fr...МИХАЙЛО ЗЕНІН «Dockerizing environment for mobile test automation. Scaling fr...
МИХАЙЛО ЗЕНІН «Dockerizing environment for mobile test automation. Scaling fr...
 
Automatically Renew Certificated In Your Kubernetes Cluster
Automatically Renew Certificated In Your Kubernetes ClusterAutomatically Renew Certificated In Your Kubernetes Cluster
Automatically Renew Certificated In Your Kubernetes Cluster
 

Ähnlich wie devops@cineca

OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware
 
Automation for the Modern Enterprise_26oct2017
Automation for the Modern Enterprise_26oct2017Automation for the Modern Enterprise_26oct2017
Automation for the Modern Enterprise_26oct2017
Claire Priester Papas
 

Ähnlich wie devops@cineca (20)

Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
Accelerate your Journey to Pervasive Automation 05.03.2018
Accelerate your Journey to Pervasive Automation 05.03.2018Accelerate your Journey to Pervasive Automation 05.03.2018
Accelerate your Journey to Pervasive Automation 05.03.2018
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
Pydata 2020 containers meetup
Pydata  2020 containers meetup Pydata  2020 containers meetup
Pydata 2020 containers meetup
 
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
 
Run automated tests in Docker
Run automated tests in DockerRun automated tests in Docker
Run automated tests in Docker
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General Session
 
PuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, Puppet
PuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, PuppetPuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, Puppet
PuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, Puppet
 
Docker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott CoultonDocker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott Coulton
 
Build and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkinsBuild and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkins
 
Meet Puppet's new product lineup 12/7/2017
Meet Puppet's new product lineup 12/7/2017Meet Puppet's new product lineup 12/7/2017
Meet Puppet's new product lineup 12/7/2017
 
Lessons Learned: Continuous Deployment For Docker (presented at Cloud Expo We...
Lessons Learned: Continuous Deployment For Docker (presented at Cloud Expo We...Lessons Learned: Continuous Deployment For Docker (presented at Cloud Expo We...
Lessons Learned: Continuous Deployment For Docker (presented at Cloud Expo We...
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshift
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 
Automation for the Modern Enterprise_26oct2017
Automation for the Modern Enterprise_26oct2017Automation for the Modern Enterprise_26oct2017
Automation for the Modern Enterprise_26oct2017
 

Kürzlich hochgeladen

Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
amilabibi1
 

Kürzlich hochgeladen (18)

The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
 
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verifiedSector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 

devops@cineca

  • 1. Riccardo Capecchi – Andrea Capriotti Matteo Turra
  • 2. 2 Cineca - About UsCineca - About Us Cineca is a non profit Consortium, made up of 70 Italian universities*, 5 Italian Research Institutions and the Italian Ministry of Education. Today it is the largest Italian computing centre, one of the most important worldwide. With around 700 employees, it operates in the technological transfer sector through high performance scientific computing, the management and development of networks and web based services, and the development of complex information systems for treating large amounts of data.
  • 3. 3 Cineca OrganizationCineca Organization In 2012: ● 5 Big Development teams (split in smaller project teams) ● 1 Infrastructure Team (In charge of all services and split to give support to the different dev teams) ● 1 High Performance Computing team
  • 5. 5 Ops – How it used to beOps – How it used to be ● 2012 – Golden Image installation and management of the configurations via overrides
  • 6. 6 Ops – Infrastructure as codeOps – Infrastructure as code 2013 – A corporate merge with Cilea and Caspur gave us new goals to manage the new infrastructure and merge the 3 Ops teams. After a scouting of the best/more used tools we choose to use puppet. The 3 IT-Ops teams started a join project to write and configure everything (related to Linux servers) with Puppet. With puppet we started also to use Git as VCS to keep all puppet files.
  • 7. 7 Ops – Expanding our codeOps – Expanding our code From 1 of January 2014 we started to manage all our Linux installations with Puppet and started to expand the modules base to manage more services/configurations. We also started a massive training of all Ops staff, in around 2 months more than 60 people received internal training regarding puppet.
  • 8. 8 Ops – AutomationOps – Automation On 2015 we continued to expand our code in puppet and started to integrate it with other tools such as Nagios, Monit and Collectd to automatically get the services with everything they needed to be production-ready. We also expanded our use of Jenkins to easily manage and automate some common tasks. On summer 2015 we received the task of re-make the infrastrucure related to the application Pentaho.
  • 10. 10 Use Case:Use Case: New platform release to deliver on 80 customers on premise and hosted infrastructure!
  • 12. 12 Use Case:Use Case: NO PROBLEM! I'm a Black Belt Tomcat Expert
  • 13. 13 Java WebApp deploymentJava WebApp deployment ● Oracle JDK 6/7 ● Apache Tomcat ● Apache HTTPD with mod_jk ● Jar(s) & War(s) ● Some shell scripts
  • 14. 14 Mega Package!Mega Package! Everytime a little update is needed … i.e: Xalan bugfix
  • 15. 15 Solution: StandardizeSolution: Standardize DEV ENVIRONMENT OPS ENVIRONMENT DEV vs OPSDEV vs OPS
  • 17. 17 Interaction between DEV and OPS Developer Operation Merge Request Accept/Reject Request
  • 18. 18 GitLab Web User Interface
  • 19. 19 Test Driven Puppet:Test Driven Puppet: ● How to test puppet scripts? ● Clean environment ● Reuse of code ● Side Effect: docker images ● From Puppet Apply to Pupper Agent
  • 20. 20 Provisioning: Docker vs PuppetProvisioning: Docker vs Puppet ● Puppet is slow but module are extremly powerful ● Dockerfile has limited configuration but very fast to build a new image based on an existing one. ● Use slow puppet to build images (run once) ● Note: – Puppet can be used for container provisioning – Portability: The same image can be used in test, staging, production and development, lowering the diversity of environments
  • 21. 21 Deploy on DockerDeploy on Docker ● Now we have Docker images. ● Where do we store it? ● How can I run container for test, qa, production environment? ● How to reach high-availability and scalability? ● OPS have the answer!
  • 22. 22 Docker swarmDocker swarm ● Turns a pool of Docker host machines into a single virtual host ● Allows us to distribute container workloads across multiple machines running in a cluster ● Serves the standard Docker API ● Ships with simple scheduling and discovery backend
  • 23. 23 ConsulConsul ● Service discovery and configuration ● Failure detection ● Key/Value storage e DNS server ● Distributed and highly available system with gossip protocol (Serf based)
  • 24. 24 RegistratorRegistrator ● Service registry bridge for docker ● Monitors the Docker UNIX socket for events ● Dynamically registering and unregistering Docker container’s services
  • 25. 25 Docker registry (Distribution) Docker registry (Distribution) ● Image registry to store and distribute images ● Private registry to host customer applications ● Test and continuous integration images
  • 26. 26 DockerUIDockerUI ● A web interface for docker ● Start, stop, kill, pause, restart and commit containers ● Provide details about running containers
  • 27. 27 Log management: ElkLog management: Elk ● Central point to collect, manage and visualize logs from all containers Docker apps
  • 28. 28 Docker Swarm, Consul - RegistratorDocker Swarm, Consul - Registrator
  • 29. 29 Devops “done”, but we forgot ...Devops “done”, but we forgot ...
  • 30. 30 What we have nowWhat we have now Puppet ~800 Installations of Linux servers fully managed via puppet More than 100 modules Training done on ops and some dev Dev can do merge-request to apply change to infrastructure Docker Procedures to build images from puppet recipes Test done on a full docker environment Training done on dev AND ops. Openshift Orchestration of containers Manage RBAC for dev and ops
  • 31. 31 ConclusionsConclusions Devops in practice it's more about organization than tools and softwares. But tools can help in day by day operations, using gitlab we have been able to give RBAC access to different Git repositories A lot of training is needed on both sides, learning the best dev practice to ops people and viceversa. After months of work together to find a solution we “forgot” to detail it to our CTO, and so he was thinking we were on stale, lesson learnt.
  • 32. 32 How it endedHow it ended