Peroni

Puppet + pizza = buona

Maandag 10 maart was het tijd voor de eerste Puppet Meetup in 2014 van de Dutch Puppet User Group in het Byte HQ in samenwerking met AT Computing. Eerst werd er informeel bijgepraat met een drankje en pizza, waarbij de laatste als buona werd beoordeeld volgens een Italiaanse Puppeteer. Gezien ’t feit dat Pinocchio, Puppet aller Puppets, uit Italië afkomstig is, vertrouwen we blindelings op zijn woord.

Hiera

Vervolgens introduceerde initiatiefnemer Maurice Verheesen het onderwerp van de eerste spreker, Reinoud van Leeuwen, te weten “Nested Data Structures and Hiera”. Reinoud benoemde een aantal problemen waar elke puppeteer tegenaan loopt (logic and context mixing, repetitive definitions, hardcoded values, difficulty splitting environments) om vervolgens een aantal oplossingen aan te dragen zoals het gebruik van resource defaults, create_resources() om hashes in resources om te zetten, en Hiera_hash; een first level hash merge. Wat te doen met die nare corner cases waar je altijd mee zit? Die ene uitzondering die niet binnen het template past? Gebruik default een “extraopts” container: check de aanwezigheid ervan binnen het standaard template (al mag hij leeg zijn) en laat hem alleen invullen voor die resources waarvoor de uitzondering geldt.

Reinoud waarschuwde wel voor ‘overgebruik’ van Hiera: alles kán in Hiera, maar dat betekent niet dat het leesbaarder of praktischer wordt. Wat hoort in ieder geval wél in Hiera? Alles wat a) dynamisch is, b) herbruikt wordt, c) een heldere structuur heeft. Pas ook op dat Hiera je puppet runs niet teveel vertraagt.

MySQL and Puppet

Vervolgens was het de beurt aan Walter Heck voor een “MySQL and Puppet” talk. Na een overzicht van MySQL forks (o.a. MySQL, MariaDB, Percona, MHA, Galera) en hun geschiedenis behandelde hij een aantal zaken waarmee het uitrollen van MySQL via Puppet in goede banen kan worden geleid zoals het aanpassen van Hiera’s merge behaviour(“deep” or “deeper”). Hij beschreef hoe op dit moment het Puppet module landscape een “wild west” van modules is, waar het lang niet altijd makkelijk is om de juiste en werkende module te vinden voor wat je nodig hebt. Hiervoor heeft PuppetLabs het “Puppet Enterprise Supported” label bedacht; een virtueel “Ok!” stempel dat een module volgens hen goed is. Ook voor MySQL geldt: don’t overuse Hiera. Replicatie opzetten, überhaupt al geen sinecure, is een one-time step. Probeer dit niet via Puppet te regelen: te lastig om te implementeren, te gevaarlijk voor je productie omgeving. Config Management zoals Puppet is voor persistent config settings, niet de once-in-a-server’s-lifetime acties zoals replicatie opzetten.

Onder het spreekwoordelijke genot van een drankje ontstonden er daarna nog een paar discussies in kleinere groepen over specifieke problemen, implementaties, oplossingen, waarna de avond werd afgesloten.

Volgende Puppet User Group @Byte i.s.m. AT Computing

Puppet-logoWil jij ook alles weten over Puppet of wil je als Puppeteer jouw ervaringen met de usergroup delen? Zorg dan dat je bij de volgende Puppet User Group bent! Houd dan de pagina op Meetup.com in de gaten om je direct aan te melden! We zijn altijd op zoek naar interessante sprekers. Vind je het leuk om een talk te houden? Stuur dan een mailtje naar Maurice Verheesen.

 

Scan je eigen Magento shop op veiligheidslekken