Close

Overwegingen voor je DevOps-toolchain

Moet je kiezen voor een alles-in-één of aanpasbare DevOps-toolchain?

Headshot Robert Krohn
Robert Krohn

Hoofd Engineering, DevOps

Redactionele bijdrage: Chandler Harris

Een DevOps-toolchain is een verzameling tools, vaak van verschillende leveranciers, die werken als een geïntegreerde eenheid voor het ontwerpen, builden, testen, beheren, meten en bedienen van software en systemen. Het stelt ontwikkelings- en operationele teams in staat om gedurende de hele levenscyclus van het product samen te werken en pakt belangrijke DevOps-basisprincipes aan, waaronder continue integratie, continue levering, automatisering en samenwerking.

Van agile naar DevOps


Toen agile principes wijdverbreid werden, zorgden ze voor een revolutie in de manier waarop we producten maken. We omarmden kleine, cross-functionele teams en sprints van één tot twee weken die artefacten produceerden die klaar waren voor productie. We hadden krappe feedbackcycli en continue verbetering. We hebben producten sneller geleverd en met minder hoofdpijn.

Het is verbazingwekkend hoe snel dingen veranderen. Nu met cloud-, SaaS- en 'always-on'-services is de levenscyclus van ontwikkeling veel sneller. Het is gebruikelijk dat meerdere ontwikkelings- en testfasen tegelijkertijd plaatsvinden. Hoewel agile doorgaans sprints van één tot twee weken had, herhalen en implementeren teams in de huidige cloud-native omgevingen meerdere keren per dag. Workflows en codebases evolueren voortdurend. Teams gebruiken functievlaggen, progressieve uitrol en A/B-tests om ervoor te zorgen dat er continu schone, kwalitatief hoogwaardige code wordt geïmplementeerd.

DevOps is een reeks werkwijzen om de processen tussen softwareontwikkeling en IT-teams te automatiseren, zodat ze software sneller en betrouwbaarder kunnen bouwen, testen en releasen. DevOps-teams worden gemeten aan de hand van hoe snel ze code in productie zetten. Ze worden gedefinieerd door het aantal iteraties dat elke dag wordt verzonden en hoe lang het duurt voordat een codewijziging van testen tot implementatie en in productie gaat. Typische projecten in mijn team zien tot 20 veranderingen per dag. Sommige grotere projecten zien tot 100 wijzigingen per dag.

Deze versnelde workflow wordt mogelijk gemaakt door en is afhankelijk van nieuwe tools waarmee teams kunnen samenwerken bij ontwikkeling, testen en implementatie. Met name een DevOps-toolchain helpt teams elke fase van de ontwikkelingscyclus heel snel aan te pakken.

Wat is een DevOps-toolchain?


Een DevOps-toolchain bevat de tools en technologie waarmee ontwikkelings- en operationele teams gedurende de hele levenscyclus van de software kunnen samenwerken. Het behandelt de belangrijkste basisprincipes van DevOps, waaronder continue integratie, continue levering, automatisering en samenwerking.

Omdat DevOps een culturele verschuiving is waarbij ontwikkeling en operaties werken als een geïntegreerde eenheid, is er niet één enkele tool die DevOps-principes en -werkwijzen mogelijk maakt. Een DevOps-toolchain is meer een verzameling tools, vaak van verschillende leveranciers, die werken als een geïntegreerde eenheid voor het ontwerpen, bouwen, testen, beheren, meten en runnen van software en systemen. Vaak moeten organisaties en teams experimenteren met verschillende combinaties van tools om de juiste toolchain te vinden.

Als je een geavanceerd DevOps-product bekijkt, moet de DevOps-toolchain verschillende onderdelen van de ontwikkelingslevenscyclus zeer snel kunnen aanpakken en meerdere lenzen kunnen aanbieden voor verschillende gebruikers. Het moet ontwikkeltools bevatten die elke fase van de levenscyclus van de ontwikkeling aanpakken, waaronder continue integratie en levering, testautomatisering en snelle implementatie. Aan de operationele kant van DevOps moeten tools functionaliteit bevatten die helpt bij het monitoren en incidentmanagement. Bovendien moeten tools ontwikkeling en activiteiten overbruggen door continue feedback en logboekregistratie te bieden.

Pictogram verbonden ringen
gerelateerd materiaal

Gratis aan de slag

Pictogram van organisatienode
gerelateerd materiaal

Ontdek de integraties

DevOps-cyclus illustratie

Als je de linkerkant van de infinity loop beschouwt als de productkant en de rechterkant als de bedieningskant, is de productmanager die een nieuwe functie in productie pusht, geïnteresseerd in het zien hoe het project op te delen is in taken en userstory's. De ontwikkelaar aan de linkerkant van het project moet zien hoe de functie naar productie kan worden verplaatst, inclusief projecttickets, userstory's en afhankelijkheden. Als ontwikkelaars zich houden aan het DevOps-principe van 'you build it, you run it', zijn ze ook geïnteresseerd in het oplossen van incidenten.

