SlideShare une entreprise Scribd logo
FTTH Factory
An illustration of the “Everything as Code” paradigm
Raphaël Pinson @raphink
www.camptocamp.com
Who am I?
■ Raphaël Pinson
aka Raphink
■ Infrastructure Developer &
Trainer
■ Automation
(Puppet, Augeas, Docker,
Kubernetes, Terraform)
■ Lausanne, CH
www.camptocamp.com
Camptocamp
www.camptocamp.com
Camptocamp Infrastructure Department
■ Involved in Open Source communities
(Puppet, Terraform, Rancher)
■ 14 Systems Engineers
■ Manages ~800 servers
■ Partnerships
SWITZERLAND
GERMANY
www.camptocamp.com
Measurements inside FTTH-factory
Leverages
Measurements
2D & 3D data
collections
Identification of
objects and surfaces
1
Data
conflation
Shift to UTM
spatial corrections
2
Automated
planning
optimized planning
based on detected
surfaces
3
Simplified
purchase
processes
All inclusive prices
for fixed offers
4
Digital plan
corrections
APP based mapping
of trenches
5
www.camptocamp.com
Why Automate?
■ Repetitive task error prone⇒
■ Dev / Int / prod
■ Define once, reuse many times
www.camptocamp.com
3 Ways of Managing Cloud Resources
■ Web Interface
○ easy, not flexible, not reproducible
■ CLI
○ flexible, not easily reproducible
■ As Code
○ flexible, reproducible, + collaboration
7
www.camptocamp.com
Infrastructure Technology Stack
www.camptocamp.com
PROVISIONING AS CODE
Cloud Infrastructure Automation
■ TOOLS: OPENSTACK & TERRAFORM
○ Provision networks, security groups, etc. from code
○ Provision VMs and orchestrate their deployment from code
○ Support for multiple cloud providers and third party tools
■ BENEFITS
○ Full control of all cloud resources
○ Reproductibility of environments
○ Easy decommissioning
www.camptocamp.com
PROVISIONING AS CODE
Case Study: Provision a Development Environment
■ OBJECTIVE
Deploy Development and Production Environments
in a fully automated way
■ IMPLEMENTATION
Terraform is used to:
○ provision networks and nodes, integrate with Puppet/Ansible
■ BENEFITS
○ Fully automated, extremely fast deployment of deployments
○ All resources managed in one location
www.camptocamp.com
CONFIGURATION MANAGEMENT
Maintaining Machine State
■ TOOLS: TWO APPROACHES
○ Pull approach (Cfgmgmt): Cfengine, Puppet, Chef
○ Push approach (deploy): Ansible, Salt
■ BENEFITS
○ No manual management of nodes
○ Reproductibility of nodes
○ Inventory
○ More confidence in environments and deployments
www.camptocamp.com
CONFIGURATION MANAGEMENT
Case Study: Manage Server Fleet with Puppet
■ OBJECTIVE
Manage configuration for ~50 servers in two environments
■ IMPLEMENTATION
○ Puppet Open Source (Camptocamp’s Dockerized Stack)
○ DBs managed with Puppet
○ Identity Management
■ BENEFITS
○ Very fast setup of new nodes
○ Dynamic, up-to-date inventory
○ Nodes are kept up-to-date with their target configuration
www.camptocamp.com
DEPLOYMENT AS CODE
Deploying Complex Software
■ TOOLS: ANSIBLE, BOLT
○ Orchestration of multi-node deployments with dependencies
■ BENEFITS
○ Reproductibility of deployments
○ More confidence in deployments
www.camptocamp.com
DEPLOYMENT AS CODE
Case Study: OpenShift Deployment
■ OBJECTIVE
Deploy an OpenShift cluster, with various roles
and inter-nodes dependencies.
■ IMPLEMENTATION
Red Hat provides Ansible playbooks to deploy an OpenShift cluster.
■ BENEFITS
○ Fully automated OpenShift deployment
○ Much easier/faster to deploy new nodes in the cluster
www.camptocamp.com
CONTAINER ORCHESTRATION
Containerized Application Deployment as Code
■ TOOLS: OPENSHIFT & HELM
○ Gather all Kubernetes objects in one package
■ BENEFITS
○ Distribute applications as catalog entries
○ Fully customizable packages
www.camptocamp.com
CONTAINER ORCHESTRATION
Case Study: Puppet Stack Deployment with Helm
■ OBJECTIVE
Deploy GIS applications (geOrchestra) on OpenShift
■ IMPLEMENTATION
○ Helm charts for each component
○ Helmfile for full stacks
■ BENEFITS
○ Easily deploy a complex application on OpenShift
○ Parameters and secrets passed to templates
www.camptocamp.com
CONTINUOUS INTEGRATION
CI/CD Pipelines as Code
■ TOOLS: JENKINS
○ Continuous Integration platform
○ Integrates with multiple Version Control Systems
○ Allows to build pipelines
○ CI/CD as Code with Jenkinsfile
○ Extensible with Groovy code
■ BENEFITS
○ Flexible way to program CI/CD tasks
○ Portable to other Jenkins instances
○ Pipeline approach
www.camptocamp.com
CONTINUOUS INTEGRATION
Case Study: CI/CD with OpenShift
■ OBJECTIVE
○ Automatically deploy a GIS multi-tiered application
from code with OpenShift
■ IMPLEMENTATION
○ Use ImageStreams with OpenShift builds (using Jenkins)
and Jenkinsfile, along with triggers for deployment.
■ BENEFITS
○ Fully automated pipeline workflow for developers,
with automated checks and triggers.
www.camptocamp.com
OBSERVABILITY AS CODE
Logs, Metrics & Monitoring
■ TOOLS: ELK, PROMETHEUS, GRAFANA
○ Gather logs & metrics
○ Provide code for data processing and dashboards
■ BENEFITS
○ Prometheus time series provide
a flexible query language
○ JSON dashboards provide portability
www.camptocamp.com
OBSERVABILITY AS CODE
Case Study: Monitor Puppet resources and performance
■ OBJECTIVE
Gather performance metrics for the Puppet stack,
both on the server and agents.
■ IMPLEMENTATION
○ The Puppet prometheus_reporter module
provides a report plugin to collect agent data
○ JMX for internal Puppet Enterprise server metrics,
gathered in Prometheus
■ BENEFITS
Easily deployed dashboards with tuned metrics and monitoring.
www.camptocamp.com
BACKUPS AS CODE
Automate Backups of Container Volumes
■ TOOLS: KUBERNETES AND BIVAC
○ Automatic backups of PVCs
○ Tune backup parameters with Labels
■ BENEFITS
○ Allow users of container platforms
○ to choose with Data Volumes to backup
○ Allow users to tune how backups are performed
www.camptocamp.com
BACKUPS AS CODE
Case Study: Backup Data Volumes in OpenShift
■ OBJECTIVE
○ Provide an API for developers to backup their Data Volumes.
■ IMPLEMENTATION
○ The Bivac stack is deployed on OpenShift projects
to detect and backup Physical Volume Claims automatically.
■ BENEFITS
○ Backup container data where it is stored and let users
tune how to perform the backup.
www.camptocamp.com
CONCLUSION
Everything as Code
■ TOOLS
○ Many open-source tools to automate:
■ Systems Administration
■ Software Testing and Deployment
■ BENEFITS
○ Increased flexibility
○ Increased collaboration between teams
○ DevOps everything
FTTH Factory — an illustration of the "Everything as Code" paradigm

