I might be dating myself, but I remember when there wasn’t a public cloud to deploy to. No AWS, Azure, or GCP. Most of the organizations that I worked in Chicago had their own data centers. These companies rarely had a disaster data center(s) because it was too costly, deployments took hours/days, and run or playbooks were meticulously kept to ensure the smallest down times. Nevertheless, some issue(s), some glitch(es) happened during a deployment(s) that required both developers and administrators to get on the phone to figure it out, often on the weekends or middle of the night. After action reports rarely lead to any meaningful changes because the need for some features or pressing initiatives took our attention away until the next incident.
Development and system administration teams were seperate groups/teams, and, depending on the organization’s culture, things were contentious between the two. Different philosophies, goals, and a tinge of us vs them seemed to simmer beneath any poor interaction. Any hope for some type of melding of the minds to resolve this tension would come much later when tooling that enabled developers to deploy their own code and resources to a private intranet or public cloud,
Fast forward to 2008/2009, I deployed my first Google App Engine code to the cloud with python! What an exciting time! I could define my own deployment, database migration (big table, i think), and push to the public cloud. No assistance needed. No one to confront, other than myself, when things failed to roll out. I felt a true ownership over what I developed. Tools like GAE and Amazon SQS were game changers in terms of developer ownership.
At lot of time has past then. Concepts like CICD, pipelines, and scripting hold the attention of most business and engineering teams for the last five years. Every business now cries for faster results for getting services and resources to customers in a reliable, dependable way. Most teams have their tool(s) that performs n-actions to delivers functionality to deploy; however, I no longer see the meticulous care taken by system administrators, now developers, to ensure proper care for managing cloud resources. It really begs the question: have we just embraced tooling and the culture of devops? Have system administration teams been disbanded and integrated into development teams as devops teams without context of actually maintaining these systems like our salt and peppers did?