Skip to content

Teaching DevOps: Three Key Topics for Success

RealToughCandy.com: https://www.pexels.com/fi-fi/kuva/logo-tarra-valikoiva-tarkennus-devops-11035393/

As the world of software development continues to evolve and speed-up, DevOps has become an essential practice for organizations looking to achieve faster delivery, improved collaboration, and increased efficiency. Organizations needs to address swift market changes and increased customer requirements faster than ever. In this blog post, I will discuss three key topics that I teach to my students about DevOps.

Automation

DevOps emphasizes the use of automation to increase efficiency and productivity while minimizing the risk of errors. By automating builds and deployments, we make it repeatable and gain control over it. If our deployment is manual, then that job is not repeatable and it is hard to gain control over something, that does not have same results everytime it is done.

Automation should not stop at CI/CD. We need to automate environments with Infrastructure as Code tools, we need to automate database updates and network configurations. Automation is never ending battle. We need to constantly monitor our own work and try to detect things, that could AND should be automated. Work that is error prone or needs extensive guide is a good place to start.

cottonbro studio: https://www.pexels.com/fi-fi/kuva/teollisuus-teknologia-rauta-tuotanto-5532669/
Machines should do repetitive manual work

Frequent

Frequent delivery is achieved through automation and continuous integration and delivery (CI/CD) pipelines. DevOps teams use automation tools to build, test, and deploy software changes automatically. This process allows teams to release software updates quickly and frequently without sacrificing quality. Releasing software quickly is also key way to get feedback fast from production.

Making frequent and small releases reduces the delta between two release points. Smaller delta reduces risks and makes it easier to rollback breaking changes. Keeping releases small and workable should be one key point of every DevOps engineer.

Pixabay: https://www.pexels.com/fi-fi/kuva/flunssa-luonto-vesi-katu-459451/

Feedback

The third key topic is monitoring and feedback. DevOps emphasizes the importance of monitoring and feedback to ensure that software is running smoothly and delivering the desired outcomes. All changes (code, configuration, environment changes…) should trigger feedback mechanism, that will guide our direction. Code changes are reviewed, unit test results are visible, application monitor shows current state through dashboards etc.

Getting feedback is not just staring at those dashboards and graphs. Failing build is a feedback. Succeeding unit tests is a feedback. We must ensure that feedback is received fast, it is clearly visible and we act on it. Acting is necessary to improve things over time and reduce the delta between changes. If we don’t care about failing build, we should abandon the DevOps culture and maybe try something else. Getting the feedback fast and acting on it is crucial.

Want to Learn More about DevOps?

Checkout these great tutorials and videos if you want to learn more about DevOps

What is DevOps? Great multi-part tutorial by Microsoft

Youtube – CI/CD In 5 Minutes | Is It Worth The Hassle: Crash Course System Design #2

Youtube – What is DevOps?

Tags: