mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-08 21:34:25 +00:00
2.6 KiB
2.6 KiB
The automation paradox
The point of automation is to reduce the manual workload.
Its goals include also maintaining the consistency and reliability of infrastructure and processes.
The issue:
- For every automation one puts in place, a system is created.
Said system is either the automation itself or the set of tools used to create it. - Any system needs proper configuration and maintenance.
- No matter how, one always ends up relying on systems to maintain other systems.
Re-read the first point in this list to remember why. - Complex systems trend toward being brittle and expensive.
This point is especially true when using imperative runbooks.
Google Software crisis for more info. - The need to manage complexity gave birth to a whole cottage industry.
This includes tools and specific job titles (i.e. DevOps, SRE). - The tools used to implement one's system need to be consistent and reliable.
Should they not be, their issues defeat the whole purpose of the automation.
Possible solutions:
- Move from imperative to declarative (desired state) where one can.
Check out the GitOps approach. - Apply the KISS approach where possible.
Make it so that is simple to maintain, not necessarily simple for the sake of simplicity.
Check out KISS principle is not that simple. - Focus on the tools that most allow one to simplify the automation.
Dependent on the final goals. - Limit abstractions.
Check out We have used too many levels of abstractions and now the future looks bleak and Why the fuck are we templating yaml?.
Sources
- Personal experience
- Automating your source of truth - GitOps and Terraform
- Software crisis
- We have used too many levels of abstractions and now the future looks bleak
- Why the fuck are we templating yaml? by Lee Briggs
- KISS principle is not that simple by William Artero