Contenu connexe

Tendances

Paris.py
Paris.pyParis.py
Digital auto tracking
Digital auto trackingDigital auto tracking
Digital auto tracking
Antonio Garruzzo
 
Containerize ovs ovn components
Containerize ovs ovn componentsContainerize ovs ovn components
Containerize ovs ovn components
Aliasgar Ginwala
 
Clustering tensor flow con kubernetes y raspberry pi
Clustering tensor flow con kubernetes y raspberry piClustering tensor flow con kubernetes y raspberry pi
Clustering tensor flow con kubernetes y raspberry pi
Andrés Leonardo Martinez Ortiz
 
LAS16-211: Using LAVA V2 for advanced KVM testing
LAS16-211: Using LAVA V2 for advanced KVM testingLAS16-211: Using LAVA V2 for advanced KVM testing
LAS16-211: Using LAVA V2 for advanced KVM testing
Linaro
 
.NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)
ITCamp
 

Tendances (6)

Paris.py
Paris.pyParis.py
Paris.py
 
Digital auto tracking
Digital auto trackingDigital auto tracking
Digital auto tracking
 
Containerize ovs ovn components
Containerize ovs ovn componentsContainerize ovs ovn components
Containerize ovs ovn components
 
Clustering tensor flow con kubernetes y raspberry pi
Clustering tensor flow con kubernetes y raspberry piClustering tensor flow con kubernetes y raspberry pi
Clustering tensor flow con kubernetes y raspberry pi
 
