Skip to Content

Thesis Proposal

Zero-downtime Deployments

Written by: Dewire Labs Team

November 01, 2016

For low- to medium-use applications, it is often good enough to upgrade to new versions by shutting down and starting the new version. This is commonly done during night-time to avoid disrupting users. But, to be able to easily deploy several times a day while maintaining high availability and low latency around the clock – such as for an IoT service where sensor values are streaming in traffic 24/7 – the deploy process cannot result in several seconds or minutes of downtime.

Zero-downtime deploy is the idea that an application can be deployed with practically unmeasurable downtime or latency increases. To achieve this, the system needs to use load-balancer(s), signaling and other preparations in smart ways. For example; the time for application upstart and cache warmups need to be taken into account to avoid spikes in latency.

Using Docker to wrap each application (server, database, load-balancer, …) in separate containers, it is possible to have a multi-application architecture described in, and controlled by, code.

The aim of this thesis is to create an application infrastructure using linked Docker containers and other Free Open-source Software (FOSS) such that new containers can be deployed in a zero-downtime manner.

Objectives

  • Design and implement an application architecture capable of zero-downtime deploys using Docker and realistic example applications.
  • Design and implement performance measurements and visualizations that can pinpoint the transition between versions and show relevant performance characteristics.

 

Apply for Thesis Project

Thesis work can practically be commenced immediately, although being able to start right away is not critical; it is more important that we find the right candidate.

Apply for Thesis Project in Stockholm

Apply for Thesis Project in Sundsvall