Software ontwikkelen doen we bij Yellowtail Conclusion al lang, vaak in het verlengde van onze consultancyopdrachten. Tot een paar jaar geleden bleef het beheer echter vaak bij de klant liggen. Met de transitie naar DevOps is dat veranderd. We hebben software development (Dev) samengebracht met operationeel beheer (Ops) in één team. Hiermee helpen we onze klanten om zichzelf voortdurend te verbeteren. IT-consultants Wouter Bruining en Ravian Arp leggen uit waarom zij zo enthousiast zijn over DevOps en onze klanten ook. “Bij Yellowtail Conclusion omarmen we het DevOps gedachtengoed. Want dat betekent: snel met nieuwe ontwikkelingen kunnen meegaan en daardoor snel waarde leveren aan klanten.”

Twee werelden, één team

Wouter: “Met DevOps komen twee werelden samen die ieder een eigen manier van denken en werken hebben. We hebben een cultuur gecreëerd waarin developers en operationeel beheerders voelen dat ze samen één team vormen. Iedereen weet van elkaar wat de ander doet en we spreken elkaars taal. Die transparantie maakt dat we snel kunnen schakelen op de wensen van onze klanten. Aanpassingen zijn nu binnen korte tijd gemaakt. Dat is nodig, want de ontwikkelingen in het pensioen-, vermogens- en hypotheekdomein gaan snel. En onze klanten willen daarin mee. Met DevOps maken we dat mogelijk. Dat is telkens weer mooi om te zien.”

Binnen zes weken gefixt

Ravian: “Een goed voorbeeld hiervan is MyLife, een digitaal financieel planningsplatform van Yellowtail Conclusion waarmee consumenten inzicht krijgen in hoe ze er financieel voorstaan. Bijvoorbeeld als ze minder willen werken of eerder met pensioen willen gaan. Een van onze klanten had de wens om de gegevens uit MyLife met toestemming van hun klanten ook beschikbaar te maken voor financieel adviseurs, zodat deze hun klanten kunnen adviseren over hoe ze bijvoorbeeld eerder kunnen stoppen met werken. Om dit mogelijk te maken waren heel wat wijzigingen in de software nodig. Aan de voorkant, met nieuwe schermen en pagina’s en ook aan de achterkant, met een koppeling naar adviesplatform Figlo.” Wouter: “In zo’n situatie zie je goed wat de toegevoegde waarde van DevOps is. Het team van operationeel beheerders maakt user stories op basis waarvan de developers aan de slag gaan. Iedere wijziging die het development team maakt, is direct zichtbaar in de testomgeving. Binnen twee weken hadden zij de benodigde aanpassingen voor MyLife doorgevoerd. Vervolgens ging alles automatisch over naar de acceptatieomgeving. Hier kon de klant experimenteren en feedback leveren. Deze toch wel ingrijpende wijziging kende hierdoor een doorlooptijd van nog geen zes weken. Onze klant kon er dankzij DevOps dus snel mee aan de slag.”

Weinig kans op fouten

Wouter: “Dat we zo snel en efficiënt kunnen doorontwikkelen, komt mede doordat we veel stappen middels pipelines geautomatiseerd hebben. Die pipelines omvatten het hele proces, van code op een testomgeving krijgen tot het uitrollen van de website naar productie. Het in elkaar zetten van deze pipelines vind ik enorm mooi werk. Dat maakt het proces niet alleen sneller, maar ook nog eens extra betrouwbaar. Doe je dingen met de hand, dan is de kans dat er fouten in sluipen vele malen groter.” Ravian: “De developers schrijven code. Als die klaar is om gedeeld en getest te worden, nemen de mensen van operationeel beheer het over. Zij releasen de code naar een echte website en gaan deze vervolgens monitoren en beheren. Daar komen dan weer nieuwe wensen of verbeteringen uit en daarvoor gaan de developers weer code schrijven. Deze DevOps lifecycle is een iteratief, oneindig proces waarmee we onze klanten helpen om hun dienstverlening voortdurend te kunnen blijven ontwikkelen en verbeteren. Dat maakt dat we hier zo enthousiast over zijn. En onze klanten ook.”

Iedere maand een release

Wouter: “Met onze DevOps aanpak leveren we ook bouwblokken voor Umbraco, een content management systeem (CMS) dat een aantal van onze klanten gebruikt. Wil de klant bijvoorbeeld een contactformulier, dan schrijven wij de code, dat gaat via de pipeline automatisch naar de testomgeving en daarna naar de acceptatieomgeving. Voor een van onze klanten doen we iedere maand een release waarmee zij hun content optimaliseren, bijvoorbeeld met interactieve video’s. Wij maken hier de integraties voor, ook weer volgens de DevOps lifecycle. Dat werkt enorm efficiënt.”

Meerdere omgevingen? Geen probleem

Ravian: “Ons team zet ook cloudomgevingen neer volgens het principe van ‘infrastructure as code (IaC)’. Dat betekent dat je infrastructuur definieert en beheert aan de hand van code. Dat heeft als voordeel dat een aangebrachte wijziging snel doorgevoerd kan worden op alle omgevingen binnen de organisatie. Stel dat het beleid verandert waardoor de bewaartermijn van gegevens verkort wordt van 180 naar 90 dagen. Dan hoef je dat maar één keer in de code aan te passen en die geldt dan voor alle omgevingen tegelijk. De wijziging is meteen inzichtelijk en de kans op fouten is vrijwel nihil. DevOps geeft daarmee ook extra zekerheid.”

Nog veel in het verschiet

Ravian: “Wouter en ik werken op de scheidslijn van ‘Dev’ en ‘Ops’. Wij schakelen met beide partijen en met de klant. Je bent telkens weer kleine puzzels aan het oplossen en daarna ga je die automatiseren. Het samenbrengen van alle wensen met de juiste expertise, daar word ik ontzettend blij van.” Wouter: “DevOps wordt steeds volwassener en de processen worden daarmee steeds beter. Hoe meer je automatiseert, hoe meer tijd je overhoudt voor doorontwikkeling van je diensten. Er ligt echt nog veel moois in het verschiet op dit gebied.”