DevOps

DevOps – De herkomst

De afgelopen jaren hebben veel organisaties de voordelen ervaren van de toepassing van Agile methoden zoals Scrum en Kanban. De software wordt sneller opgeleverd en de kwaliteit stijgt, terwijl de kosten dalen. Een groot nadeel blijkt te zijn dat de Agile ontwikkeling haaks staat op de traditionele wijze van beheer, zowel qua information management, application management als infrastructure management.

Dit komt vooral omdat de beheerorganisatie niet in staat is om aan de flexibiliteitseisen van de Agile ontwikkelaars tegemoet te komen. Maar een veel belangrijkere reden is dat de kloof tussen ontwikkeling en beheer hierdoor veel groter is geworden. De Agile cultuur van snelheid, communicatie en samenwerking staat daarbij op gespannen voet met die van de traditionele control gebaseerde beheerorganisatie. De consequentie is dat de ontwikkelteams wel software snel opleveren maar niet snel in productie kunnen nemen. Dit probleem vereist een fundamentele verandering in de wijze van samenwerking.

DevOps – Wat is het?

De oplossing van dit probleem is gevonden in de Dev (Development) Ops (Operations) aanpak. Beide werelden worden samengesmeed in één team waardoor de kennis en kunde wordt gedeeld en de werkmethoden op elkaar worden afgestemd. Dit heeft grote consequenties voor de wijze waarop de beheerprocessen moeten worden ingericht. Het voordeel is echter een hoge mate van in control komen met een hoge time to market. DevOps is niet een éénduidig gedefinieerd concept. Gartner onderkent bijvoorbeeld zes DevOps stromingen. Elke stroming legt DevOps op een andere wijze uit.

DevOps – Gemeenschappelijk eigenschappen

Wel zijn er generieke aspecten te onderkennen in deze stromingen. De volgende eigenschappen kenmerken het gebruik van DevOps:

Mens: Cultuur, gedrag, ontwikkeling, samenwerking, schaalbaarheid en affiniteit zijn termen waar DevOps vooral over gaat.

Methoden: Een belangrijk aspect van DevOps is het Agile denken en werken of dat nu Agile Scrum, Kanban, of een andere variant is. Maar ook het Lean gedachtegoed en Kaizen komen steevast terug in diverse publicaties.

Middelen: De middelenkant wordt vooral belicht vanuit de wijze waarop producten worden voortgebracht. Dus aspecten als versioning, integratie, deployment, delivery komen aan bod. Hierbij ligt vooral de nadruk op het automatiseren van deze aspecten.

DevOps – Een framework

In tegenstelling tot frameworks als ITIL is DevOps niet gedefinieerd als een set van best practices en processen. Toch valt er wel enige samenhang van de concepten te onderkennen. Deze is afgebeeld in figuur 1.

Een DevOps framework.
Figuur 1, Een DevOps framework.

Dit framework is niet het ‘DevOps’ framework, maar een ‘DevOps’ framework. Dit framework geeft alleen aan welke concepten onderkend kunnen worden en in enige mate met elkaar een relatie hebben. Hierna volgt een kort uitleg per concept.

DevOps – Continuous Testing

Continuous Testing is een testaanpak waarbij test management het hele ontwikkelproces begeleid. Bij voorkeur worden de testcases eerder geschreven dan de software en naast de uitvoering van de gebruikelijke testsoorten wordt test management in hoge mate geautomatiseerd. Dit vereist een hoge mate van integratie van requirement management, software configuratie management en test management.

DevOps – Agile Development

De term Agile development duidt op het omarmen van het Agile gedachtegoed voor de ontwikkeling van software binnen DevOps. Hierbij neemt het Agile Manifesto natuurlijk een belangrijke plaats in. Diverse Agile aanpakken kunnen hiervoor gebruikt worden zoals Scrum, Kanban en XP.

DevOps – Continuous Integration

Continuous Integration geeft best practices om vele programmeurs tegelijkertijd aan een applicatie te laten werken waarbij met een hoge frequentie de broncode wordt samengevoegd, gecontroleerd (statische testcases), gecompileerd en getest (dynamische testcases).

DevOps – Continuous Delivery

Continuous Delivery is gericht op het in een hoge frequentie doorlopen van de ontwikkel-test-acceptatie-productie omgeving. Hierbij wordt op basis van een hoge mate van automatisering een extreme time to market geboden tot op wel een deployment frequentie van 9 minuten.

DevOps – Continuous Monitoring

Continuous Monitoring is een essentieel onderdeel van DevOps waarbij niet alleen de software (middelen), maar ook de ontwikkelaars (mensen) en ontwikkelprocessen (methoden) worden gemonitord. De middelen worden in alle omgevingen continue gemeten om zo vroeg als mogelijk fouten te vinden. De mensen worden gemeten qua competentie ontwikkeling (kennis, kunde en attitude) en de method omvat de meting van de velocity (verwerkingscapaciteit) en efficiëntie.

DevOps – Agile processes

Agile processes is het aandachtsgebied dat aangeeft welke aanpassingen in de standaard beheerprocessen vereist is om tegemoet te komen aan de Agile ontwikkelmethoden.

DevOps – Conclusie

DevOps is niet een set van best practices het is niet een model, het is niet een nieuwe hype. DevOps is meer een beweging die uitgaat van een aantal basisprincipes om te komen tot een betere aansluiten van de wensen van de klant in termen van time-to-market en added value. Deze principes omvatten de cultuuraspecten, samenwerkingsaspecten, automatisering door tooling en schaalbaarheid van de samenwerking.

Meer informatie

Boeken:

Agile Service Management met Scrum, ISBN: 9789071501807

Agile Service Management met Scrum in de Praktijk, ISBN:9789071501845

Trainingen:

Artikel:

Service Management

Summary
DevOps
Article Name
DevOps
Description
Agile staat haaks op de traditionele wijze van beheer, zowel qua information management, application management als infrastructure management. DevOps lost dit op.
Author
Publisher Name
ITpedia
Publisher Logo

-- Printbare PDF-versie --


Rating: 5.0. From 3 votes.
Please wait...

Aanvullingen

Geef zelf een aanvulling.

Geef een aanvulling

Licentie: Creative Commons (Naamsvermelding/Gelijkdelen)

Checklisten: Geen
Sidebar