Het draagvlak van open source software binnen de zakelijke ICT dienstverlening is in de afgelopen jaren flink toegenomen.  Deze groei is voornamelijk te danken aan de hoge kwaliteit van software en de toegewijde ontwikkelaars. In deze spiksplinternieuwe rubriek ga ik op bezoek bij ondernemingen waar open source software een belangrijke bijdrage levert aan de bedrijfsvoering. In deze eerste editie ga ik langs bij Shock Media in Almelo.

Een verrassing.. 
De middag begint al goed. Mijn navigatiesysteem weet het kantoor van Shock Media feilloos te vinden. Aangezien mijn TomTom inmiddels al vijf jaar oud is (en ik te gierig ben om een map-update te betalen) classificeer ik dit tegenwoordig als een overwinning. 

Bij binnenkomst in het pand word ik netjes verwelkomt door één van de vele medewerkers die in de hal te vinden zijn. Ik geef aan dat ik een afspraak heb met Dick Tump (Lead System & Network Administrator) en Alain Gotz (CEO). Ik word door de vriendelijke medewerker keurig naar een vergaderruimte begeleid en krijg wat te drinken aangeboden. Op de weg naar de vergaderruimte word ik afgeleid door een bijzondere verschijning. In het midden van de ruimte staat namelijk een Corvette C4 (1986) geparkeerd. Na de ontmoeting met Dick en Alain, vertelt Dick dat het zijn auto is. In zijn vrije tijd besteedt hij graag tijd aan deze hobby en Alain vindt het niet erg dat hij binnen geparkeerd wordt. Naast een ICT fanaat ben ik ook een groot fan van mooie auto’s, het kost me daarom ook enige moeite om me te herpakken en terug te vallen op de orde van de dag. Ik heb namelijk een interview gepland met Alain en Dick om te praten over hun Puppet implementatie.


Het kantoor van Shock Media met Alain Gotz (links op de tafel) en Dick Tump (voor de Corvette)

Puppet
Bij groeiende ICT infrastructuren is configuratiemanagement een belangrijk begrip. Met configuratiemanagement zorg je ervoor dat er een centraal punt is waar de complete configuratie van je ICT landschap inzichtelijk gemaakt is. In de traditionele vorm is er een centraal configuratiemanagement database (ook wel CMDB genoemd) waarin wordt bijgehouden wat de huidige configuratie is van je systemen. Dat betekent dat, zodra je een wijziging hebt doorgevoerd, er een administratieve stap volgt in het CMDB om te zorgen dat deze up-to-date blijft.

In de praktijk is configuratiemanagement een probleem. De administratieve stappen worden namelijk wel eens vergeten met het gevolg dat je niet kunt vertrouwen op je CMDB. Puppet is een tool dat verandering brengt in dit probleem. Het is open source software (geschreven in Ruby) dat ervoor zorgt dat de configuratie (die centraal bepaald is) wordt toegepast op je ICT landschap. Je kunt er dus vanuit gaan dat je centraal bepaalde configuratie de ‘waarheid’ is.

Een ander voordeel van Puppet  is dat het niet alleen zorgt dat je configuraties kloppen, maar het installeert tevens de software die je nodig hebt op de servers die je hiermee beheert. Je kunt je voorstellen dat omgevingen met grote hoeveelheden servers een voordeel kunnen hebben aan een tool die de software die je nodig hebt, geautomatiseerd (volgens gestandaardiseerde templates) installeert. 

Shock Media
Shock Media is een bedrijf dat zich specialiseert in Managed Hosting. Hetgeen Shock Media uniek maakt, is de flexibiliteit in hun dienstverlening. Ze werken voornamelijk voor klanten met specialistische maatwerk oplossingen. Ze hebben daarom een zeer diverse ICT infrastructuur bestaande uit honderden verschillende server configuraties.

Waarom Puppet?
Wanneer een bedrijf begint met het implementeren van een tool als Puppet, dan mag je je afvragen wat de achterliggende gedachte is. Ik krijg daarop als antwoord: “Puppet geeft ons de mogelijkheid om onze standaard processen te automatiseren, daarnaast kunnen we er op deze manier ook voor zorgen dat onze omgeving zo gelijk mogelijk blijft“ . Dick geeft eigenlijk het beeld wat je kunt verwachten, Alain heeft hier echter een interessante aanvulling op: “Security was ook een belangrijk aspect. Wanneer belangrijke security patches beschikbaar zijn, dan willen we dat op een geautomatiseerde manier zo snel mogelijk uitrollen”. Security is voor veel bedrijven niet een reden om te werken met een tool als Puppet, maar het is een interessante benadering.

