Basis van cloud en containers

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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van cloud en containers

  1. Een containerimage dat door een CI/CD-pipeline is gebouwd, is in de stagingomgeving getest en goedgekeurd. Wat is de meest geschikte manier om dit image naar productie te brengen?
  2. Zoals hierboven wordt het verbindingsdoel van de database niet in het image geschreven, maar bij het starten van de container als omgevingsvariabele doorgegeven. Wat is het belangrijkste voordeel van dit ontwerp?
  3. In een systeem waarin meerdere diensten samenwerken, wil men nagaan door welke diensten één aanvraag van een gebruiker is gegaan, in welke volgorde, en hoeveel tijd ze in elke dienst heeft gekost. Welke soort gegevens voor observability is hiervoor het meest geschikt?
  4. Welke combinatie van de Linux-kernelfuncties waarop containers berusten, namespaces en cgroups (control groups), met hun taak is juist?
  5. Op een Linux-host wordt met Docker een container gestart uit een image dat op een andere distributie dan die van de host is gebaseerd, en daarin worden uname -r (een opdracht die de release van de kernel toont) en cat /etc/os-release (een opdracht die informatie over de distributie toont) uitgevoerd. Welke beschrijving van de resultaten is juist?