Wat is Canary release?

Een releasemethode die een nieuwe versie eerst aan slechts een deel van de gebruikers of aanvragen (bijvoorbeeld 5%) blootstelt en het aandeel stap voor stap verhoogt als er geen probleem is, terwijl kengetallen zoals het foutpercentage en de responstijd worden gevolgd. Bij een bug wordt maar een deel van de aanvragen getroffen, en de oude versie kan snel worden hersteld. De naam komt van de kanaries die in kolenmijnen werden meegenomen om vroegtijdig te waarschuwen voor giftig gas. Het vergelijken van de oude en de nieuwe versie vereist genoeg aanvragen, en het volgen van kengetallen wordt vaak gecombineerd met een automatische rollback.

Japanse benaming: カナリアリリース

“Canary release” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. Basis van cloud en containers.

Vakgebied: Basis van cloud en containers

Nu oefenen: vragen over Canary release

Een dienst die 12.000 aanvragen per uur ontvangt, voert voor een nieuwe versie een canary release uit en stuurt slechts 5% van de aanvragen naar die versie. De nieuwe versie heeft een bug waardoor 3% van de ontvangen aanvragen mislukt; die wordt na een uur opgemerkt, en alle aanvragen gaan weer naar de oude versie. Hoeveel aanvragen zijn in dat uur door de bug mislukt?

  1. A18
  2. B360
  3. C600
Antwoord en toelichting tonen

Antwoord: A. 18

De nieuwe versie ontving 12.000 × 5% = 600 aanvragen, en 3% daarvan mislukte, dus 600 × 3% = 18 aanvragen mislukten. Als alle aanvragen in één keer naar de nieuwe versie waren omgeschakeld, zouden er 12.000 × 3% = 360 zijn mislukt. Een canary release beperkt zo de aanvragen die door een bug worden getroffen tot een klein aandeel, en verhoogt het aandeel als er geen probleem is, terwijl kengetallen zoals het foutpercentage en de responstijd worden gevolgd. Het vergelijken van de kengetallen van de nieuwe en de oude versie vereist genoeg aanvragen; het aandeel en de waarnemingstijd worden dus samen bepaald.

“Canary release” in de toelichting

Vragen met “Canary release” (2)

  1. Een dienst die 12.000 aanvragen per uur ontvangt, voert voor een nieuwe versie een canary release uit en stuurt slechts 5% van de aanvragen naar die versie. De nieuwe versie heeft een bug waardoor 3% van de ontvangen aanvragen mislukt; die wordt na een uur opgemerkt, en alle aanvragen gaan weer naar de oude versie. Hoeveel aanvragen zijn in dat uur door de bug mislukt?
  2. Er worden twee omgevingen met dezelfde configuratie als productie voorbereid; in de ene blijft de huidige versie draaien, terwijl in de andere de nieuwe versie wordt geïnstalleerd en gecontroleerd, en daarna wordt de loadbalancer in één keer daarnaar omgeschakeld. Is er een probleem, dan keert men door terug te schakelen snel terug naar de oude versie. Welke releasemethode is dit?

Verwante termen

Loadbalancer Blue-green deployment Autoscaling Beschikbaarheidszone (availability zone) Container Containerimage Docker Immutable infrastructure (onveranderlijke infrastructuur) Infrastructure as code (IaC) Kubernetes

Naar de woordenlijst