Architecting for Continuous Delivery and Zero Downtime

Arkitektur & Design Devops

Continuous Delivery is all the hype these days. This training makes it a reality. We start with an overview of what Continuous Delivery is and how it can help you. We then quickly dive into the details. You will learn what it takes to architect a Java application so that it can be delivered continuously into production, with code, configuration and database delta, multiple times a day, with Zero Downtime.

Buckle up! This class is intensive and hands-on. You build an entire Java web app to the point where it deploys continuously, with zero downtime. We tackle the hard problems with a battle-tested approach you will be able to apply immediately.

If you are an architect or a developer and want to gain a solid understanding of the techniques you need to make Continuous Delivery and Zero Downtime a success, this training is for you.


This training assumes a good understanding of software architecture, the Java language, Linux and relational databases in general.

Format: Bring your own laptop


Over the course of these two days, we will cover the following topics:

Introduction to Continuous Delivery

  • What is Continuous Delivery
  • Where does it fit in
  • Prequesites techniques

Automated Testing

  • Tests as risk reduction
  • Fast feedback by test categorization
  • Acceptance tests and the page object pattern

Continuous Integration and Releases

  • CI Server and Artifact Repository
  • Rethinking versions and releases
  • Automated deployment

Configuration and Environments

  • Dealing with multiple environments
  • Environment Detection
  • Rethinking configuration

Database Migrations

  • The challenges with database changes
  • Database Migrations
  • Pitfalls and alternatives to rollback

Keeping software releasable

  • Keeping software releasable at all times
  • Features toggles
  • Expand and contract

Zero Downtime

  • The challenges with state
  • Rethinking Sessions
  • Integration with Load Balancers

Immutable Infrastructure

  • The future of application delivery
  • Self-identifying software
  • Immutable Infrastructure


09:00 - 16:15


  • Introduction to Continuous Delivery
  • Automated Testing
  • Continuous Integration and Releases
  • Configuration and Environments
  • Database Migrations
  • Keeping software releasable
  • Zero Downtime
  • Immutable Infrastructure