Wat is (Azure) DevOps?

Als (software)bedrijf moet je je dagelijks bewijzen in de huidige competitieve en veranderlijke markt. Software moet niet alleen sneller op de markt worden gebracht, het moet ook continu worden aangepast om aan de behoeften van de eindgebruiker te blijven voldoen. De sleutel hiertoe is een gestroomlijnde manier van werken. Duidelijke communicatie. Heldere processen. En korte doorlooptijden. Maar hoe krijg je dat voor elkaar? DevOps zou je hierbij kunnen helpen, maar wat is (Azure) DevOps? 

 

Wat is DevOps?

De definitie van DevOps 

DevOps is een samenstelling van Dev (development) en Ops (operations). In een notendop gaat het om de samenwerking tussen software-ontwikkeling en productiebeheer, tussen de ontwikkelaars en de operationele teams. 

Grote kans dat je door bovenstaande denkt dat DevOps een softwareontwikkelmethode is, maar die omschrijving is niet volledig. Ook al is het gerelateerd aan en beïnvloed door diverse softwareontwikkelmethoden, is DevOps meer dan dat. 

DevOps gaat uit van de basisprincipes van Agile: de focus op individuen, interacties en samenwerken. Het grootste verschil is dat DevOps deze lijn doortrekt over de gehele organisatie, in plaats van uitsluitend binnen het ontwikkelproces. Je zou DevOps daarom het beste kunnen omschrijven als een cultuur binnen een organisatie die rust op een drietal pilaren: tools, processes & people.

DevOps maakt het door de menselijke en culturele aspecten mogelijk dat mensen en teams nog effectiever kunnen werken en samenwerken. De scheidingslijn tussen voorheen geïsoleerde disciplines en verschillende teams wordt weggenomen. Mensen, processen en technologieën komen samen, waardoor het mogelijk wordt om continu waarde te leveren aan jouw klant en eindgebruiker.

Wat is het DevOps model?

Om de definitie naar de praktijk te halen, vertellen we je hieronder meer over het DevOps model, ofwel de DevOps lifecycle. Deze lifecycle bestaat uit acht fases: plan, code, build, test, release, deploy, operate & monitor. Deze fases worden continu doorlopen door disciplineoverschrijdende teams om snel nieuwe software te kunnen leveren. 

Bovenstaande fases zijn in te delen in een aantal belangrijke en ongetwijfeld bekende ontwikkelstappen. 

1. Continuous development (plan & code)

In dit stadium worden er voortdurend werkzaamheden geïdentificeerd en bijgehouden. Dit gebeurt op een visuele manier (zoals met Kanban en Agile). Zo hebben alle stakeholders een goed beeld van de capaciteiten van het team en kunnen taken eenvoudig verdeeld en geprioriteerd worden. 

De te leveren software wordt opgesplitst in meerdere sprints of korte ontwikkelcycli. Code wordt gedeeld met behulp van een versiebeheersysteem zoals Git en Azure Repos.

 

2. Continuous integration (build & test)

In deze fase wordt nieuwe code getest op bugs. Het QA team waarborgt de kwaliteit van de software en test in diverse testomgevingen of het voldoet aan de eisen. De gevalideerde code kan daaropvolgend veilig en continu worden geïntegreerd met de master branche. Door in een vroeg stadium te testen op bugs kunnen ze snel en eenvoudig worden verholpen. 

3. Continuous deployment (release & deploy)

Als de nieuwe versie van de software is getest en gevalideerd, kan deze worden overgebracht naar de productieomgeving. Dit begint bij het implementeren van de nieuwe code op de servers en resulteert in de uiteindelijke productie, ofwel deployment. Eindgebruikers hebben op deze manier direct toegang tot nieuwe functies.

 

4. Continuous monitoring (operate & monitor)

Zodra de nieuwe software live is, kan operations middels monitoring informatie over de prestaties en de gebruikspatronen van de app inzien. Het operations team houdt in de gaten of er bugs zijn en of er zich andere problemen voordoen in het gebruik van de software. Er worden gegevens verzameld met het oog op toekomstige ontwikkelingen, die dan weer door Development kunnen worden opgepakt. 

Het verschil tussen DevOps en Azure DevOps

Wat is Azure DevOps? 

Zoals je weet is Azure het cloud computing platform van Microsoft: een verzameling van services die Microsoft vanuit hun datacenters aanbiedt. Een van die diensten is Azure DevOps (voorheen VSTS), een omgeving met een reeks aan services die het mogelijk maakt om DevOps eenvoudig te integreren in je organisatie. 

Je kunt de Azure DevOps services namelijk invullen met de hulpprogramma’s van je keuze. Dus of je nu een Java-, Node- of .Net-ontwikkelaar bent, of in Jenkins, Ansible of Puppet bouwt, met Azure DevOps kun je zelf je end-to-end DevOps-keten inrichten. 

 

Azure DevOps services

Onderstaand benoemen we kort de Azure DevOps services. Je kunt ze allemaal gebruiken of alleen de services kiezen die je nodig hebt om je bestaande werkprocessen aan te vullen.


Azure Boards

Hierin kun je de werkzaamheden van je teams plannen, bijhouden en bespreken.


Azure Pipelines

Azure Pipelines bestaat uit een CI/CD-pipeline die werkt voor vrijwel elke taal, elk platform en elke cloud. Je kunt met behulp van een git-provider continu ontwikkelen, testen en implementeren. 

Azure Repos

Met Azure Repos beschik je over een onbeperkt aantal git-opslagplaatsen in de cloud. Met pull-aanvragen en geavanceerd bestandsbeheer kunnen mensen en teams efficiënt samenwerken.

Azure Test Plans

Handmatige en verkennende testprogramma’s maken het mogelijk om software snel en grondig te testen en te releasen.

 

Azure Artifacts

Met Azure Artifacts kun je eenvoudig code delen met verschillende teams en ondernemingen. Je kunt pakketten delen en aan je pipelines toevoegen.

 

Extensions Marketplace
Tot slot heeft Azure DevOps ook een Extensions Marketplace. Hier vind je meer dan duizend extensies die je kunt toevoegen aan je Azure DevOps omgeving, zoals Slack, Jenkins, Docker en Kubernetes.
In de komende weken komen er meer artikelen over Azure DevOps en de Extensions van de Marketplace. Wil je dit niet missen? Schrijf je hier in voor onze Intercept Insights.

Gerelateerde berichten