Continuous Delivery vs DevOps

Huiswerk

  1. Bekijk het interview met Gene Kim over 'zijn' 3 ways of DevOps
  2. Bekijk het animatiefilmpje van Rackspace over 'What is DevOps'
  3. Beantwoord voor jezelf onderstaande vragen over deze bronnen (zet deze in een markdown bestand `<les-cd-antwoorden-mijn-naam.md> in je weekopdracht)
  4. Lees deze week de reader DevOps H10: 'Code Management' ((Sommerville, 2018) students only acces in GitHub; NB: vragen in theorietoets!)

1 Vragen bij Reader DevOps

  • Wat zijn de 3 hoofdpunten belangrijkste principes* van DevOps uit Sommerville's hoofdstuk over `DevOps and Code Management'? (p. 307)
  • Hoe verhouden deze 3 punten zich tot de punten uit de twee filmpjes over DevOps van Gene Kim en RackSpace? Schrijf wat je opvalt, wat verschilt en overeenkomt.

2. Vragen bij interview Gene Kim

Beantwoord de volgende vragen:

  1. Wat bedoelt Kim precies met zijn 'peeing puppy' analogie? Schrijf een korte paragraaf hierover.
  2. Hoe moeten jullie straks tijdens het tweeweekse project dat de DevOps course afsluit om gaan met deze 'peeing puppy'? (E.g. wanneer moet deze 'zindelijk' zijn?)
  3. Kun je beter beschrijvende namen vinden verzinnen voor de three ways dan Kim's cryptische 'First way', 'Second way' en 'Third way'? Geef deze! #namingThings

3. Vragen bij animatie filmpje DevOps

Beantwoord onderstaande vragen bij het filmpje. Dit is een check of je gekeken hebt, maar ook voor activering van je voorkennis en duidelijk krijgen verschil in voorkennis en mening tussen jou en collega studenten.

NB: Het is niet erg als je voorkennis niet hebt, beantwoord wel sowieso de vragen die het filmpje zelf geeft en de mening vragen. Je hoeft niet te gaan googlen o.i.d voor de overige, tenzij een vraag dit expliciet vermeldt.

  1. Welke 2 typische deploy omgevingen ('environments') worden genoemd in het filmpje? Welke hoort bij Anna en welke bij Dave?
  2. Ken jij nog meer omgevingen dan deze twee? Hoe noem je deze als ICT'er? Welke hiervan zal of moet elke ICT organisatie in ieder geval hebben?
  3. Vergelijk deze extra 'tussenliggende' omgevingen met de 2 van vraag 1. Stel dat de software een typische 3-tier webapplicatie is, e.g. website met wat business logica en een database voor persistentie. Welk van deze onderdelen verschilt van de andere? Hoe. En waarom? Geeft dit nog security risico's.
  4. Welke 3 problemen veroorzaakt de delay die Dave ervaart? Geef voor elk probleem aan of dit een probleem is voor Dave, Anna en/of het hele bedrijf.
  5. Wat levert Dave eigenlijk precies op aan Anna? Is dit code of software? Wat is eigenlijk het verschil hier tussen?
  6. Uit welke 2 componenten bestaat DevOps volgens het filmpje? (Niet 'Dev' en 'Ops'; kijk het filmpje!)
  7. Welke van deze twee denk je dat belangrijker is? Waarmee moet je beginnen? Welke van de twee is het makkelijkst te adopteren?
  8. Welk van deze twee besteden we de meeste tijd aan in de minor denk je? (En welke zouden we het meeste tijd aan moeten besteden vind je?)
  9. Welke 3e item/onderdeel blijft impliciet? Kun je nog een 3e onderdeel verzinnen bij DevOps?
  10. Met welke 3 soorten taken zorgt DevOps voor betere samenwerking en productiviteit?
  11. Een van deze 3 taken (taaksoorten) heeft met workflows te maken. Wat bedoelt de verteller met workflows?
  12. Iets verderop geeft het filmpje nog een lijstje van 3. Nu zijn het alle 3 'automatiseer' taken. Welk item is hier verschillend met het vorige lijstje van 3?
  13. Stel je houdt met DevOps bijvoorbeeld een grote e-shop in de lucht (zoals je zelf zult doen in het beroepsproduct aan het eind van deze course). Dan kun je de zogenoemde 'conversie ratio' bepalen (conversion rate). Leg uit wat dit is, zoek eventueel op.
  14. Wat heeft 'conversie' ratio met je antwoord op vraag 12 te maken?
  15. Welk soort code schrijf je in de DevOps role meer dan in een Dev rol?

Les overzicht

  • Bespreken stelling
  • Behandelen huiswerkvragen
  • Bespreken problemen bij weekopdracht 3
  • Pauze
  • 12Factor app principles (of 15 factor..): Duo ~~presentaties`` pitches (belangrijk voor de toets)
  • Video 'The Difference Between DevOps and Continuous Delivery' (13 min) kijken en nabespreken (Farley, 2021)
  • Checken leerdoelen

Als er onvoldoende tijd is voor video dan thuis zelf kijken en nu korte samenvatting door docent).

