When there is Operations work that cannot be fully automated or made self-service, our goal is to make this recurring work as repeatable and deterministic as possible. We do this by standardizing the needed work, automating as much as possible, and documenting our work so that we can best enable product teams to better plan and resource this activity:
Instead of manually building servers and then putting them into production according to manual checklists, we should automate as much of this work as possible. Where certain steps cannot be automated, we should collectively define the handoffs as clearly as possible to reduce lead times and errors.
Small service teams can potentially build and run their service in whatever language or framework that best serves their specific needs.
However, there are scenarios when the opposite occurs, such as when expertise for a critical service resides only in one team, and only that team can make changes or fix problems.
We want to make sure that Operations can influence which components are used in production, or give them the ability to not be responsible for unsupported platforms. Our goal is identify the technologies that:
Massively reduce the number of technologies used in production, choosing a few that the entire organization could fully support and eradicating the rest.