Understanding DevOps and SRE
In recent years, DevOps has become a loaded term with diverse interpretations and perspectives. To fundamentally understand what it is, you need to first understand the context in which it arose and what problem it was meant to solve.
Traditionally, IT teams consisted of developers and operators. Developers were solely responsible for creating and deploying software systems on IT infrastructure, whereas operators were responsible for ensuring that infrastructure and systems worked reliably. While developers were expected to be agile and push new code and features as quickly as possible, operators were expected to carefully plan any changes to reduce the risk of disruption and keep the systems stable. This resulted in developers delivering software code (or, as the metaphor often goes, "throwing it over the wall") for operators to run in production and worry about its reliability. Understandably, the conflicting priorities between these two...