Prometheus & Chaos engineering

NB Deze les vervalt in 2024 voor dinsdagmiddag 31 september. Vanwege drukte, de toets donderdag en verkortte laatste (course) weekopdracht. Deze les komt in week 6 kort terug als 2 goed onderwerp voor een eigen onderzoek en/of toepassing in PitSop BP/eindopdracht.

Vandaag 2 aparte onderwerpen: monitoring en statistieken via Prometheus en Grafana. En een 'build for failure' aatitude via Chaos engineering in K8S met de tool Chaos mesh.

Huiswerk/voorbereiding Chaos Engineering

Chaos Mesh

Shift left vs shift right

Figuur 1: Chaos Mesh

Shift left vs shift right

Figuur 2: Shift left vs shift right

Huiswerkvragen

  • Schrijf voor jezelf op wat 'shift left' betekent. Beantwoord in ieder geval:
    • waarom term 'left'?
    • wat shift je?
    • betrek ook het plaatje van software development continuum (of DevOps infinity loop)
  • Zelfde voor 'shift right': Wat betekent shift right?
    • Betekent 'shift right' dat je test in productie?
    • Wat heeft shift right' met SlackOps te maken?
    • Kun je een load test ook op een test omgeving doen? Wat is er dan nodig?

Uitstapje: The founder

The founder: Speedy system

Figuur 3: 'Founder trailer'

Lesvraag: Wat heeft deze video met DevOps te maken? Link ook aan het concept 'shift right'.

Chaos Engineering in PitStop

Chaos Engineering in PitStop

Figuur 3: Video: Stukje Chaos engineering in PitStop; demo van Edwin van Wijk

  • Welke tools gebruikt Edwin van Wijk om Chaos Engineering principe toe te passen (het YouTube filmpje start bij stuk over 'Chaos Engineering' op 41 en een halve minuut. Misschien ). Bij welke van de 5 weekthema's uit de minor hoort elke?

  • Welk onderzoeksmethode hoort bij een load test? (if any)

    • In welke onderzoeksruimte zit deze methode?
    • Wat is het verschil tussen een load test en een performance test? (if any)
    • Vindt een alternatieve tool voor K6, schrijf kort verschil in features tussen de twee (nadeel en voordeel t.o.v. elkaar)

Prometheus

Week opdracht 5 bevat het maken van custom metrics in je applicatie en het verzamelen (scrapen) hiervan met Prometheus.

Prometheus architecture

Figuur 1: Prometheus architectuur (bron: prometheus.io)

In deze laatste onderwijsweek testen we meer je eigen attitude.

Attitude

  • je bent nieuwsgierig, en vindt zelf geschikte bronnen (je hebt deze minor zelf gekozen, en gaat volgende week ook onderzoek doen)
  • je werkt zelfstandig (je gaat na de minor afstuderen)
  • kunt *samenwerken ('DevOps is cooperation').
  • je bent pragmatisch (je pakt een nuttige rol in de groepsopdracht, bepaalt een einddoel en houdt deze in de gaten)

Vanuit deze attitude zorg je dat een aantal dingen kent (kennis op doet) en kunt (vaardigheden aanleren en oefenen).

Kennen:

  • de Prometheus architectuur
  • Belangrijke termen: metrics, metrics server, promql, visualizer, service discovery, time series en scraping.
  • Ook weet je hoe samenwerking Prometheus is met Grafana of andere broodnodige visualisatie tools als de ELK stack (omdat Prometheus NIET zelf visualisatie doet; zie figuur 2.)

Kunnen:

In de weekopdracht moet je

  • enkele algemene metrics tonen
  • maar ook applicatiespecifieke metrics.
Prometheus architecture extended

Figuur 2: Prometheus uitgebreide architectuur (inclusief visualisatie tool als Grafana; bron: DevOpsSchool.com)

Bronnen

TODO: netjes volgens APA.

Last change: 2025-01-13