Let's face it: config management has grown up so far that the problems slowing us down are for most of them not technical anymore. From common DevOps misconception to the way we pay our technical debt, we can use config management and automation to actually improve and attract all the people that are not playing the game yet. This talk will enlight some great moves that happened in this world recently and show that anything can be automate properly now. Then I will take some examples on how you can improve and shave the last yaks.
Run every X minutes or on demand
Imperative vs declarative
One tool launches another
Event driven tools
Not on your laptop
Common view on how to build and run code
Config them as code - get them stateless
Plays nicely with cfgmgmt
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
Where to run it? not on prem
Need more power? -> Come on we have power
Not enough? -> Cloud has more
Wanna automate? -> terraform
How to scale / distribute more
Coz of course all of the above is not enough
for you ...
More is going on :)
Serverless .. because I do not want to compile
my golang myself :)
Lots have evolved to be more flexible
Chose between pull and push
The new Metrics model
Are you a devops?
You know everything
Replace the wall of confusion by a devops
team of confusion
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
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
Because everyone knows how to tune DB,
package RPM files and
Also you are not expected to take holidays
People still think bash is easy
And that easy is the most important thing out
Come and try to read my bash scripts from 3y
Bash is not automation
Who needs package managers?
What salespeople want
What tech leads want
What devs/ops/dba/... want
Please talk to each other!
Cloud and automation help us create so called
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?
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
Not automated = full of black magic
No one cares = Always red
Not enough resources = let's just stop those
CI servers are often in a dev environment
where thes should be considered prod
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
Still today lots of people are not considering
monitoring before go live
Then you just get minimal technical
How's your business doing?
Awesome technologies - yet underused in lots of
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
Same migration for dev/staging/prod ..
Ridiculously complex install
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
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
Put people first!
Improve your own codebase!
You deploy more often than you thinl
Do not underestimate the time lost by badly
Take time to improve the codebase piece by
Look back at 10+ years of config management
and build your tools with that in mind!