Hoe open source toch gewoon wordt

door: Freek Blankena, 18 mei 2017

DUO zag zich enkele jaren geleden genoodzaakt het opleveringsproces van nieuwe applicaties flink te moderniseren en te versnellen. Die operatie is inmiddels bijna afgerond – vrijwel geheel met behulp van opensourcesoftware.

Hoe open source toch gewoon wordt

‘Inmiddels is de gebruikte verzameling software uitgebreid met namen als Puppet Labs, Git, Gerrit, Elastic Search, Kibana en Zabbix – allemaal opensourceproducten.’ Beeld: Dreamstime / Blinkerd


In 2002 werd de ‘motie Vendrik’ aangenomen, die onder andere het gebruik van opensourcesoftware in de publieke sector moest stimuleren. Dat zou stukken goedkoper zijn, de leveranciersafhankelijkheid verminderen en ook de mogelijkheid bieden om zelf aan de software te sleutelen. Inmiddels zijn we vijftien jaar verder en begint open source geleidelijk aan steeds meer voet aan de grond te krijgen. Jan-Taeke Schuilenga, infrastructuurarchitect bij Dienst Uitvoering Onderwijs (DUO) in Groningen, kwam bij een moderniseringstraject met zijn team uit bij een verzameling opensourcesoftware.

Maatwerkfabriek

De modernisering betrof de manier waarop DUO voor de studiefinanciering of een van zijn andere uitvoeringstaken nieuwe software klaarstoomt. Bij DUO moeten regelmatig nieuwe applicaties worden ontwikkeld, getest en vervolgens in gebruik genomen. “Ons hele primaire proces is maatwerk”, zegt Schuilenga. “Er is geen studiefinancieringssysteem te koop. En als de Tweede Kamer verbeteringen wil, moeten wij daar onze systemen op aanpassen.” Dat was een proces dat niet soepel verliep. “Er waren verschillende afdelingen betrokken bij het neerzetten van infrastructuur en het bouwen van applicaties daarbovenop. Dat vergt veel inplannen en afspreken, dus dat duurt lang. Doordat het proces handmatig verloopt, is de kans op fouten groter.”

Het beeld van de gewenste situatie werd in 2014 snel duidelijk. Een ontwikkelteam (werkend volgens het zogeheten DevOps-principe) ontwikkelt een applicatie en kan daarvoor geheel zelf de benodigde infrastructuur (hardware) neerzetten. “Dus ze kunnen hun servers uitrollen, hun applicatie daarop zetten, volgens een geautomatiseerd proces, zonder overdrachten naar andere afdelingen.”
De omslag betekent veel standaardisatie in de ontwikkel- en opleveringsketen van software. De verschillen tussen de testomgeving en de productieomgeving zijn bijvoorbeeld geheel verdwenen, zodat er geen verrassingen meer zijn. “Een belangrijk aspect van deze aanpak is dat ontwikkelaars alles zelf moeten kunnen doen: uitrollen, infrastructuur neerzetten, kijken hoe het draait.” Of in vaktermen: provisioning, deployment en monitoring.

Financiële schaalbaarheid

De overstap naar een bijna geheel nieuwe ‘softwarestack’ voor dat automatische opleveringsproces begon bij de keuze voor een nieuwe applicatieserver – een belangrijk generiek fundament voor softwareapplicaties. WebSphere, de applicatieserver die tot dusver in gebruik is geweest bij DUO, is volgens Schuilenga een ‘topproduct’. “Maar vanwege het prijsniveau is toch gekozen voor een andere applicatie. We zagen dat door de veranderende manier van ontwikkelen – meer op een agile manier – de vraag naar applicatieservers vanuit het ontwikkelteam ontzettend toenam.”


Als de Kamer verbeteringen wil, moeten wij de systemen aanpassen


Schuilenga was niet op zoek naar opensourcesoftware als nieuwe applicatieserver. “Voor de applicatieserver is gewoon een normaal selectietraject gedaan: het moet een stevige support hebben, Java Enterprise Edition ondersteunen et cetera. We zijn begonnen met de functionele eisen. Betaalbaarheid was ook een eis en open source was ‘nice to have’. Het ging ons om de functionaliteit en het prijsniveau. In de broncode zijn we niet geïnteresseerd.” Uiteindelijk viel de keus op JBoss van Red Hat – een open source applicatieserver. “Die is ook financieel veel schaalbaarder.”

Linux

