Cfgmgmt Challenges aren't technical anymore

Julien Pivotto
Julien PivottoOpen Source Consultant at Inuits
Cfgmgmt Challenges are not technical
anymore
Julien Pivotto (@roidelapluie)
Config Management Camp Ghent February 2018
$::user
Julien Pivotto
Consultant at inuits
@roidelapluie on irc/github/twitter
Puppet / Ansible / Terraform / mgmt
inuits
Once upon a time...
Creative Commons Attribution-ShareAlike 2.0
https://www.flickr.com/photos/lorenkerns/13991814652
Package
Creative Commons Attribution-ShareAlike 2.0
https://www.flickr.com/photos/halfbisqued/2353845688/
Config
Creative Commons Attribution 2.0
https://www.flickr.com/photos/calliope/234447967
Service
Creative Commons Attribution 2.0
https://www.flickr.com/photos/beaub/1795730403
PCS pattern
Easy to do manually
Yeah so let's do this
You say package? Here is a tarball.
PCS pattern (automated)
Package managers - rpm - deb
Versioned dependencies
Sanity checks
One source of truth for where files come from
Templates, reproducible config
Config Management
CFEngine ~25y
Puppet ~10y
Chef ~10y
Ansible ~5y
... More like this
Operating system abstraction
Puppet:
package{
  'ntp':
    ensure => installed,
}
Operating system / Package manager
independant. No bash required.
Then comes the zero downtime
thingie
One must be able to deploy PCS style but
without downtime
Rolling restart / upgrade
2 "easy" ways to do that
Built-in into our apps
Take the burden in the development process
Clusters
API versioning
Take care of data migration
Reverse proxy
e.g. Elasticsearch 6 (rolling upgrades accross
major releases)
Built in into the platform
Orchestration
Config management of reverse proxies
Reverse proxy
"dumb" reverse proxy
­ include: remove_from_rproxy.yml
­ wait_for:
    host: "{{bind_address}}"
    port: 8080
    state: drained
­ name: stop myservice
  systemd:
    name: "myservice.service"
    state: restarted