LAS16-211: Using LAVA V2 for advanced KVM testing
LAS16-211: Using LAVA V2 for advanced KVM testingLAS16-211: Using LAVA V2 for advanced KVM testing
LAS16-211: Using LAVA V2 for advanced KVM testing
 
.NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)
 

Similaire à FTTH Factory — an illustration of the "Everything as Code" paradigm

Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10
MagaliDavidCruz
 
CloudStack and LINBIT SDS Integration
CloudStack and LINBIT SDS IntegrationCloudStack and LINBIT SDS Integration
CloudStack and LINBIT SDS Integration
ShapeBlue
 
Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016
aspyker
 
Scheduling a fuller house - Talk at QCon NY 2016
Scheduling a fuller house - Talk at QCon NY 2016Scheduling a fuller house - Talk at QCon NY 2016
Scheduling a fuller house - Talk at QCon NY 2016
Sharma Podila
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
C4Media
 
Openshift service broker and catalog ocp-meetup july 2018
Openshift service broker and catalog  ocp-meetup july 2018Openshift service broker and catalog  ocp-meetup july 2018
Openshift service broker and catalog ocp-meetup july 2018
Michael Calizo
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
All Things Open
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
NETWAYS
 
Cloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachCloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps Approach
Nicola Ferraro
 
reBuy on Kubernetes
reBuy on KubernetesreBuy on Kubernetes
reBuy on Kubernetes
Stephan Lindauer
 
Prometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingPrometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is coming
Julien Pivotto
 
Scaling Up Logging and Metrics
Scaling Up Logging and MetricsScaling Up Logging and Metrics
Scaling Up Logging and Metrics
Ricardo Lourenço
 
Agile Integration Workshop
Agile Integration WorkshopAgile Integration Workshop
Agile Integration Workshop
Judy Breedlove
 
OpenStack Best Practices and Considerations - terasky tech day
OpenStack Best Practices and Considerations  - terasky tech dayOpenStack Best Practices and Considerations  - terasky tech day
OpenStack Best Practices and Considerations - terasky tech day
Arthur Berezin
 
What's New with Ceph - Ceph Day Silicon Valley
What's New with Ceph - Ceph Day Silicon ValleyWhat's New with Ceph - Ceph Day Silicon Valley
What's New with Ceph - Ceph Day Silicon Valley
Ceph Community
 
2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard
Ceph Community
 
HPC on OpenStack
HPC on OpenStackHPC on OpenStack
HPC on OpenStack
Erich Birngruber
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
NETWAYS
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper API
Chang W. Doh
 
Building a Next-gen Data Platform and Leveraging the OSS Ecosystem for Easy W...
Building a Next-gen Data Platform and Leveraging the OSS Ecosystem for Easy W...Building a Next-gen Data Platform and Leveraging the OSS Ecosystem for Easy W...
Building a Next-gen Data Platform and Leveraging the OSS Ecosystem for Easy W...
StampedeCon
 

Similaire à FTTH Factory — an illustration of the "Everything as Code" paradigm (20)

Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10
 
CloudStack and LINBIT SDS Integration
CloudStack and LINBIT SDS IntegrationCloudStack and LINBIT SDS Integration
CloudStack and LINBIT SDS Integration
 
Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016
 
Scheduling a fuller house - Talk at QCon NY 2016
Scheduling a fuller house - Talk at QCon NY 2016Scheduling a fuller house - Talk at QCon NY 2016
Scheduling a fuller house - Talk at QCon NY 2016
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
Openshift service broker and catalog ocp-meetup july 2018
Openshift service broker and catalog  ocp-meetup july 2018Openshift service broker and catalog  ocp-meetup july 2018
Openshift service broker and catalog ocp-meetup july 2018
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
 
Cloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachCloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps Approach
 
