Wat is DevOps?

Voltooid

DevOps is de samenvoeging van mensen, processen en producten om continue levering van waarde aan onze klanten mogelijk te maken. Maar wat betekent dat precies? Laten we ons bij het team voegen als Mara uitlegt wat DevOps wel en niet is en wat goed presterende teams succesvol maakt.

Mara heeft een korte vergadering belegd met haar teamleden. Iedereen is opgekomen, maar niemand wil er zijn. Ze heeft een doos met donuts op tafel gezet.

Mara: Bedankt voor je komst. Ik wil het nog even hebben over onze waardestroomanalyse en hoe we onze processen efficiënter kunnen maken.

De waardestroomkaart van Mara staat nog steeds op het whiteboard van de vorige vergadering:

Schermopname van een whiteboard met de waardestroomkaart.

Mara: In onze waardestroomkaart ziet u waar we de efficiëntie verliezen bij het leveren van waarde aan onze eindgebruikers. Net als iedereen kunnen we verbeteren. En we kunnen beslissen welke gebieden het eerst moeten worden aangepakt.

Andy: Dit laat zien waar we problemen hebben, maar niet wat we eraan moeten doen.

Mara: Juist, het is een oefening die ons helpt in de juiste richting te wijzen. Wat betreft wat we aan onze problemen moeten doen, denk ik dat DevOps ons zal helpen. Bij mijn vorige bedrijf ging onze implementatiesnelheid erdoor omhoog, werd onze doorlooptijd flink korter en waren er minder incidenten bij bewerkingen. Het duurde even voordat we er waren, maar het was de moeite waard. DevOps is geen snelle oplossing.

Tim: Ik ken iemand die net een baan als DevOps-engineer heeft gekregen. Volgens mij is dat meer iets voor ontwikkelaars. Iemand zoals jij dus, Andy.

Mara: DevOps is geen functie.

Amita: Is er een softwareprogramma dat ons kan helpen, of een sjabloon? Misschien is er een DevOps-spreadsheet.

Mara: DevOps is geen stuk software.

Andy: Het is meer een methodologie.

Mara: Niet echt.

Andy, Amita, Tim: Wat is het?

Mara: Dit is de definitie die ik graag gebruik:

DevOps is de combinatie van mensen, processen en producten om continu waarde te kunnen bieden aan onze eindgebruikers.

Abel Wang, Een Cloud Advocate bij Microsoft, heeft zelfs een geweldige set video's met snelle antwoorden op enkele van onze grote vragen. Laten we eens kijken hoe Abel DevOps definieert:

Vraag het Abel

Ons doel is om onze klanten goede games te bieden. Dat doen we door samen te werken met een gedeelde set procedures en hulpprogramma's.

Amita: Wat moet dat betekenen? Welke gedeelde procedures? Welke gedeelde hulpprogramma's?

Mara: Dit is wat ik bedoel met praktijken:

  • Agile planning: Samen maken we een achterstand aan werk die iedereen in het team en in het management kan zien. We rangschikken de items op basis van prioriteit zodat we weten waaraan we het eerst moeten werken. De achterstand kan bestaan uit gebruikersverhalen, fouten en andere informatie die ons helpt.
  • Continue integratie (CI): We automatiseren de wijze waarop we onze code bouwen en testen. Die procedure wordt steeds uitgevoerd wanneer een teamlid wijzigingen doorvoert in versiebeheer.
  • Continue levering (CD): CD is de wijze waarop we testen, configureren en implementeren vanuit een build naar een QA- of productieomgeving.
  • Bewaking: we gebruiken telemetrie om informatie op te halen over de prestaties en gebruikspatronen van een toepassing. Met die informatie kunnen we het de volgende keren beter doen.

Amita: Ik weet niets van geautomatiseerd testen. Mijn tests zijn handmatig en ik doe ze nadat Andy de code aan mij heeft overhandigd. Ik heb geen tijd om mijn hele werkwijze te veranderen.

Tim: Ik laat jullie niet in productie gaan.

Andy: Dit zal het management bang maken. Ze denken nooit verder dan de volgende release en ze willen het altijd gisteren.

Mara: Ik weet wat je bedoelt over management. Daarom heb ik deze hand-outs samengesteld over wat goed presterende teams succesvol maakt.

Wat maakt goed presterende teams succesvol?

Dit is de hand-out die Mara heeft gemaakt. De informatie is gebaseerd op DevOps-onderzoeksrapporten en enquêtes onder technische professionals van overal ter wereld.

DevOps helpt bedrijven te experimenteren met manieren om de acceptatie en tevredenheid van klanten te verhogen. Het kan leiden tot betere prestaties van de organisatie en vaak tot een hogere winstgevendheid en een hoger marktaandeel.

Er worden metrische gegevens gebruikt om vier categorieën te maken waarmee toppresteerders kunnen worden vergeleken met slecht presterende gebruikers.

Elite performers:

  • Vaker implementeren

    Sommige teams implementeren zelfs tientallen keren per dag.

    Met procedures zoals bewaking, doorlopend testen, databasewijzigingsbeheer en het integreren van beveiliging eerder in het softwareontwikkelingsproces kunnen elite-performers vaker en met meer voorspelbaarheid en beveiliging implementeren.

  • De doorlooptijd van doorvoer tot implementatie beperken

    De doorlooptijd is de tijd die het kost voordat een functie bij de klant terechtkomt. Door te werken met kleinere batches, handmatige processen te automatiseren en vaker te implementeren kunnen goed presterende teams in uren of dagen realiseren wat ooit weken of zelfs maanden duurde.

  • Het foutpercentage van wijziging beperken

    Een nieuwe functie die in productie mislukt of waardoor andere functies worden onderbroken, kan een gemiste kans tussen u en uw gebruikers veroorzaken. Naarmate goed presterende teams volwassen worden, verminderen ze het aantal mislukte wijzigingen in de loop van de tijd.

  • Sneller herstellen van incidenten

    Als er incidenten plaatsvinden, kunnen goed presterende teams sneller zorgen voor herstel. Door te handelen op basis van metrische gegevens kunnen elite-performers sneller herstellen terwijl ze ook vaker implementeren.

De implementatiewijze van cloudinfrastructuur is ook van belang. De cloud verbetert de prestaties van softwarelevering en teams die essentiële cloudkenmerken overnemen, worden waarschijnlijk beter presterende teams.

Uitbesteding kan geld besparen en een flexibele arbeidspool bieden, maar het moet in de juiste gebieden worden gebruikt. Slecht presterende teams hebben meer kans om hele functies (zoals testen en bewerkingen) uit te besteden dan hun goed presterende tegenhangers.

De bottom line

DevOps is een belangrijke reden waarom veel toppresteerders sneller waarde kunnen leveren aan klanten in de vorm van nieuwe functies en verbeteringen dan hun concurrenten. In deze korte video legt Abel uit waarom u meer moet leren over DevOps:

Vraag het Abel

Wat is DevOps niet?

Wanneer u bedenkt wat DevOps is, is het ook belangrijk om ervoor te zorgen dat we weten wat het niet is. DevOps is niet:

  • Een methodologie.
  • Een specifiek stukje software.
  • Een snelle oplossing voor de uitdagingen van een organisatie.
  • Alleen een team- of functietitel (hoewel deze titels redelijk gebruikelijk zijn in de branche).