Les inhoud

Stelling:

"Requirements are the things that you should discover before starting to build your product." - Bron...?

David Farley over CD vs DevOps

12factor app principles

Opsplitsen in duo's en verdelen 12Factor principles.

Elk duo leest beide leden de introductie op de 12factor.net website. Het beantwoorden van onderstaande vragen onderling bespreken helpt je bij het geven van een presentie.

Eerste 8 van de 12factor principes
  • Waarvoor zijn de 12factor principles? Gebruik in je antwoord de term 'software erosion' en leg uit wat dit is
  • Wat is het verschil tussen SaaS, PaaS en IaaS, en welke is relevant voor 12factor principle en waarom?
  • Geef een voorbeeld op waarin het principe van toepassing was uit je eigen ervaring als ontwikkelaar of operations werkzaamheden, of verzin er eentje, evt. met hulp van google of ChatGPT.

Leerdoelen Continuous Delivery

Check met onderstaande leerdoelen of je de behandelde stof begrepen hebt en toetsvragen kunt beantwoorden.

  • Je kunt iets vertellen over 'Continuous Delivery' en de relatie met DevOps
  • Je kent het belang van DevOps cultuur en mindset
  • Je kent de 'three ways' van DevOps
  • Je kent het Agile manifesto en enkele principes ervan en kunt uitleggen hoe DevOps in het verlengde daarvan ligt
  • Je kunt verschillende stadia en vormen noemen hoe DevOps in een bedrijf is doorgevoerd
  • Je kent de centrale rol van de CI/CD pipeline binnen DevOps en de aansluiting op versiebeheer
  • Je snapt het principe van refactoren en de term technical debt
  • Je kunt een (scripted) pipeline inrichten in Gitlab, GitHub of Jenkins (2.x)
  • Je kent de 12factor app methodology en kunt toetsen of je software conform een bepaalde factor is

Bronnen

  • Farley, D., Continuous Delivery (24-3-2021) The Difference Between DevOps and Continuous Delivery youtube.com Geraadpleegd november 2024 op https://www.youtube.com/watch?v=-sErBqZgKGs
  • Fowler, M. (16-9-2008) Observed Requirement martinfowler.com Geraadpleegd november 2024 op https://martinfowler.com/bliki/ObservedRequirement.html
  • Kim, G. Hiller, P (6-6-2020) DevOps Gene Kim Defines the 3 Ways of The Phoenix Project Jack Caine op youtube.com, geraadpleegd oktober 2024
  • Rackspace Technology (12-12-2013) What is DevOps? - In Simple English YouTube.com, Geraadpleegd oktober 2024 op https://www.youtube.com/watch?v=_I94-tJlovg
  • Sommerville, I. (2018) Engineering Software Products H10 Code management
  • Wiggins, A. (2017) The Twelve-Factor App. 12factor.net. Geraadpleegd november 2024 op https://12factor.net
Last change: 2025-01-13