
De naam DevOps is afkomstig van de samenstelling ‘Development en Operations’, oftewel Dev + Ops. Bij DevOps hebben we het over de samenwerking tussen operationele teams, ontwikkelaars, software-ontwikkeling en productiebeheer
DevOps
gaat uit van de Agile basisprincipes, waarbij de focus ligt op samenwerking, interacties
en individuen. Ze trekken deze lijn door in de hele organisatie, daarom kun je DevOps
ook het beste omschrijven als een cultuur binnen een organisatie.
Maar waarom is een DevOps-cultuur zo waardevol voor jouw team?
Door de
overstap te maken naar een DevOps-cultuur krijg je als team de mogelijkheid om sneller
bedrijfsdoelen te bereiken, het vertrouwen in de toepassingen die je team bouwt
te vergroten en beter in te springen op de behoefte van de klant. De markt
verandert voortdurend, daarom is het belangrijk om bij te blijven. Als
software-ontwikkelaar werk je dus samen met andere IT functies binnen de
organisatie. Je hebt elkaar nodig om operations en development efficiënter te
maken.
Voordelen DevOps
Wat levert
het op wanneer je als team overstapt naar de DevOps-cultuur, hulpprogramma’s en
werkwijzen? Bovenstaande voordelen natuurlijk, maar ook andere bedrijfsdoelen
zoals:
- De
gemiddelde hersteltijd verbeteren
- De
betrouwbaarheid en systeemstabiliteit handhaven
- Aanpassen
aan concurrentie en de markt
- Marktintroductietijd
verkorten
- Effectiever
samenwerken door de combinatie van culturele en menselijke aspecten
- Sneller
een fout ontdekken in productie
- Sneller
een wijziging in de software realiseren
- Vaker
nieuwe software naar productie brengen
De levenscyclus en DevOps
De
levenscyclus van DevOps bestaat uit vier onderdelen: plan, ontwikkelen,
aanbieden en uitvoeren. Alle fases zijn afhankelijk van elkaar, maar niet
rolspecifiek. Elke rol is in principe betrokken bij elke fase, alleen in een
bepaalde mate. Hieronder gaan we dieper in op de onderdelen van de cyclus.
Plan: in
deze fase ontwikkelen verschillende DevOps teams ideeën die vervolgens beschreven
en gedefinieerd worden. De voortgang wordt bijgehouden door fouten op te sporen,
kanbanborden te gebruiken, backlogs te maken, flexibele softwareontwikkeling
met Scrum te beheren en de voortgang met dashboards te visualiseren. De
visualisatie is hier belangrijk, zodat er een duidelijk beeld is van de
capaciteiten van het team en taken kunnen beter verdeeld en geprioriteerd
worden.
Ontwikkelen:
alle aspecten bij het coderen komen in deze fase naar voren. Schrijven, testen,
beoordelen, integratie van code door het team en het bouwen van die code in
buildartefacten. Door het gebruik van productieve hulpprogramma’s kun je snel
innoveren, zonder afbreuk te doen aan de productiviteit, stabiliteit en kwaliteit.
Daarnaast worden handmatige en dagelijkse stappen geautomatiseerd. In deze fase
wordt er ook getest op bugs, zodat je deze zo vroeg mogelijk in het proces kunt
verhelpen.
Aanbieden:
in dit proces worden toepassingen op een betrouwbare en consistente manier in
productieomgevingen geïmplementeerd. Het team zit met elkaar samen om het releasebeheerproces
vorm te geven. Dit proces bestaat uit handmatige en duidelijke
goedkeuringsfasen. Door processen te automatiseren worden ze schaalbaar,
haalbaar en gecontroleerd.
Uitvoeren:
de laatste fase is de operationele fase die bestaat uit de bewaking en het
onderhoud van toepassingen in productieomgevingen. Het beheer en de beveiliging
wordt versterkt, er is een streven naar 0 uitvaltijd en er wordt gezorgd voor
hoge beschikbaarheid en systeembetrouwbaarheid. Als team zorg je ervoor dat
eventuele problemen geïdentificeerd worden voordat de klant hier iets van heeft
gemerkt en dat ze ook weer zo snel mogelijk worden opgelost. Door het
geautomatiseerde nalevingsbeleid weet je zeker dat apps die je in de productie implementeert,
de gewenste statusconfiguratie gebruikt.
DevOps tools voor heel het team
Het kan een
uitdaging zijn om de weten welke tool het beste is voor je team. Daarom is het
belangrijk een weloverwogen beslissing te maken over welke tools je gaat
gebruiken. Er zijn geautomatiseerde build-tools, maar ook platforms voor het
monitoren van app-prestatie. Hieronder delen we enkele tools die wellicht
waardevol kunnen zijn voor jouw team:
1. Gradle:
een veelzijdige tool wat snellere verzending mogelijk maakt en daarnaast biedt het
veel configuratiemogelijkheden.
2. Git:
een populaire tool die veel in de software-industrie wordt gebruikt. Git is een
gedistribueerde SCM-tool en hiermee kun je de voortgang van je ontwikkelingswerk
volgen.
3. Jenkins:
met deze open-source automatiseringstool kun je de verschillende fasen van je
leveringspijplijn automatiseren. Met Jenkins kun je je nieuwe code zo snel
mogelijk herhalen en implementeren. Hierdoor kun je het succes van elke stap
van je pijplijn meten.
4. Bamboo:
hiermee kun je je leveringspijplijn automatiseren, van builds tot
implementatie. Het verschil met Jenkins en Bamboo is het prijskaartje. Bamboo
heeft veel vooraf gebouwde functionaliteiten die je bij Jenkins handmatig in
moet stellen. Welke van de twee je kiest is afhankelijk van je doelen en
budget.
5. Docker:
dit containerplatform is enorm populair, omdat het gedistribueerde ontwikkeling
mogelijk maakt en de implementatie van je apps automatiseert. Applicaties
worden geïsoleerd in afzonderlijke containers, zodat ze veiliger en draagbaar
worden.
6. Kubernetes:
een platform voor containerorchestration dat containerisation naar ‘the next
level’ tilt. Je kunt je containers groeperen in logische eenheden en het proces
van het beheer van honderden containers automatiseren.
Aan de slag met DevOps
Ga jij met
je team de overstap maken naar een DevOps-cultuur, of heb je de overstap al
gemaakt en wil je meer kennis opdoen over DevOps? Dan hebben wij diverse
trainingen die daarbij aansluiten. Hierbij kun je denken aan DevOps
DASA Fundamentals, DevOps DASA Practitioner, DevOps
Engineering on AWS of de Designing
and Implementing Microsoft DevOps solutions.
Wellicht
vind je het lastig om de juiste training te kiezen die aansluit bij hetgeen
waar jij je in wilt ontwikkelen. Dan helpen we je natuurlijk graag! Bel vrijblijvend
met één van onze opleidingsadviseurs op 0402323390 of open de chat rechtsonder
in beeld.
Gerelateerde trainingen
ITIL® 4 Foundation E-learningITIL® 4 Create, Deliver, Support + examen
ITIL 4 Direct, Plan, Improve + examen
ITIL 4 Drive Stakeholder Value + examen
ITIL 4 High Velocity IT + examen
ITIL 4 Managing Professional Transition + examen
Leading SAFe ®4.6 + examen
AGILE Project Management Foundation
BiSL Advanced (APMG BiSL Advanced)
Scrum Master Advanced