DevOps 101 - podcast episode cover

DevOps 101

Aug 30, 2022โ€ข5 minโ€ขEp. 75
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Recommend Reading

Recommended Listening

โ˜… Support this podcast on Patreon โ˜…

Transcript

DevOps 101 Hello and welcome to Small Batches. Iโ€™m your host Adam Hawkins. In each episode, I share a small batch of software delivery education aiming to help find flow, feedback, and learning in your own daily work. Topics include DevOps, lean, continuous delivery, and conversations with industry leaders. Now, letโ€™s begin todayโ€™s episode. Today Iโ€™m going to revisit DevOps. The idea of DevOps is central to lean software delivery. My own understanding of the topic has changed over the years as I gain more experience and try explaining principles and practices in new ways. So in this episode Iโ€™m sharing a revised introduction to the principles and practices behind DevOps. OK, letโ€™s rock. DevOps is a way of working that optimizes the end-to-end value stream. It uses cross-functional teams that continuously deliver and continuously improve. There are no assumptions about specific technologies, only how they are used. DevOps begins by establishing fast flow of changes from development to production. Second, use feedback from production to guide future developmentโ€”be it features, risk, debts, or defects. Third, continuously improve the first two activities through experimentation and learning. These are "The Three Ways of": flow, feedback, and learning. Flow applies continuous delivery. Continuous delivery is a way of working that uses automated deployment pipelines to keep software in an always releasable state. Engineers use trunk-based-development to commit to trunk (or master, main, etc) many times a day. Each commit runs through the automated deployment pipeline to ensure the change is fit for production. If a change breaks the pipeline, then all work is stopped to fix the pipeline. Deployment pipelines typically follow a process like: build, test, promote to a test environment, run acceptance tests against the live system. Pipelines may be as long or short as needed. Checks begin fine-grained and become more coarse as the pipeline progresses. In other words, the pipeline moves from the bottom to the top of the test pyramid. Continuous delivery pipelines end with releasable artifacts that may be deployed to production at any time. Production deploys may use feature flags, canary deploys, and/or blue-green deploys to further mitigate risk. Software only provides value in production. Teams must use telemetry from production to ensure the system is delivering the expected value. Telemetry is information such logs, metrics, and alertsโ€”ideally available in real time. Telemetry provides the necessary feedback for automated monitoring and manual corrective actions. DevOps teams are responsible for the developing and operating their services in production. This means being on-call, conducting postmortems, and committing to business-as-usual operations work. Being on-call provides invaluable feedback to service owners. Production issues reveal the consequences of decisions made in development. This leads to better decisions in development that improve production operations. This is the virtuous cycle is the beating heart of the principle of feedback. We call this a feedback loop. The principle of learning and experimentation uses the feedback loop to continuously improve the end-to-end value stream. The principle of feedback reveals problems. The principle of learning and experimentation is about solving them. Solving problems may mean enacting countermeasures to mitigate issues. It may also mean designing new systems devoid of the problems. Over time, DevOps teams will improve at detecting and solving problems. This means that failure signals will become increasingly harder to detect. This is an ongoing process of improvement. Organizations cannot "just" become a DevOps organizations. Transformation begins with the individualโ€”irrespective to their place in organization structure or value stream. Individuals must change their thinking, thus change their goals. This impacts how goals are set, thus how management works. This means pushing for flow, feedback, and learning, across all parts of the value stream; individuals at all levels working together. Large scale change does not happen overnight, or a month, quarter, or even a year. It happens in small batches. Incrementally one percent at a time. Eventually, time, effort, and commitment deliver results. Small goals ladder up to larger goals. Success compounds. Alright, thatโ€™s all for this batch. Go to SmallBatches.fm/75 for further resources. I have a link to recommend reading and listening and a much more detailed email course. Plus thereโ€™s a link to Small Batches slack app that posts daily software delivery education to your teamโ€™s slack. I hope to have you back again for the next episode. Until then, happy shipping.
Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android