Desmond van der Winden

Wat betekend DevOps?


Het begrip DevOps is een samentrekking van het Development- en Operationsteam. Je komt deze samentrekking steeds vaker tegen. Deze blog vertelt je tot in detail wat DevOps is, wat de voordelen ervan zijn, en hoe deze teams (samen)werken. In de blog worden fictieve namen gebruikt om concrete voorbeelden te kunnen geven over de inhoud van DevOps werken.

Devops rollen: rol van developer
Milan is developer en schrijft code voor nieuwe producten, functies, updates, bugfixes etc. Het bedrijf waarvoor hij werkzaam is, is sterk afhankelijk van het succes van nieuwe online producten die op de (concurrerende) markt gebracht worden. Helaas moet Milan soms weken wachten voordat zijn werk in productie wordt genomen. Deze vertragingen zijn erg kostbaar voor het bedrijf en het verhoogt de druk van de concurrentie.

DevOps team developer Milan
Milan heeft er een enorme uitdaging aan om zowel de code van bestaande producten te beheren, als de code van nieuwe producten en functies te ontwikkelen. Wanneer de code van Milan uiteindelijk in de productieomgeving wordt geïmplementeerd, treden er daarom soms onvoorziene fouten of problemen op.

Devops rollen: rol van functioneel beheerder
Emma is systeembeheerder van het operationsteam. Het is haar verantwoordelijkheid om de uptime van de productomgeving te handhaven en garanderen. Het aantal servers dat Emma in beheer heeft groeit constant omdat het bedrijf nieuwe producten blijft lanceren, en klanten meer diensten blijven afnemen.

Emma de systeembeheerder
Een toename in het aantal gebruikte servers, heeft verschillende gevolgen. De tools die ze gebruikt om enkele servers te beheren, zijn niet meer zo effectief als ze worden gebruikt om een ​​veel groter volume aan servers te beheren. Dat heeft dus gevolgen voor de manier waarop nieuwe code wordt geïmplementeerd in de productieomgeving.

Als er een nieuw product en dus een nieuwe code wordt vrijgegeven, is het vaak passen en meten om de nieuwe software in de omgeving te zetten. Daarom staat Emma slechts één keer per maand toe dat er nieuwe implementaties worden gedaan, en die implementaties moeten bovendien ver vooruit worden gepland. Emma ervaart het soms alsof ontwikkelaars hun werk over de muur gooien, zonder enig overleg.

Samenkomen van DevOps teams
Milan en Emma ervaren in het werkproces beiden een belemmering die ten koste gaat van hun effectiviteit. Wat kan er gedaan worden om het werk van Milan en Emma beter en makkelijker te maken? Uiteindelijk hebben zij hetzelfde doel, meer tevreden klanten. Wat als zij als team konden samenwerken, dezelfde gedachtegang zouden hebben, en gedeelte verantwoordelijkheden zouden ervaren? Hier komen Dev en Ops teams samen.

Het werkproces van DevOps
Wat is DevOps?
DevOps combineert development en operations in één team. Het is een methode waar de nadruk ligt op samenwerking en communicatie tussen beide partijen. Het voornaamste doel van deze samenvoeging is om de productiviteit te verbeteren door automatisering van de infrastructuur, het automatiseren van workflows en het continu meten van prestaties.

In het DevOps team wordt software geschreven in kleine stukjes die stuk voor stuk worden geïntegreerd, getest, gecontroleerd en geïmplementeerd. Door steeds kleine stukjes software te schrijven, kan de frequentie van de implementaties omhoog en is er meer tijd om de implementatie van de nieuwe code verbeteren. Door de verbeterde samenwerking kan het team ook sneller inspelen op behoeften vanuit de markt of andere issues die van invloed kunnen zijn op de software.

Door de samenwerking met Emma krijgt Milan beter inzicht in de invloed van zijn wijzigingen op de prestaties van de software. Het ultieme doel is om een ​​productieomgeving te creëren die hun klanten de best mogelijke ervaring biedt.

Voordelen van DevOps werken?
Het werken in een DevOps team stelt het team in staat om het tempo van softwarelevering te verhogen. Daarnaast wordt er een concurrentievoordeel behaald door de kortere time-to-market. Door de automatisering van verschillende processen kan het team zich richten op zaken als de bedrijfsvoering en in het algemeen meer waarde leveren. Wanneer een bedrijf betere of innovatieve producten kan ontwikkelen en aanbieden, betekent dit (mogelijk) meer tevreden klanten.

Het succesvol integreren van DevOps werken
DevOps werken succesvol integreren
Om DevOps werken succesvol te integreren, is een cultuurverandering of op z’n minst verandering in de mindset nodig. DevOps werken vergt een hele andere manier van denken, kijken en handelen. Een ander onderdeel van de formule tot succes in een DevOps team zijn de juiste tools. Het team heeft een tool nodig waarmee ze hun code en software kunnen bouwen én testen. Een voorbeeld hiervan is Jenkins. Daarnaast is een tool benodigd voor bronbeheer zoals Nexus.

Tevens kun je tools zoals Chef en Puppet gebruiken voor configuratiebeheer. Met behulp van deze tools kunnen applicaties geautomatiseerd worden geïmplementeerd, op honderden of duizenden servers op verschillende locaties. De omgeving moet gemonitord worden om prestaties te meten en knelpunten te identificeren. Voor het monitoren van de omgeving kan Splunk uitkomst bieden.

Conclusie definitie DevOps werken
Het toepassen van deze DevOps-filosofie vereist een andere manier van denken, nieuwe hulpmiddelen en nieuwe vaardigheden. De nieuwe werkwijze kan bijvoorbeeld softwarebedrijven helpen om sneller te innoveren en beter in te spelen op marktbehoeften. Het bevordert de samenwerking tussen ontwikkelaars en beheerders, wat zorgt voor kwaliteit en een hogere frequentie van implementaties.

Devops versus Agile
DevOps is, net als Agile, een werkmethodiek. DevOps heeft kenmerken van Agile overgenomen en aangepast zodat deze beter passen bij het operationsteam. Meer weten over succesvol starten met Agile werken? Ben je zelf klaar om aan de slag te gaan in de rol van DevOps engineer, bekijk dan onze vacatures.