De volgende stap was de keuze voor een ander besturingssysteem als basis. “De gedachte was meteen: als we dan toch naar open source gaan, dan gaan we daar ook Linux onder zetten.” Dat werd Red Hat Linux. “We waren ook niet zo tevreden over het beheer van ons Windows-platform, waar WebSphere op draaide. De gedachte dat die zet een volgend stuk besparing opleverde wijst Schuilenga van de hand. “Linux is duurder, vanwege de supportkosten; die zijn bij Red Hat hoger dan bij Microsoft voor Windows. Maar de licentiekosten voor het besturingssysteem zijn sowieso maar een heel klein deel van wat je aan licenties betaalt. Daar haal je de winst niet.”

Inmiddels is de gebruikte verzameling software uitgebreid met namen als Puppet Labs, Git, Gerrit, Elastic Search, Kibana en Zabbix – allemaal opensourceproducten die delen van het geautomatiseerde proces voor hun rekening nemen. “Die producten waren weer een goede match met JBoss.” Alleen System Center en Active Directory van Microsoft en XL Deploy van Xebia zijn niet open source.

Voorbeeld

Inmiddels werkt de nieuwe opzet goed. Wat soms wel zes weken duurde, kan nu in zes minuten. Schuilenga heeft inmiddels al diverse malen presentaties gegeven bij overheidsorganisaties over de DUO-aanpak en de rol van opensourcesoftware daarin. Hij ziet de automatiseerders bij het CJIB, het Overheids Data Centrum Noord (ODCN), het ministerie van IenM en de Belastingdienst al vergelijkbare keuzes maken. Maar een snelle stap is het niet en vanuit het management zal niet snel om ‘een opensource-oplossing’ worden gevraagd. “Een nieuw platform neerzetten is ook een rigoureus besluit en het management zal zo’n stap pas zetten als die noodzakelijk is. Dat was bij ons in 2013. Toen hebben we ook heel snel dat besluit rond JBoss en Linux kunnen nemen. Dat soort besluiten vergen normaal gesproken een jaar, nu was het in een paar dagen beklonken.”

De gebruikers zijn volgens Schuilenga heel tevreden en hij illustreert dat met een anekdote. “Een jaar geleden kregen we een potentiële nieuwe opdracht van SZW, want we doen ook werk voor het Landelijk Register Kinderopvang. Toen werd tegen ontwikkelaars gezegd: jullie mogen zelf je ontwikkel-gereedschappen kiezen, want dit moet echt slagen. Nou ken ik ontwikkelaars een beetje; die vragen elke keer net wat je níet hebt. Maar tot mijn eigen verbazing zeiden ze: met die nieuwe ontwikkelstraat kunnen we eigenlijk alles wat we willen. Dat vond ik een mooi compliment.”

Support

Wat hij vooral nog wil benadrukken is dat de keuze voor opensourcesoftware op een professionele manier gemaakt moet worden. Een fout die hij daarbij nog wel eens gemaakt ziet worden is dat bij bijvoorbeeld de Linux-versie wordt gekozen voor de goedkopere ‘Community Edition’, waarbij de ondersteuning toch vooral uit de gemeenschap van actieve ontwikkelaars moet komen en geen onderdeel uitmaakt van een contract. “De visies over hoe sterk je je ondersteuning geregeld moet hebben lopen nog erg uiteen. Sommige clubs kiezen voor de Community Edition, maar dan heb je geen garanties en die worden maar twee jaar ondersteund. Operationele support kun je overal wel vinden, maar met zo’n ontwikkelstraat als de onze wil ik wel dat die de komende vijf zes jaar geleverd blijft kunnen worden en stabiel blijft draaien, want anders moet ik wéér mijn hele applicatielandschap overhoop gaan halen. Op dit niveau kun je die beweging niet volgen.”

Het traject is een miljoenenoperatie, stelt Schuilenga, want het gaat niet alleen om nieuw te ontwikkelen software. “Ook bestaande applicatielandschap moet je migreren. Het gaat om zo’n 150 á 160 applicaties. Dat vraagt ruimte op de ontwikkelkalender en een flinke tijdsinvestering.” De oorspronkelijke einddatum daarvoor, december 2016, is niet gehaald maar halverwege 2017 zal de hele migratie voltooid zijn.

tags: , , ,

- - - - -

De met een * gemarkeerde velden zijn verplicht. U ziet eerst een voorbeeld en daarna kunt u uw bijdrage definitief plaatsen. Uw e-mailadres wordt niet op de site getoond. Reacties zonder achternaam worden verwijderd. Anoniem reageren alleen in uitzonderlijke gevallen in overleg met de redactie.