
Vat dit blogbericht samen met:
De interesse in DevOps is de afgelopen jaren enorm toegenomen. Geloof ons niet zomaar op ons woord. Bekijk de resultaten van Google Trends zelf. Als je nog niet bekend bent met het onderwerp of meer wilt weten over DevOps-pipelines en de belangrijkste uitdagingen bij de implementatie van DevOps, dan ben je hier aan het juiste adres. Lees dus verder. We zullen ook ingaan op recent onderzoek op dit gebied.
We hebben in het artikel ' Top 5 trends in DevOps' al besproken hoe DevOps lijkt op de Agile-methodologie en kan helpen bij Shift Left Testing. Maar laten we ook even kort bekijken waar DevOps nu precies om draait.
DevOps is een combinatie van filosofie en tools die het vermogen van een organisatie om samen te werken en sneller resultaten (producten en diensten) te leveren vergroot door de ontwikkel- en operationele teams samen te voegen. Binnen het DevOps-model worden ontwikkelteams (Dev) en operationele teams (Ops) samengevoegd tot één team, waarin iedereen werkt aan de volledige softwareontwikkelingslevenscyclus. Dit proces kan snelheid, betrouwbaarheid, beveiliging en samenwerking verbeteren.
Hoewel dit eenvoudig klinkt, brengt het enkele praktische uitdagingen met zich mee die we in het tweede deel van dit artikel zullen bespreken. Laten we eerst een paar vragen beantwoorden die u mogelijk heeft en uitleggen wat een DevOps-pipeline is.
Als je met deze vraag worstelt, dan vind je wellicht een van de beste voorbeelden in het boek Phoenix Project van Gene Kim. Een fragment uit het boek luidt als volgt:

Bron: The Phoenix Project
Zoals je ziet, hebben organisaties zoals Amazon, Google, Netflix, enzovoort, een hogere implementatiefrequentie, wat de flexibiliteit en het gemak biedt om dagelijks voorkomende problemen aan te pakken. Dus als je een samenwerkingsgerichte, tijds- en kostenefficiënte oplossing voor je softwareontwikkeling wilt, dan is DevOps de juiste keuze.
Een pipeline is in dit geval een horizontale overdracht van de ene fase naar de andere. Net als elk softwareproces omvat dit de bouw-, test- en implementatieprocessen, en dat continu. In deze pipeline bespreken we de verschillende processen die betrokken zijn bij de implementatie van DevOps. Alle fasen van een DevOps-pipeline worden hieronder opgesomd:

