A quick bash at trying to illustrate some of the complexities of building an automation platform. There will be more to follow when can figure out the best way to produce some of the more complicated diagrams.
When looking to automate or refactor operational processes or even to build a new process, it is tempting to assume that there’s a linear path from idea to completion.
But with immature services or processes it will also be necessary to tweak and refine them or start from scratch. So, it is next to impossible to then expect other team members working on process automation to be able to complete their work effectively in this changing environment.
Designing the automation steps for any given process or service requires that the target be a stable platform. If it can’t be made stable for whatever reason then wait until it is because any automation work will most likely have to be done again.
I seem to be getting an inkling that many companies consider that because they are using (or are planning to use) a tool like Puppet, that they are doing automation (and by extension DevOps).
If only life were that simple. I’m preparing another, more detailed, post on what I believe is missing from that belief and that DevOps is not about the tooling but the culture within an organisation that enables the collaboration.