Reverse proxy
"clever" reverse proxy
Think service registry, health checks...
e.g. traefik
[consulCatalog]
endpoint = "127.0.0.1:8500"
prefix = "traefik"
$ dig +short frontend.service.consul.
182.32.12.4
yeah but we need httpd
because X
Still solutions: e.g. consul-templates
Deploying to prod
Safely
Quickly
Often
Cfgmgmt tools
Run every X minutes or on demand
Imperative vs declarative
One tool launches another
Event driven tools
CI systems
Not on your laptop
Common view on how to build and run code
Config them as code - get them stateless
Plays nicely with cfgmgmt
Runtime
Need version X of Y or Z of Y
How to test on those runtimes?
Containers to the rescue!
Not only docker:
lxc systemd-nspawn cri-o chroot?
or just bundle the JVM you need
oh you know everyone uses go now -- single
binaries -- everything included -- html static
files as well -- its called cloud native :)
Where to run it ? - on prem
Need a VM? -> Create VM
New machine? -> kickstart
Bare metal installation
Where to run it? not on prem
Need more power? -> Come on we have power
Not enough? -> Cloud has more
Wanna automate? -> terraform
resource "aws_instance" "example" {
  ami           = "ami­255899831"
  instance_type = "t2.micro"
}
How to scale / distribute more
...
Coz of course all of the above is not enough
for you ...
Kubernetes
Mesos
Nomad
More is going on :)
Serverless .. because I do not want to compile
my golang myself :)
Monitoring tools
Lots have evolved to be more flexible
Chose between pull and push
The new Metrics model
We have been doing this for so
many years.
So much power
Creative Commons Attribution-ShareAlike 2.0
https://www.flickr.com/photos/spanginator
What did we fail??
DevOps: a definition
Culture
Automation
Measurement
Sharing
(Damon Edwards and John Willis, 2010 http://devopsdictionary.com/wiki/CAMS)
Lots of people just get the
"automation part"
The DevOps
Are you a devops?
Devops engineer
You know everything
Replace the wall of confusion by a devops
team of confusion
The expectations
You can work fast (read: day and night)
Your work is always super generic even if you
do not have the time to do it properly
No bug ofc
Autoscale and autoheal
Oh and during day and night you write doc
The Cloud
Oh we don't need the cloud we just bought
xxxK of hardware
Ok let's go for the cloud but do not tell anyone
Ok let's go for the cloud so we do not need ops
Ok let's go for the cloud tomorrow
Ok let's go for the cloud but let's keep our DB
internally
The NoOps
Because everyone knows how to tune DB,
package RPM files and
java.lang.NoSuchFieldError
Also you are not expected to take holidays
Bash
People still think bash is easy
And that easy is the most important thing out
there
Come and try to read my bash scripts from 3y
ago
Bash is not automation
Who needs package managers?
Leadership
What salespeople want
What tech leads want
What devs/ops/dba/... want
Please talk to each other!
The PoC
Cloud and automation help us create so called
PoC
Yeah now that there is a stupid PoC it means
you can go live tomorrow right?
Exceptions all over the place
Customer A wants this. OK.
Customer B wants this button in yellow. OK.
Customer C wants this other button is blue.
X stacks to manage, completely different...
3rd party software
We want everything!
It must be open source free
We do not have time to contribute
Please a permissive license
Must work now. Bugs fixed now.
Where to find info?
Mailing lists
Groups
Blog posts
Slack
IRC
Websites
...
Choice of the tooling
And where to run it
State State State everywhere
Hello Stateful pods
Tools that takes configuration from REST api's
But don't understand CRUD
Still everyone is enthusiast about them
CI systems
Not automated = full of black magic
No one cares = Always red
Not enough resources = let's just stop those
jobs
CI servers are often in a dev environment
where thes should be considered prod
The environment
Let's build dev in the cloud
Have 5 services for acc on 1 server
Have the 100 prod services on 10 servers
And call it CI
Monitoring
Still today lots of people are not considering
monitoring before go live
Then you just get minimal technical
monitoring
How's your business doing?
Queing systems
Awesome technologies - yet underused in lots of
places
Do no try to do things synchronously if not needed!
About the data...
Databases migrations are awesome
Does not mean throw plain SQL files into
liquibase
Same migration for dev/staging/prod ..
Ridiculously complex install
procedure
Upon installing you must first touch those 4
files then remove that one and check by grep
that service is started correctly
Seriously? It's your software.
Update not only for security, also for bugfixes
and stability
Conclusion
Tools not toys
A 3 people team can not learn and know dozens of
new products/projects.. KVM CentOS Ubuntu
Openstack Kubernetes Gluster Foreman Puppet
Ansible Mcollective Apache Nginx Cassandra
Prometheus Icinga Terraform Go Java Python C
C++ Perl
Put people first!
Improve your own codebase!
You deploy more often than you thinl
Do not underestimate the time lost by badly
designed software
Take time to improve the codebase piece by
piece
Look back at 10+ years of config management
and build your tools with that in mind!
Julien Pivotto
roidelapluie
roidelapluie@inuits.eu
Inuits
https://inuits.eu
info@inuits.eu
Contact
1 of 53

Recommended

Incident Resolution as Code by
Incident Resolution as CodeIncident Resolution as Code
Incident Resolution as CodeJulien Pivotto
818 views51 slides
Monitor your CentOS stack with Prometheus by
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusJulien Pivotto
704 views57 slides
An introduction to Ansible by
An introduction to AnsibleAn introduction to Ansible
An introduction to AnsibleJulien Pivotto
581 views24 slides
Monitoring as an entry point for collaboration by
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaborationJulien Pivotto
1.3K views119 slides
Introduction to Prometheus by
Introduction to PrometheusIntroduction to Prometheus
Introduction to PrometheusJulien Pivotto
6.7K views55 slides
JavaScript Event Loop by
JavaScript Event LoopJavaScript Event Loop
JavaScript Event LoopThomas Hunter II
2.2K views14 slides

More Related Content

What's hot

Ratpack JVM_MX Meetup February 2016 by
Ratpack JVM_MX Meetup February 2016Ratpack JVM_MX Meetup February 2016
Ratpack JVM_MX Meetup February 2016Domingo Suarez Torres
1.1K views30 slides
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016 by
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Zabbix
1.5K views52 slides
Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017 by
Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017
Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017Codemotion
692 views43 slides
Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti... by
Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti...Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti...
Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti...Codemotion
465 views13 slides
Docker and jvm. A good idea? by
Docker and jvm. A good idea?Docker and jvm. A good idea?
Docker and jvm. A good idea?Christopher Batey
3.2K views65 slides
Introduction to NodeJS by
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJSCere Labs Pvt. Ltd
842 views16 slides

What's hot(20)

Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016 by Zabbix
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Zabbix1.5K views
Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017 by Codemotion
Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017
Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017
Codemotion692 views
Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti... by Codemotion
Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti...Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti...
Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti...
Codemotion465 views
PyCon AU 2012 - Debugging Live Python Web Applications by Graham Dumpleton
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web Applications
Graham Dumpleton11.4K views
Introduction to node.js by Dinesh U
Introduction to node.jsIntroduction to node.js
Introduction to node.js
Dinesh U636 views
How NOT to write in Node.js by Piotr Pelczar
How NOT to write in Node.jsHow NOT to write in Node.js
How NOT to write in Node.js
Piotr Pelczar17K views
Non-blocking I/O, Event loops and node.js by Marcus Frödin
Non-blocking I/O, Event loops and node.jsNon-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.js
Marcus Frödin22.8K views
OSMC 2017 | Monitoring MySQL with Prometheus and Grafana by Julien Pivotto by NETWAYS
OSMC 2017 | Monitoring  MySQL with Prometheus and Grafana by Julien PivottoOSMC 2017 | Monitoring  MySQL with Prometheus and Grafana by Julien Pivotto
OSMC 2017 | Monitoring MySQL with Prometheus and Grafana by Julien Pivotto
NETWAYS156 views
Trac Project And Process Management For Developers And Sys Admins Presentation by guest3fc4fa
Trac  Project And Process Management For Developers And Sys Admins PresentationTrac  Project And Process Management For Developers And Sys Admins Presentation
Trac Project And Process Management For Developers And Sys Admins Presentation
guest3fc4fa17.9K views
Shall we play a game? by Maciej Lasyk
Shall we play a game?Shall we play a game?
Shall we play a game?
Maciej Lasyk519.9K views
Understanding Non Blocking I/O with Python by Vaidik Kapoor
Understanding Non Blocking I/O with PythonUnderstanding Non Blocking I/O with Python
Understanding Non Blocking I/O with Python
Vaidik Kapoor2.3K views
Golang Performance : microbenchmarks, profilers, and a war story by Aerospike
Golang Performance : microbenchmarks, profilers, and a war storyGolang Performance : microbenchmarks, profilers, and a war story
Golang Performance : microbenchmarks, profilers, and a war story
Aerospike10.3K views
Vert.x v3 - high performance polyglot application toolkit by Sages
Vert.x v3 - high performance  polyglot application toolkitVert.x v3 - high performance  polyglot application toolkit
Vert.x v3 - high performance polyglot application toolkit
Sages2.9K views
RSYSLOG v8 improvements and how to write plugins in any language. by Rainer Gerhards
RSYSLOG v8 improvements and how to write plugins in any language.RSYSLOG v8 improvements and how to write plugins in any language.
RSYSLOG v8 improvements and how to write plugins in any language.
Rainer Gerhards11.3K views

Similar to Cfgmgmt Challenges aren't technical anymore

Automated Deployment using Open Source by
Automated Deployment using Open SourceAutomated Deployment using Open Source
Automated Deployment using Open Sourceduskglow
9.1K views30 slides
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński by
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot
180 views31 slides
PuppetConf 2014 Killer R10K Workflow With Notes by
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPhil Zimmerman
1.9K views71 slides
One-Man Ops by
One-Man OpsOne-Man Ops
One-Man OpsJos Boumans
12.7K views79 slides
TIAD - DYI: A simple orchestrator built step by step by
TIAD - DYI: A simple orchestrator built step by stepTIAD - DYI: A simple orchestrator built step by step
TIAD - DYI: A simple orchestrator built step by stepThe Incredible Automation Day
2.8K views42 slides
Setting Up a Cloud Server - Part 1 - Transcript.pdf by
Setting Up a Cloud Server - Part 1 - Transcript.pdfSetting Up a Cloud Server - Part 1 - Transcript.pdf
Setting Up a Cloud Server - Part 1 - Transcript.pdfShaiAlmog1
300 views12 slides

Similar to Cfgmgmt Challenges aren't technical anymore(20)

Automated Deployment using Open Source by duskglow
Automated Deployment using Open SourceAutomated Deployment using Open Source
Automated Deployment using Open Source
duskglow9.1K views
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński by Pilot
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot180 views
PuppetConf 2014 Killer R10K Workflow With Notes by Phil Zimmerman
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With Notes
Phil Zimmerman1.9K views
One-Man Ops by Jos Boumans
One-Man OpsOne-Man Ops
One-Man Ops
Jos Boumans12.7K views
Setting Up a Cloud Server - Part 1 - Transcript.pdf by ShaiAlmog1
Setting Up a Cloud Server - Part 1 - Transcript.pdfSetting Up a Cloud Server - Part 1 - Transcript.pdf
Setting Up a Cloud Server - Part 1 - Transcript.pdf
ShaiAlmog1300 views
Integrating cloud stack with puppet by Puppet
Integrating cloud stack with puppetIntegrating cloud stack with puppet
Integrating cloud stack with puppet
Puppet1.4K views
Using Docker in the Real World by Tim Haak
Using Docker in the Real WorldUsing Docker in the Real World
Using Docker in the Real World
Tim Haak940 views
Continuous Delivery for Python Developers – PyCon Otto by Peter Bittner
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
Peter Bittner148 views
The Secrets of The FullStack Ninja - Part A - Session I by Oded Sagir
The Secrets of The FullStack Ninja - Part A - Session IThe Secrets of The FullStack Ninja - Part A - Session I
The Secrets of The FullStack Ninja - Part A - Session I
Oded Sagir421 views
Operating Docker by Jen Andre
Operating DockerOperating Docker
Operating Docker
Jen Andre7K views
A Kernel of Truth: Intrusion Detection and Attestation with eBPF by oholiab
A Kernel of Truth: Intrusion Detection and Attestation with eBPFA Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
oholiab594 views
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation... by DevSecCon
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...
DevSecCon181 views
Nagios Conference 2014 - Gerald Combs - A Trillion Truths by Nagios
Nagios Conference 2014 - Gerald Combs - A Trillion TruthsNagios Conference 2014 - Gerald Combs - A Trillion Truths
Nagios Conference 2014 - Gerald Combs - A Trillion Truths
Nagios943 views
DevOps Fest 2020. immutable infrastructure as code. True story. by Vlad Fedosov
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
Vlad Fedosov157 views
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic... by Codemotion
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion765 views
Deploying Foreman in Enterprise Environments by inovex GmbH
Deploying Foreman in Enterprise EnvironmentsDeploying Foreman in Enterprise Environments
Deploying Foreman in Enterprise Environments
inovex GmbH6.6K views

More from Julien Pivotto

The O11y Toolkit by
The O11y ToolkitThe O11y Toolkit
The O11y ToolkitJulien Pivotto
37 views24 slides
What's New in Prometheus and Its Ecosystem by
What's New in Prometheus and Its EcosystemWhat's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its EcosystemJulien Pivotto
12 views42 slides
Prometheus: What is is, what is new, what is coming by
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 comingJulien Pivotto
42 views27 slides
What's new in Prometheus? by
What's new in Prometheus?What's new in Prometheus?
What's new in Prometheus?Julien Pivotto
15 views10 slides
Introduction to Grafana Loki by
Introduction to Grafana LokiIntroduction to Grafana Loki
Introduction to Grafana LokiJulien Pivotto
189 views11 slides
Why you should revisit mgmt by
Why you should revisit mgmtWhy you should revisit mgmt
Why you should revisit mgmtJulien Pivotto
10 views46 slides

More from Julien Pivotto(20)

What's New in Prometheus and Its Ecosystem by Julien Pivotto
What's New in Prometheus and Its EcosystemWhat's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its Ecosystem
Julien Pivotto12 views
Prometheus: What is is, what is new, what is coming by Julien Pivotto
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 Pivotto42 views
Introduction to Grafana Loki by Julien Pivotto
Introduction to Grafana LokiIntroduction to Grafana Loki
Introduction to Grafana Loki
Julien Pivotto189 views
Observing the HashiCorp Ecosystem From Prometheus by Julien Pivotto
Observing the HashiCorp Ecosystem From PrometheusObserving the HashiCorp Ecosystem From Prometheus
Observing the HashiCorp Ecosystem From Prometheus
Julien Pivotto37 views
Monitoring in a fast-changing world with Prometheus by Julien Pivotto
Monitoring in a fast-changing world with PrometheusMonitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with Prometheus
Julien Pivotto33 views
5 tips for Prometheus Service Discovery by Julien Pivotto
5 tips for Prometheus Service Discovery5 tips for Prometheus Service Discovery
5 tips for Prometheus Service Discovery
Julien Pivotto38 views
Prometheus and TLS - an Introduction by Julien Pivotto
Prometheus and TLS - an IntroductionPrometheus and TLS - an Introduction
Prometheus and TLS - an Introduction
Julien Pivotto15 views
HAProxy as Egress Controller by Julien Pivotto
HAProxy as Egress ControllerHAProxy as Egress Controller
HAProxy as Egress Controller
Julien Pivotto2.9K views
Improved alerting with Prometheus and Alertmanager by Julien Pivotto
Improved alerting with Prometheus and AlertmanagerImproved alerting with Prometheus and Alertmanager
Improved alerting with Prometheus and Alertmanager
Julien Pivotto4.5K views
SIngle Sign On with Keycloak by Julien Pivotto
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
Julien Pivotto10K views
Monitor your CentOS stack with Prometheus by Julien Pivotto
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with Prometheus
Julien Pivotto712 views
Prometheus: From technical metrics to business observability by Julien Pivotto
Prometheus: From technical metrics to business observabilityPrometheus: From technical metrics to business observability
Prometheus: From technical metrics to business observability
Julien Pivotto4.4K views
Taking advantage of Prometheus relabeling by Julien Pivotto
Taking advantage of Prometheus relabelingTaking advantage of Prometheus relabeling
Taking advantage of Prometheus relabeling
Julien Pivotto21.5K views
Prometheus for the traditional datacenter by Julien Pivotto
Prometheus for the traditional datacenterPrometheus for the traditional datacenter
Prometheus for the traditional datacenter
Julien Pivotto1.6K views

Recently uploaded

Special_edition_innovator_2023.pdf by
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdfWillDavies22
16 views6 slides
Five Things You SHOULD Know About Postman by
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About PostmanPostman
27 views43 slides
STPI OctaNE CoE Brochure.pdf by
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdfmadhurjyapb
12 views1 slide
.conf Go 2023 - Data analysis as a routine by
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routineSplunk
93 views12 slides
20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
28 views73 slides

Recently uploaded(20)

Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman27 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb12 views
.conf Go 2023 - Data analysis as a routine by Splunk
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine
Splunk93 views
Combining Orchestration and Choreography for a Clean Architecture by ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs169 views
RADIUS-Omnichannel Interaction System by RADIUS
RADIUS-Omnichannel Interaction SystemRADIUS-Omnichannel Interaction System
RADIUS-Omnichannel Interaction System
RADIUS15 views
The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada121 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV by Splunk
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
Splunk88 views
Spesifikasi Lengkap ASUS Vivobook Go 14 by Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang35 views
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen... by NUS-ISS
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
NUS-ISS28 views
AI: mind, matter, meaning, metaphors, being, becoming, life values by Twain Liu 刘秋艳
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life values

Cfgmgmt Challenges aren't technical anymore

  • 1. Cfgmgmt Challenges are not technical anymore Julien Pivotto (@roidelapluie) Config Management Camp Ghent February 2018
  • 2. $::user Julien Pivotto Consultant at inuits @roidelapluie on irc/github/twitter Puppet / Ansible / Terraform / mgmt
  • 4. Once upon a time... Creative Commons Attribution-ShareAlike 2.0 https://www.flickr.com/photos/lorenkerns/13991814652
  • 5. Package Creative Commons Attribution-ShareAlike 2.0 https://www.flickr.com/photos/halfbisqued/2353845688/
  • 6. Config Creative Commons Attribution 2.0 https://www.flickr.com/photos/calliope/234447967
  • 7. Service Creative Commons Attribution 2.0 https://www.flickr.com/photos/beaub/1795730403
  • 8. PCS pattern Easy to do manually Yeah so let's do this You say package? Here is a tarball.
  • 9. PCS pattern (automated) Package managers - rpm - deb Versioned dependencies Sanity checks One source of truth for where files come from Templates, reproducible config
  • 10. Config Management CFEngine ~25y Puppet ~10y Chef ~10y Ansible ~5y ... More like this
  • 12. Then comes the zero downtime thingie One must be able to deploy PCS style but without downtime Rolling restart / upgrade 2 "easy" ways to do that
  • 13. Built-in into our apps Take the burden in the development process Clusters API versioning Take care of data migration Reverse proxy e.g. Elasticsearch 6 (rolling upgrades accross major releases)
  • 14. Built in into the platform Orchestration Config management of reverse proxies
  • 15. Reverse proxy "dumb" reverse proxy ­ include: remove_from_rproxy.yml ­ wait_for:     host: "{{bind_address}}"     port: 8080     state: drained ­ name: stop myservice   systemd:     name: "myservice.service"     state: restarted
  • 16. Reverse proxy "clever" reverse proxy Think service registry, health checks... e.g. traefik [consulCatalog] endpoint = "127.0.0.1:8500" prefix = "traefik" $ dig +short frontend.service.consul. 182.32.12.4
  • 17. yeah but we need httpd because X Still solutions: e.g. consul-templates
  • 19. Cfgmgmt tools Run every X minutes or on demand Imperative vs declarative One tool launches another Event driven tools
  • 20. CI systems Not on your laptop Common view on how to build and run code Config them as code - get them stateless Plays nicely with cfgmgmt
  • 21. Runtime Need version X of Y or Z of Y How to test on those runtimes? Containers to the rescue! Not only docker: lxc systemd-nspawn cri-o chroot? or just bundle the JVM you need oh you know everyone uses go now -- single binaries -- everything included -- html static files as well -- its called cloud native :)
  • 22. Where to run it ? - on prem Need a VM? -> Create VM New machine? -> kickstart
  • 24. Where to run it? not on prem Need more power? -> Come on we have power Not enough? -> Cloud has more Wanna automate? -> terraform resource "aws_instance" "example" {   ami           = "ami­255899831"   instance_type = "t2.micro" }
  • 25. How to scale / distribute more ... Coz of course all of the above is not enough for you ... Kubernetes Mesos Nomad
  • 26. More is going on :) Serverless .. because I do not want to compile my golang myself :)
  • 27. Monitoring tools Lots have evolved to be more flexible Chose between pull and push The new Metrics model
  • 28. We have been doing this for so many years.
  • 29. So much power Creative Commons Attribution-ShareAlike 2.0 https://www.flickr.com/photos/spanginator
  • 30. What did we fail??
  • 31. DevOps: a definition Culture Automation Measurement Sharing (Damon Edwards and John Willis, 2010 http://devopsdictionary.com/wiki/CAMS)
  • 32. Lots of people just get the "automation part"
  • 33. The DevOps Are you a devops? Devops engineer You know everything Replace the wall of confusion by a devops team of confusion
  • 34. The expectations You can work fast (read: day and night) Your work is always super generic even if you do not have the time to do it properly No bug ofc Autoscale and autoheal Oh and during day and night you write doc
  • 35. The Cloud Oh we don't need the cloud we just bought xxxK of hardware Ok let's go for the cloud but do not tell anyone Ok let's go for the cloud so we do not need ops Ok let's go for the cloud tomorrow Ok let's go for the cloud but let's keep our DB internally
  • 36. The NoOps Because everyone knows how to tune DB, package RPM files and java.lang.NoSuchFieldError Also you are not expected to take holidays
  • 37. Bash People still think bash is easy And that easy is the most important thing out there Come and try to read my bash scripts from 3y ago Bash is not automation Who needs package managers?
  • 38. Leadership What salespeople want What tech leads want What devs/ops/dba/... want Please talk to each other!
  • 39. The PoC Cloud and automation help us create so called PoC Yeah now that there is a stupid PoC it means you can go live tomorrow right?
  • 40. Exceptions all over the place Customer A wants this. OK. Customer B wants this button in yellow. OK. Customer C wants this other button is blue. X stacks to manage, completely different...
  • 41. 3rd party software We want everything! It must be open source free We do not have time to contribute Please a permissive license Must work now. Bugs fixed now.
  • 42. Where to find info? Mailing lists Groups Blog posts Slack IRC Websites ...
  • 43. Choice of the tooling And where to run it State State State everywhere Hello Stateful pods Tools that takes configuration from REST api's But don't understand CRUD Still everyone is enthusiast about them
  • 44. CI systems Not automated = full of black magic No one cares = Always red Not enough resources = let's just stop those jobs CI servers are often in a dev environment where thes should be considered prod
  • 45. The environment Let's build dev in the cloud Have 5 services for acc on 1 server Have the 100 prod services on 10 servers And call it CI
  • 46. Monitoring Still today lots of people are not considering monitoring before go live Then you just get minimal technical monitoring How's your business doing?
  • 47. Queing systems Awesome technologies - yet underused in lots of places Do no try to do things synchronously if not needed!
  • 48. About the data... Databases migrations are awesome Does not mean throw plain SQL files into liquibase Same migration for dev/staging/prod ..
  • 49. Ridiculously complex install procedure Upon installing you must first touch those 4 files then remove that one and check by grep that service is started correctly Seriously? It's your software. Update not only for security, also for bugfixes and stability
  • 51. Tools not toys A 3 people team can not learn and know dozens of new products/projects.. KVM CentOS Ubuntu Openstack Kubernetes Gluster Foreman Puppet Ansible Mcollective Apache Nginx Cassandra Prometheus Icinga Terraform Go Java Python C C++ Perl Put people first!
  • 52. Improve your own codebase! You deploy more often than you thinl Do not underestimate the time lost by badly designed software Take time to improve the codebase piece by piece Look back at 10+ years of config management and build your tools with that in mind!