reBuy on Kubernetes
reBuy on KubernetesreBuy on Kubernetes
reBuy on Kubernetes
 
Prometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingPrometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is coming
 
Scaling Up Logging and Metrics
Scaling Up Logging and MetricsScaling Up Logging and Metrics
Scaling Up Logging and Metrics
 
Agile Integration Workshop
Agile Integration WorkshopAgile Integration Workshop
Agile Integration Workshop
 
OpenStack Best Practices and Considerations - terasky tech day
OpenStack Best Practices and Considerations  - terasky tech dayOpenStack Best Practices and Considerations  - terasky tech day
OpenStack Best Practices and Considerations - terasky tech day
 
What's New with Ceph - Ceph Day Silicon Valley
What's New with Ceph - Ceph Day Silicon ValleyWhat's New with Ceph - Ceph Day Silicon Valley
What's New with Ceph - Ceph Day Silicon Valley
 
2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard
 
HPC on OpenStack
HPC on OpenStackHPC on OpenStack
HPC on OpenStack
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper API
 
Building a Next-gen Data Platform and Leveraging the OSS Ecosystem for Easy W...
Building a Next-gen Data Platform and Leveraging the OSS Ecosystem for Easy W...Building a Next-gen Data Platform and Leveraging the OSS Ecosystem for Easy W...
Building a Next-gen Data Platform and Leveraging the OSS Ecosystem for Easy W...
 

Plus de Raphaël PINSON

Explore the World of Cilium, Tetragon & eBPF
Explore the World of Cilium, Tetragon & eBPFExplore the World of Cilium, Tetragon & eBPF
Explore the World of Cilium, Tetragon & eBPF
Raphaël PINSON
 
Cfgmgmtcamp 2024 — eBPF-based Security Observability & Runtime Enforcement wi...
Cfgmgmtcamp 2024 — eBPF-based Security Observability & Runtime Enforcement wi...Cfgmgmtcamp 2024 — eBPF-based Security Observability & Runtime Enforcement wi...
Cfgmgmtcamp 2024 — eBPF-based Security Observability & Runtime Enforcement wi...
Raphaël PINSON
 
ContainerDays Hamburg 2023 — Cilium Workshop.pdf
ContainerDays Hamburg 2023 — Cilium Workshop.pdfContainerDays Hamburg 2023 — Cilium Workshop.pdf
ContainerDays Hamburg 2023 — Cilium Workshop.pdf
Raphaël PINSON
 
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdfKCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
Raphaël PINSON
 
Cloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust VisibilityCloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust Visibility
Raphaël PINSON
 
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...
Raphaël PINSON
 
Révolution eBPF - un noyau dynamique
Révolution eBPF - un noyau dynamiqueRévolution eBPF - un noyau dynamique
Révolution eBPF - un noyau dynamique
Raphaël PINSON
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
Raphaël PINSON
 
Cloud Native Networking & Security with Cilium & eBPF
Cloud Native Networking & Security with Cilium & eBPFCloud Native Networking & Security with Cilium & eBPF
Cloud Native Networking & Security with Cilium & eBPF
Raphaël PINSON
 
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf
Raphaël PINSON
 
SKS in git ops mode
SKS in git ops modeSKS in git ops mode
SKS in git ops mode
Raphaël PINSON
 
The Hare and the Tortoise: Open Source, Standards & Technological Debt
The Hare and the Tortoise: Open Source, Standards & Technological DebtThe Hare and the Tortoise: Open Source, Standards & Technological Debt
The Hare and the Tortoise: Open Source, Standards & Technological Debt
Raphaël PINSON
 
Devops stack
Devops stackDevops stack
Devops stack
Raphaël PINSON
 
YAML Engineering: why we need a new paradigm
YAML Engineering: why we need a new paradigmYAML Engineering: why we need a new paradigm
YAML Engineering: why we need a new paradigm
Raphaël PINSON
 
K9s - Kubernetes CLI To Manage Your Clusters In Style
K9s - Kubernetes CLI To Manage Your Clusters In StyleK9s - Kubernetes CLI To Manage Your Clusters In Style
K9s - Kubernetes CLI To Manage Your Clusters In Style
Raphaël PINSON
 
Argocd up and running
Argocd up and runningArgocd up and running
Argocd up and running
Raphaël PINSON
 
