My thesis: Automating Rollback in CI/CD
Sep 4, 2025
From Downtime to Uptime: Automating Rollback in CI/CD
Read my whole thesis (PDF)
(The text is in Finnish)
Writing this thesis was my first experience with academic writing. The process was challenging because, even though I knew what I wanted to say, everything had to be justified with academic sources. I wrote my thesis using LaTeX. Although it was difficult to use at first, it allowed me to produce a professional-looking document.
In modern web development, applications are updated and deployed faster than ever. Continuous Integration and Continuous Delivery (CI/CD) pipelines allow teams to release new features at high speed. With that comes a greater risk of errors and downtime.
This is where rollback strategies come in. A rollback means returning an application to a previously working version when something goes wrong in production. Without a clear strategy, downtime can hurt user trust, cause financial losses, and damage a company's reputation.
There are several approaches:
- Manual rollback is simple but error-prone, requiring human intervention.
- In blue-green deployment two environments are running in parallel, enabling instant switching if issues arise.
- In canary deployment rolling out new versions to a small group of users first, reducing risk.
Even more powerful is automation. By combining tools like GitLab (for version control and CI/CD),
Kubernetes (for
deployment management), and Prometheus (for monitoring and alerts),
rollback can be triggered automatically when
failures occur. This minimizes human error and ensures rapid recovery.
In my opinion well-designed and automated rollback strategies are no longer just a “nice-to-have”. They are essential for delivering reliable web applications in today's fast-paced development world.