EvolveSource

03 The pieces · 2 min read

Where it runs

If you already have a way of deploying your software, meaning putting new versions live, this page is for you. You don’t have to move house to use Evolve. It works with the deploy tool you’ve already got. Here’s what it supports today, and what “checking what’s actually running” means in practice.

First, the names in the table:

  • local environment: a small stand-in for production that comes with Evolve, so you can try it on one machine.
  • Kubernetes: a popular system for running software across many machines. A group of machines it runs is a cluster; k0s is a small Kubernetes we tested on.
  • Argo Rollouts: an add-on for Kubernetes that moves traffic to a new version step by step.
  • Prometheus: a common tool that collects numbers about running software, like requests and errors.
  • orchy: a tool for running apps across your own machines; a set of machines it manages is called a fabric.
  • Canary: trying a new version on a small share of real traffic first. Experiments: comparing the new and current versions on real users, to see which does better.
Platform Canary Experiments Proven on
local environment yes yes every test and demo
Argo Rollouts (Kubernetes) yes, judged from Prometheus not yet a real k0s cluster
orchy yes, on orchy’s traffic split not yet a real orchy fabric

What “checks what’s actually running” means

A platform says “success” as soon as it accepts a command, which can be well before the new version is answering requests.

So Evolve waits until the version it asked for really is the one answering. On Kubernetes, that means checking the image (the packaged program) that the running copies of your app were started from. Elsewhere, the app itself reports the fingerprint of its own program file, a code that changes if even one byte does.

This has caught real bugs. A platform once reported a deploy as successful while every request was still going to the old version.

Your deploy tool stays in charge

Evolve uses your platform’s own machinery: Argo’s canary steps, or orchy’s way of splitting traffic and its pipelines (orchy’s lists of steps for putting a new version live). It works through that machinery alone, with nothing extra installed beside it.

Next

Enough theory: run the demo.