Hoewel er geen vaste regels of stappen zijn voor de structuur van de pipeline, hebben we deze onderverdeeld in verschillende niveaus. De kernstappen zijn: Ontwikkelen, Bouwen, Testen en Implementeren. Maar ook de andere activiteiten zijn belangrijk voor betere resultaten op de lange termijn. De acht activiteiten in de DevOps-pipeline zijn:
- Plan
- Ontwikkelen
- Bouwen
- Test
- Uitgave
- Aanwenden
- Bediening
- Monitor
Kort samengevat omvat de planningsfase het vaststellen van de vereisten en de volledige workflow voordat de ontwikkelaars beginnen met coderen. Dit gebeurt meestal door het project op te delen in kleinere stukken. In de ontwikkelings- en bouwfase bouw je de broncode, werk je samen in een gedeelde broncode-repository en voer je continue integratie en levering uit. Met geautomatiseerd testen kun je ervoor zorgen dat de code foutloos door de pipeline gaat.
Tijdens de test-, release- en implementatiefasen voert u handmatige en geautomatiseerde tests uit en valideert u de definitieve code. Voor de implementatie kan een blue-green deployment-strategie worden gebruikt, waarbij twee identieke productieomgevingen worden opgezet, of geautomatiseerde implementatie in geval van kleine wijzigingen. Ten slotte verzamelt u in de operationele en monitoringfasen gegevens uit logbestanden, bewaakt u systemen en krijgt u feedback van alle processen om de efficiëntie te verbeteren.
Je zult nu wel begrepen hebben dat DevOps, net als elk ander softwareontwikkelingsproces zoals Agile, Lean, Scrum of Waterfall, zijn eigen fasen kent.
DevOps is het ultieme automatiserings- en integratieproces. Er zijn vergelijkbare processen die zich ermee hebben ontwikkeld, zoals DevSecOps (inclusief ontwikkeling, beveiliging en operations). DevOps brengt echter ook uitdagingen met zich mee, die vergelijkbaar zijn met andere software-implementaties, maar ook verschillen. Laten we eens kijken naar enkele uitdagingen die men kan tegenkomen bij de implementatie van DevOps:
1. Integratie van tools over verschillende domeinen heen
In dit artikel zult u de term "continu" herhaaldelijk tegenkomen, vaak met verschillende achtervoegsels. Continue integratie is een van de belangrijkste factoren en een best practice binnen DevOps. Niet elke organisatie beschikt echter over de mogelijkheden om processen te bouwen en te implementeren in combinatie met continue integratie. Dit kan leiden tot vertragingen en grotere veranderingen over een langere periode in plaats van korte periodes. Daarom is de beschikbaarheid van REST API's of integratiemogelijkheden essentieel.
2. Op weg naar microservices
Microservices is een architectuurontwerpmethode waarbij meerdere services, die elk met een eigen framework of programmeertaal zijn ontwikkeld, gelijktijdig worden geïmplementeerd als één geheel of als een groep services. Klinkt ingewikkeld? Het is vergelijkbaar met het opsplitsen van een proces en het onafhankelijk uitvoeren van elk subproces. Door Infrastructure-as-a-Code toe te voegen aan microservices worden continue levering en innovatie mogelijk gemaakt.
3. Keuze van uiteenlopende instrumenten
Ontwikkelings- en operationele teams kunnen verschillende tools gebruiken voor hun werk. Daarom is het, zelfs vóór de implementatie begint, nodig om de tools en verwachtingen van beide teams in kaart te brengen en op elkaar af te stemmen.
4. Gebrek aan visie
Uiteindelijk wil je dat twee of meer afzonderlijke teams als één geheel samenwerken, waarbij een visie wordt gedefinieerd met de belangrijkste verantwoordelijkheden van elk team en de barrières tussen hen worden weggenomen. Dit kan worden bereikt door te experimenteren met een aantal softwareprocessen of voor een product en deze vervolgens opnieuw te ontwikkelen met behulp van DevOps-praktijken.
Er zijn nog veel meer uitdagingen, maar laten we ons beperken tot deze. De uitdagingen geven je een idee van wat je kunt verwachten en wat je niet moet doen bij je DevOps-implementatie. Maar hoe ziet de realiteit eruit?
Laten we proberen deze vraag te beantwoorden aan de hand van een recent onderzoek van CloudBot Software. Dit onderzoek bevat inzichten van 200 wereldwijde IT-leiders.
Laten we nu eens kijken naar de adoptiepercentages van DevOps, het belang ervan en de algehele huidige status van DevOps binnen IT-bedrijven.
Belang van CI/CD-infrastructuur
97% van de respondenten is het ermee eens dat het testen van de CI/CD-infrastructuur belangrijk is voor hun organisatie en 85% geeft aan deze infrastructuur regelmatig te testen. Dit laat zien dat de meeste mensen in het concept en de werking ervan geloven, maar dat ze problemen ondervinden bij de implementatie.
Implementatiesnelheden
Slechts 5% van de bedrijven is het ermee eens dat ze dagelijks meerdere implementaties uitvoeren, terwijl maar liefst 85% aangeeft dat ze wekelijks of maandelijks implementaties hebben. Dit komt doordat de meeste bedrijven zich verzetten tegen de overstap van traditionele infrastructuur naar microservices.
Expertise met DevOps
Ondanks alle tools, procesverbeteringen en investeringen beschouwt slechts 4% van de bedrijven zichzelf als expert op het gebied van CI/CD. En slechts 11% acht de CI/CD-infrastructuur betrouwbaar.
Enkele belangrijke redenen voor het uitblijven van de implementatie van de infrastructuur zijn dat
- Mensen vinden dat er te veel handmatige processen nodig zijn bij het opzetten van de pipeline (ongeveer 63% is het daarmee eens).
- 53% erkent dat ze problemen ondervinden bij het opsporen van infrastructuurproblemen.
- 55% van de mensen vindt het moeilijk om een "continue" werkomgeving te creëren die verschillende teams verbindt.
Klinkt dit bekend? Dit is waar we het in het vorige gedeelte over hadden, over de uitdagingen waar we voor staan. Zoals gezegd is het belangrijk om de gemeenschappelijke basis tussen de teams te vinden en met een visie voor ogen bij te dragen.
Volgens Gartner's "Hype Cycles for Agile and DevOps" uit 2020 en 2021 bevindt DevSecOps zich op de helling van de verlichting en zal naar verwachting binnen 2 tot 5 jaar algemeen geaccepteerd worden. Dit is dus het juiste moment om na te denken over de implementatie en toepassing van de software op de lange termijn binnen organisaties.
DevOps heeft zoveel succes geboekt omdat het samenwerking bevordert en innovatie in slechts enkele stappen mogelijk maakt. De weerstand tegen de implementatie komt echter voort uit een gebrek aan mogelijkheden en infrastructuur, waardoor deskundige begeleiding vaak nodig is.
Hier kan Polestar Analytics haar expertise op het gebied van data, analytics, cloud, ontwikkeling en operations inzetten om gepersonaliseerde oplossingen, processen en kennis aan uw organisatie te leveren. U hoeft alleen maar een bericht te sturen !