Sinds een paar jaar is configuratiemanagement een populair onderwerp. Je ziet daarom configuratiemanagement-tools als paddenstoelen uit de grond schieten, de ene wat volwassener dan de andere. Een belangrijke vraag is daarom: Waarom Puppet? Dick geeft mij de volgende reden: “We zijn twee jaar geleden begonnen met dit project, Puppet was toen het meest volwassen. Als we dit project opnieuw zouden starten, dan zouden er inderdaad een aantal andere smaakjes zijn waar we uit zouden kunnen kiezen. We zijn echter nog steeds erg tevreden en zien daarom geen reden om te switchen”. 

De implementatie 
De technische implementatie van Puppet bij Shock Media is redelijk simpel. Ze hebben een Virtual Machine (KVM hypervisor, beheerd door hun eigen ‘Shock VM’ platform) met daarop Ubuntu als Operating System. Op die server staat de Puppet Master geïnstalleerd die de configuratie bevat van alle servers. Alle Linux (en hier en daar wat Windows) servers hebben een Puppet cliënt actief die connectie maakt met de Puppet Master om hun configuratie up-to-date te houden. De clients bewaren de configuratie die ze krijgen van de Puppet Master ook lokaal om ervoor te zorgen dat geen afhankelijkheid bestaat. Concreet betekent dit dat wanneer de Puppet Master niet beschikbaar is (door een storing), de clients met hun lokale configuratie verder kunnen werken. Zodra de Puppet Master weer beschikbaar is, wordt een nieuwe versie van de configuratie opgehaald. 

Het dashboard van Puppet (beschikbaar via de Master) wordt bij Shock Media niet gebruikt. Het dashboard geeft informatie vanuit de clients over eventuele veranderingen en problemen waar ze tegenaan zijn gelopen. In plaats van het dashboard wordt in de architectuur van Shock Media gebruik gemaakt van Zabbix voor de monitoring van de clients. 

De uitdagingen
Het implementeren van een architectuur als dit zal vast niet zonder slag of stoot verlopen zijn. Wanneer ik vraag wat de uitdagingen en risico’s tijdens dit traject zijn geweest, krijg ik het volgende uitgebreide antwoord van Dick: “De documentatie die door de community is opgesteld, was niet altijd toereikend genoeg. We hebben daarom zelf een hoop zaken moeten uitzoeken in de vorm van ‘trial and error’. In sommige extreme gevallen hebben we zelfs de broncode moeten raadplegen. Een ander risico was tevens het feit dat een hoop bestaande servers omgezet moesten worden naar een Puppet profiel (ook wel Manifest genoemd). Het risico hierbij is dat je fouten kunt maken die grote invloed hebben op de beschikbaarheid van je omgeving, voordat je het weet worden applicaties geïnstalleerd of herstart”.

 
Een voorbeeld van een Puppet manifest

Acceptatie
Inmiddels zijn ze twee jaar verder sinds de start van dit project. Hoewel de technische implementatie voltooid is, blijft Puppet volgens Alain een “on-going proces, maar inmiddels volledig in beheer”. De resultaten van dit project zijn tevens zeer positief, boven verwachting zelfs. “Door deze implementatie hebben we meer controle gekregen over ons ICT landschap. Nu we onze standaardprocessen hebben geautomatiseerd, kunnen we meer tijd besteden aan leuke en nieuwe projecten”. Alain benadrukt ook dat het een economisch gevolg heeft gehad. “Omdat we onze standaardprocessen nu zo goed geautomatiseerd hebben, kunnen we onze dienstverlening voor een mooiere prijs aanbieden aan onze klanten. Zij hebben dus ook een profijt!“.  

De toekomst
Tijdens mijn gesprek met Dick en Alain wordt het me duidelijk dat Puppet niet het enige open source project is dat gebruikt wordt in de bedrijfsvoering van Shock Media. Een voorbeeld hiervan is het ‘Shock VM’ platform. Dit is een cloud platform die in ontwikkeling is en volledig gebaseerd is op open source software en standaarden. Voor dat project zijn ze op dit moment actief met een onderzoek naar ZFS en Ceph (object storage) om te bekijken in hoeverre dit een toegevoegde waarde heeft op het cloud platform. Naast deze ontwikkelingen in het cloud project zijn er ook initiatieven op het gebied van MySQL Galera Cluster. 

Alain benadrukt dat het gebruik van open source oplossingen erg veel voordelen heeft: “De meeste open source initiatieven zijn volop in beweging en worden in grote mate ontwikkeld. Het feit dat het in de meeste gevallen ook gratis wordt aangeboden, heeft ook een voordeel voor onze klanten“. Het mag duidelijk zijn dat bij Shock Media open source software volledig wordt omarmt. Het is te hopen dat andere organisaties hier een voorbeeld aan durven te nemen en open source software en standaarden een kans willen geven. 

 

**********************afbeelding 3************ (Optioneel)