Why Idempotence Matters in CI/CD Pipeline Build Steps

Recently, I was caught off guard by a question: why should the steps of a build script in a pipeline be idempotent? Why can’t we build and push the container every time? Why is idempotence so important? Idempotence in pipeline build steps is important for many reasons. Predictability and Stability: When a step in a pipeline is idempotent, it means that running it multiple times will always give the same result. This is very important for CI/CD pipelines because the same build might be triggered more than once. For example, if there is a small error, or someone makes changes to the code, or during testing, you might need to run the pipeline again. If the steps are idempotent, you don’t have to worry about unexpected results. Everything will work the same way every time. ...

November 26, 2024 · Dmitrii Kotov

Terraform Expertise: Valuable Takeaways from Years in Production

Use versioning in remote states Everyone makes mistakes. Some of them may break a Terraform state, and in such situations, availability of a previous state version can help you to avoid completely reimporting the whole infrastructure. You simply roll back the state to the previous version and resolve all problems in the code or in the infrastructure manually. Often, those issues will be resolved after applying the previous state of the code to this version of state. Moreover, it can help you avoid situations where the state is updated not because of changes but due to the major version update of Terraform, and your pipelines or providers aren’t ready yet, or there’s a bug, leading you to roll back the state instead of editing it directly. You might have noticed this if you have gone through the process of updating the Terraform version from 0.12.x to 1.2.x ...

November 27, 2023 · Dmitrii Kotov

Preparing for a DevOps Engineer Interview: A Comprehensive Guide

Introduction Landing a job as a DevOps engineer can be a rewarding and fulfilling experience. However, acing the interview requires thorough preparation, a deep understanding of DevOps principles, and the ability to demonstrate your technical and interpersonal skills. In this guide, we will walk you through the essential steps to prepare for a DevOps engineer interview. We will cover essential topics, provide links to resources, and share tips to help you succeed in your job search. ...

May 6, 2023 · Dmitrii Kotov