Automating Puppet Certificates Renewal
Automating Puppet Certificates RenewalAutomating Puppet Certificates Renewal
Automating Puppet Certificates Renewal
Raphaël PINSON
 
Running the Puppet Stack in Containers
Running the Puppet Stack in ContainersRunning the Puppet Stack in Containers
Running the Puppet Stack in Containers
Raphaël PINSON
 
Automating Puppet Certificates Renewal
Automating Puppet Certificates RenewalAutomating Puppet Certificates Renewal
Automating Puppet Certificates Renewal
Raphaël PINSON
 
Narcissus — mapping configs in Go
Narcissus — mapping configs in GoNarcissus — mapping configs in Go
Narcissus — mapping configs in Go
Raphaël PINSON
 

Plus de Raphaël PINSON (20)

Explore the World of Cilium, Tetragon & eBPF
Explore the World of Cilium, Tetragon & eBPFExplore the World of Cilium, Tetragon & eBPF
Explore the World of Cilium, Tetragon & eBPF
 
Cfgmgmtcamp 2024 — eBPF-based Security Observability & Runtime Enforcement wi...
Cfgmgmtcamp 2024 — eBPF-based Security Observability & Runtime Enforcement wi...Cfgmgmtcamp 2024 — eBPF-based Security Observability & Runtime Enforcement wi...
Cfgmgmtcamp 2024 — eBPF-based Security Observability & Runtime Enforcement wi...
 
ContainerDays Hamburg 2023 — Cilium Workshop.pdf
ContainerDays Hamburg 2023 — Cilium Workshop.pdfContainerDays Hamburg 2023 — Cilium Workshop.pdf
ContainerDays Hamburg 2023 — Cilium Workshop.pdf
 
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdfKCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
 
Cloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust VisibilityCloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust Visibility
 
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...
 
Révolution eBPF - un noyau dynamique
Révolution eBPF - un noyau dynamiqueRévolution eBPF - un noyau dynamique
Révolution eBPF - un noyau dynamique
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
 
Cloud Native Networking & Security with Cilium & eBPF
Cloud Native Networking & Security with Cilium & eBPFCloud Native Networking & Security with Cilium & eBPF
Cloud Native Networking & Security with Cilium & eBPF
 
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf
 
SKS in git ops mode
SKS in git ops modeSKS in git ops mode
SKS in git ops mode
 
The Hare and the Tortoise: Open Source, Standards & Technological Debt
The Hare and the Tortoise: Open Source, Standards & Technological DebtThe Hare and the Tortoise: Open Source, Standards & Technological Debt
The Hare and the Tortoise: Open Source, Standards & Technological Debt
 
Devops stack
Devops stackDevops stack
Devops stack
 
YAML Engineering: why we need a new paradigm
YAML Engineering: why we need a new paradigmYAML Engineering: why we need a new paradigm
YAML Engineering: why we need a new paradigm
 
K9s - Kubernetes CLI To Manage Your Clusters In Style
K9s - Kubernetes CLI To Manage Your Clusters In StyleK9s - Kubernetes CLI To Manage Your Clusters In Style
K9s - Kubernetes CLI To Manage Your Clusters In Style
 
Argocd up and running
Argocd up and runningArgocd up and running
Argocd up and running
 
Automating Puppet Certificates Renewal
Automating Puppet Certificates RenewalAutomating Puppet Certificates Renewal
Automating Puppet Certificates Renewal
 
Running the Puppet Stack in Containers
Running the Puppet Stack in ContainersRunning the Puppet Stack in Containers
Running the Puppet Stack in Containers
 
Automating Puppet Certificates Renewal
Automating Puppet Certificates RenewalAutomating Puppet Certificates Renewal
Automating Puppet Certificates Renewal
 
Narcissus — mapping configs in Go
Narcissus — mapping configs in GoNarcissus — mapping configs in Go
Narcissus — mapping configs in Go
 

Dernier

All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
ssuserad3af4
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 

Dernier (20)

All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 

FTTH Factory — an illustration of the "Everything as Code" paradigm

  • 1. FTTH Factory An illustration of the “Everything as Code” paradigm Raphaël Pinson @raphink
  • 2. www.camptocamp.com Who am I? ■ Raphaël Pinson aka Raphink ■ Infrastructure Developer & Trainer ■ Automation (Puppet, Augeas, Docker, Kubernetes, Terraform) ■ Lausanne, CH
  • 4. www.camptocamp.com Camptocamp Infrastructure Department ■ Involved in Open Source communities (Puppet, Terraform, Rancher) ■ 14 Systems Engineers ■ Manages ~800 servers ■ Partnerships SWITZERLAND GERMANY
  • 5. www.camptocamp.com Measurements inside FTTH-factory Leverages Measurements 2D & 3D data collections Identification of objects and surfaces 1 Data conflation Shift to UTM spatial corrections 2 Automated planning optimized planning based on detected surfaces 3 Simplified purchase processes All inclusive prices for fixed offers 4 Digital plan corrections APP based mapping of trenches 5
  • 6. www.camptocamp.com Why Automate? ■ Repetitive task error prone⇒ ■ Dev / Int / prod ■ Define once, reuse many times
  • 7. www.camptocamp.com 3 Ways of Managing Cloud Resources ■ Web Interface ○ easy, not flexible, not reproducible ■ CLI ○ flexible, not easily reproducible ■ As Code ○ flexible, reproducible, + collaboration 7
  • 9. www.camptocamp.com PROVISIONING AS CODE Cloud Infrastructure Automation ■ TOOLS: OPENSTACK & TERRAFORM ○ Provision networks, security groups, etc. from code ○ Provision VMs and orchestrate their deployment from code ○ Support for multiple cloud providers and third party tools ■ BENEFITS ○ Full control of all cloud resources ○ Reproductibility of environments ○ Easy decommissioning
  • 10. www.camptocamp.com PROVISIONING AS CODE Case Study: Provision a Development Environment ■ OBJECTIVE Deploy Development and Production Environments in a fully automated way ■ IMPLEMENTATION Terraform is used to: ○ provision networks and nodes, integrate with Puppet/Ansible ■ BENEFITS ○ Fully automated, extremely fast deployment of deployments ○ All resources managed in one location
  • 11. www.camptocamp.com CONFIGURATION MANAGEMENT Maintaining Machine State ■ TOOLS: TWO APPROACHES ○ Pull approach (Cfgmgmt): Cfengine, Puppet, Chef ○ Push approach (deploy): Ansible, Salt ■ BENEFITS ○ No manual management of nodes ○ Reproductibility of nodes ○ Inventory ○ More confidence in environments and deployments
  • 12. www.camptocamp.com CONFIGURATION MANAGEMENT Case Study: Manage Server Fleet with Puppet ■ OBJECTIVE Manage configuration for ~50 servers in two environments ■ IMPLEMENTATION ○ Puppet Open Source (Camptocamp’s Dockerized Stack) ○ DBs managed with Puppet ○ Identity Management ■ BENEFITS ○ Very fast setup of new nodes ○ Dynamic, up-to-date inventory ○ Nodes are kept up-to-date with their target configuration
  • 13. www.camptocamp.com DEPLOYMENT AS CODE Deploying Complex Software ■ TOOLS: ANSIBLE, BOLT ○ Orchestration of multi-node deployments with dependencies ■ BENEFITS ○ Reproductibility of deployments ○ More confidence in deployments
  • 14. www.camptocamp.com DEPLOYMENT AS CODE Case Study: OpenShift Deployment ■ OBJECTIVE Deploy an OpenShift cluster, with various roles and inter-nodes dependencies. ■ IMPLEMENTATION Red Hat provides Ansible playbooks to deploy an OpenShift cluster. ■ BENEFITS ○ Fully automated OpenShift deployment ○ Much easier/faster to deploy new nodes in the cluster
  • 15. www.camptocamp.com CONTAINER ORCHESTRATION Containerized Application Deployment as Code ■ TOOLS: OPENSHIFT & HELM ○ Gather all Kubernetes objects in one package ■ BENEFITS ○ Distribute applications as catalog entries ○ Fully customizable packages
  • 16. www.camptocamp.com CONTAINER ORCHESTRATION Case Study: Puppet Stack Deployment with Helm ■ OBJECTIVE Deploy GIS applications (geOrchestra) on OpenShift ■ IMPLEMENTATION ○ Helm charts for each component ○ Helmfile for full stacks ■ BENEFITS ○ Easily deploy a complex application on OpenShift ○ Parameters and secrets passed to templates
  • 17. www.camptocamp.com CONTINUOUS INTEGRATION CI/CD Pipelines as Code ■ TOOLS: JENKINS ○ Continuous Integration platform ○ Integrates with multiple Version Control Systems ○ Allows to build pipelines ○ CI/CD as Code with Jenkinsfile ○ Extensible with Groovy code ■ BENEFITS ○ Flexible way to program CI/CD tasks ○ Portable to other Jenkins instances ○ Pipeline approach
  • 18. www.camptocamp.com CONTINUOUS INTEGRATION Case Study: CI/CD with OpenShift ■ OBJECTIVE ○ Automatically deploy a GIS multi-tiered application from code with OpenShift ■ IMPLEMENTATION ○ Use ImageStreams with OpenShift builds (using Jenkins) and Jenkinsfile, along with triggers for deployment. ■ BENEFITS ○ Fully automated pipeline workflow for developers, with automated checks and triggers.
  • 19. www.camptocamp.com OBSERVABILITY AS CODE Logs, Metrics & Monitoring ■ TOOLS: ELK, PROMETHEUS, GRAFANA ○ Gather logs & metrics ○ Provide code for data processing and dashboards ■ BENEFITS ○ Prometheus time series provide a flexible query language ○ JSON dashboards provide portability
  • 20. www.camptocamp.com OBSERVABILITY AS CODE Case Study: Monitor Puppet resources and performance ■ OBJECTIVE Gather performance metrics for the Puppet stack, both on the server and agents. ■ IMPLEMENTATION ○ The Puppet prometheus_reporter module provides a report plugin to collect agent data ○ JMX for internal Puppet Enterprise server metrics, gathered in Prometheus ■ BENEFITS Easily deployed dashboards with tuned metrics and monitoring.
  • 21. www.camptocamp.com BACKUPS AS CODE Automate Backups of Container Volumes ■ TOOLS: KUBERNETES AND BIVAC ○ Automatic backups of PVCs ○ Tune backup parameters with Labels ■ BENEFITS ○ Allow users of container platforms ○ to choose with Data Volumes to backup ○ Allow users to tune how backups are performed
  • 22. www.camptocamp.com BACKUPS AS CODE Case Study: Backup Data Volumes in OpenShift ■ OBJECTIVE ○ Provide an API for developers to backup their Data Volumes. ■ IMPLEMENTATION ○ The Bivac stack is deployed on OpenShift projects to detect and backup Physical Volume Claims automatically. ■ BENEFITS ○ Backup container data where it is stored and let users tune how to perform the backup.
  • 23. www.camptocamp.com CONCLUSION Everything as Code ■ TOOLS ○ Many open-source tools to automate: ■ Systems Administration ■ Software Testing and Deployment ■ BENEFITS ○ Increased flexibility ○ Increased collaboration between teams ○ DevOps everything

