Het is al weer even geleden dat ik 5 redenen voor Continuous Compliance deelde, en de introductie gaf op dit onderwerp. Het jaar is inmiddels 8 maanden verder en zo ook de visie en inrichting van dit onderwerp.
In dit blog delen we met veel plezier de 3 belangrijkste ingrediënten voor Continuous Compliance.
- Maak gebruik van Build Breakers in de pipeline
- Zorg voor een goede segregatie van rechten
- Zet monitoring bovenop je pipeline
Een eerlijke onthulling
Persoonlijk ben ik het met nummer 1 volledig eens, nummer 2 en 3 vindt ik wat over de top. Ben je echter werkzaam binnen een omgeving waar Sox, audits en compliancy behoren tot de woordenschat van je bedrijf dan zul je er niet aan ontkomen om ze op te zetten. Als je dat doet, doe het dan goed en zo veel als mogelijk geautomatiseerd. Het ultieme doel is dat je er nauwelijks het omkijken naar hebt.
Maak gebruik van Build Breakers in de pipeline
Door op deze manier te werken is er een garantie dat alles wat naar productie gaat ook daadwerkelijk de testen heeft doorstaan. Voor de auditors is dit echt een cruciaal punt. Deze manier van werken heeft twee grote bijkomende voordelen, de beslissing of iets naar productie kan gaan is in verre mate te automatiseren en het levert enorm snelle feedback cycles op voor iedereen in het proces.
4 Voorbeelden van build breakers:
- Elke rode of oranje bevinding uit je static secure code analysis (op te zetten met Fortify SCA)
- Een code coverage onder bijvoorbeeld 85% (op te zetten met SonarQube)
- Een (API) regressie test die faalt (op te zetten met bijvoorbeeld Concordian)
- Een performance daling van een stuk functionaliteit (op te zetten in Gatling)
Zorg voor een goede segregatie van rechten in je pipeline
Wij hebben dit opgezet door de engineer alle rechten te geven om code aan te passen en te creëren. Deze belanden uiteindelijk in bijvoorbeeld Gitlab en Artifactory voordat ze naar productie worden gepompt door de pipeline. De ontwikkelaar heeft ook alle rechten om alle pipelines aan te passen en te verbeteren behalve de pipeline die de software naar de productie omgeving brengt.
De Product Owner, Asset Owner en IT Custodian hebben vervolgens het recht om een release aan te zetten en de software naar productie te brengen. Deze drie rollen, in ons geval ook 3 personen, hebben niet de rechten om in Gitlab en Artifactory aan de code te komen.
In mijn team hebben we de segregatie van rechten opgezet op het niveau van de pipeline die we hebben ingericht in XL-Release.
Zet monitoring bovenop je pipeline
Om een lang verhaal kort te maken, auditors hebben eigenlijk altijd wel gelijk, zei het soms zuiver hypothetisch. Dat heeft ons er wel toe gebracht om monitoring op de pipeline te zetten. Want hoe weet je anders zeker dat de ontwikkelaar via een enorme omweg toch niet de pipeline heeft aangepast en stiekum allerlei testactiviteiten heeft uitgeschakeld.
Met goede monitoring op de pipeline weet je precies wanneer de pipeline wordt aangepast. We hebben dit inzichtelijk gemaakt met ELK (Elastic, Logstash en Kibana) en dit staat continue aan op de werkvloer. Daarnaast krijgt het hele team inclusief de drie personen die de release naar productie kunnen aanzetten altijd een email als er een release wordt aangezet.
Deze drie zijn voor ons de belangrijkste ingrediënten omdat we hiermee het proces om de software naar productie te brengen weer een stukje veiliger hebben gemaakt.
Wat voor maatregelen neem jij om zonder al te veel inspanning toch redelijk zeker te zijn van de code die er in productie staat de juiste code is?
Wil je een WhatsApp bericht ontvangen bij een nieuwe blog?
Stuur dan even een berichtje naar +31645112490