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.