Notes de l'éditeur

  1. <number>
  2. <number>
  3. <number>
  4. * provisioning as code / case study: - on déploie 2 envs: dev + prod pour FTTH - terraform + ansible pour conf/paquets base, licences, etc. - network components (DNS, sg, etc.), nodes & integration Puppet & Ansible
  5. * cfgmgmt case study: - ~10 machines par env, soit ~20 - DBs gérées par Puppet - identity management -> cf Mickaël - stack Puppet docker (docker-compose) c2c
  6. * deployment as code: ansible + puppet pour clés SSH etc.
  7. * container orchestration case study: - pas puppet - applications dans openshift: monitoring, logging, backups - stack CI/CD déployées avec Helm - au travers CI/CD: applications dev à prod avec Helm - Georchestra déployé avec Helm - https://github.com/roboll/helmfile couche au-dessus de helm pour définir un bundle de charts helm par env https://docs.cloudposse.com/tools/helmfile/
  8. * CI/CD case study: - Gitlab joue un rôle important - Intégration Gitlab/Jenkins/OpenShift - utilisé avec merge requests dans GitLab - client veut utiliser Gitlab - Jenkins: meilleure intégration dans OpenShift, donc configuré complètement avec Helm - CD tout géré au travers de git, y compris déploiement des releases dans les envs (merge requests)
  9. <number>