Als hij naar de operationele kant van de levenscyclus gaat, moet de engineer voor sitebetrouwbaarheid begrijpen welke services kunnen worden gemeten en gecontroleerd, zodat wanneer er een probleem is, dit kan dit worden opgelost. Als je geen toolchain hebt die al deze processen met elkaar verbindt, heb je een rommelige, ongecorreleerde, chaotische omgeving. Als je een goed geïntegreerde toolchain hebt, kun je beter in context plaatsen wat er gaande is.

Opties voor het bouwen van je DevOps-toolchain


Bij het bepalen van de juiste DevOps-toolchain is het belangrijk om eerst de fundamentele best practices van DevOps te begrijpen en hoe tools deze praktijken ondersteunen. Stel vervolgens een gemeenschappelijke toolstrategie op waarmee teams kunnen samenwerken op het gebied van ontwikkeling, testen en implementatie.

Wanneer organisaties DevOps gebruiken, worden ze meestal geconfronteerd met twee keuzes: een 'alles-in-één' DevOps-toolchain of een aangepaste DevOps-toolchain. Het kiezen van de juiste configuratie is belangrijk omdat deze vorm geeft aan de DevOps-processen van een team.

Alles-in-één DevOps-toolchain

Een alles-in-één DevOps-oplossing biedt een complete oplossing die mogelijk niet kan worden geïntegreerd met andere tools van derden. Dit kan handig zijn voor bedrijven of groepen die net aan hun DevOps-reis beginnen, of als een team snel een project wil starten. Het nadeel van dit type toolchain is dat de meeste gevestigde teams al een set tools hebben die ze gebruiken en verkiezen, die mogelijk niet kunnen worden geïntegreerd met een complete oplossing. Bovendien kan zo'n uitgebreide toolchain last hebben van het 'jack of all trades, master of none'-syndroom. Eén tool kan gewoon niet evolueren naar snel veranderende markten. Tot slot moeten bedrijven vaker wel dan niet legacy tools integreren in een DevOps-toolchain en een alles-in-één toolchain kan dit beperken.

Aanpasbare DevOps-toolchain

De andere aanpak is om een DevOps-toolchain te gebruiken die kan worden aangepast aan de behoeften van een team met verschillende tools. Dit stelt teams in staat om de bestaande tools die ze kennen en waar ze van houden in de bredere DevOps-toolchain te brengen. Een team kan bijvoorbeeld Jira gebruiken voor planning en workflowtracking, Kubernetes om individuele ontwikkelomgevingen in te richten, Github voor codering voor samenwerking, Jenkins voor continue integratie en meer. Organisaties kunnen hun workflows aanpassen per team en/of per project.

Integratie is essentieel voor dit soort toolchains. Als de verschillende tools niet worden geïntegreerd, besteden teamleden onnodige tijd aan het wisselen tussen schermen en inloggen op meerdere plaatsen, en kan het een uitdaging zijn om informatie tussen tools te delen. Dat is geen geweldige ervaring voor ontwikkelaars of iemand die probeert te begrijpen wat er aan de hand is. Als je reageert op een incident, heb je geen tijd om een handleiding te bekijken en belangrijke informatie over een nieuwe tool te vinden.

Conclusie...


DevOps gaat over het afbreken van silo's en het zorgen dat de levenscyclus van de ontwikkeling sneller, sterk geautomatiseerd en geschikt voor naadloze samenwerking wordt — of het nu cross-functioneel is of binnen één team. Het kiezen van de juiste DevOps-tools die op elkaar aansluiten, gaat in de eerste plaats om goed kijken naar je huidige softwareontwikkelings- en IT-bewerkingsproces en bepalen waar je moet verbeteren.

Meer informatie over tools voor elke fase van de DevOps-levenscyclus.

Robert Krohn
Robert Krohn

Robert Krohn is Head Of Engineering, DevOps bij Atlassian. Hij heeft meer dan 20 jaar ervaring op het gebied van software engineering en -beheer en heeft leiding gegeven op het gebied van software, hardware en activiteiten in diverse productsegmenten. Hij wordt het meest enthousiast van engineeringteams van wereldklasse en toonaangevende producten. Hij houdt van fietsen, zeilen met zijn Laser en wintersporten. Hij woont in Belvedere, Californië met zijn vrouw Nicole, zijn kinderen, honden en een kat.


Deel dit artikel
Volgend onderwerp

Aanbevolen artikelen

Bookmark deze resources voor meer informatie over soorten DevOps-teams of voor voortdurende updates over DevOps bij Atlassian.

Toelichting DevOps

DevOps-community

Toelichting DevOps

Simulatieworkshop

Afbeelding van kaart

Gratis aan de slag

Meld je aan voor onze DevOps-nieuwsbrief

Thank you for signing up