Data Saturday
We zijn nu een dikke maand verder – maar nog steeds spelen zaken die ik daar heb gezien en gehoord door mijn hoofd en handen.
Daarom wil ik jullie in deze blog graag meenemen in de ervaringen en inzichten die ik heb opgedaan tijdens de Data Saturday Conference.
De conferentie bestond uit een pre-conference day met een aantal deep-dive trainingen en de conferentie op zaterdag die werd gehouden in de Pathé bioscoop in Leidsche Rijn.
Over de hele dag verspreid werd in zes verschillende zalen elk uur een talk gehouden van ongeveer 45 minuten.
Met OptimaData waren wij goed vertegenwoordigd, want we waren met vijf man aanwezig. Hierdoor konden we verschillende sessies bijwonen, zowel gezamenlijk als ieder afzonderlijk. Dit gaf achteraf veel stof tot discussies over de sessies die we gezamenlijk hadden bijgewoond. Ook werd kennis overgedragen over sessies welke we afzonderlijk van elkaar bezocht hebben.
De rol van de DBA in DevOps
Terugkerende onderwerpen tijdens Data Saturday waren: Automation, Containers en DevOps. Bekende namen als Hamish Watson en John Martin gaven uitgebreide workshops op vrijdag bij de pre-conf workshops. Beide heren zijn betrokken bij het Microsoft Data Platform MVP. Maar ook waren er naast deze heren een aantal talks op zaterdag door William Durkin en Sander Stad.
De onderwerpen Automation, Containers en DevOps sluiten heel mooi aan bij de visie van OptimaData op database management en op de rol van database administrator die steeds meer aan het wijzigen is.
Veel klanten verwachten van de huidige database administrator kennis met betrekking tot containers, DevOps en automatisering. Deze workshop sloot erg goed aan bij deze behoefte. Waarom?
In het verleden was er vaak een spanning tussen de wensen van het ontwikkelteam en die van de DBA’s. De ontwikkelaars willen snel ontwikkelen en de DBA’s zijn verantwoordelijk voor de operationele omgeving, deze moet stabiel blijven en goed blijven presteren.
Nieuwe features of releases van de ontwikkelaars maken de database (en dus de applicatie) langzamer en soms gaat er zelfs iets stuk. Zaken waar een DBA niet blij van wordt. Met de introductie van DevOps (een combinatie van Development en Operations) zouden al deze problemen opgelost moeten worden. Men wordt ten slotte één team en heeft het zelfde doel voor ogen.
Daardoor wordt de database direct onderdeel van het ontwikkeltraject en passen de proactieve DBA taken binnen de CI/CD pipeline, waardoor releases sneller en efficienter kunnen plaatsvinden.
Automatiseren van uitrol
In het praatje “Automation for the DBA: embrace your inner sloth” nam William Durkin ons mee in zijn visie over hoe lui je als DBA zou moeten zijn.
Mijn verwachtingen voor deze talk waren vrij hoog, omdat ik de verandering zie van het DBA vak die op dit moment speelt, waarbij er veel meer geautomatiseerd wordt en
de rol van de DBA verandert van iemand die de boel draaiende houdt, naar iemand die de uitrol van database platformen automatiseert.
Ik ben het wel eens met de visie van William, dat DBA’s repeterende taken moeten automatiseren en daarbij zo veel mogelijk gebruik moeten maken van standaard tooling die er al is. Het is namelijk zonde om het wiel meerdere malen opnieuw uit te moeten vinden, terwijl iemand anders in de community dit ook al gedaan heeft.
Een mooi voorbeeld hiervan is dbatools een verzameling van Powershell scripts specifiek gericht op SQL Server.
Tooling rond automatiseren en DBA DevOps
Om je werk als DBA in een DevOps omgeving makkelijker te maken zijn er talloze tools ter beschikking. Welke tooling werd er tijdens de conferentie besproken?
Testen met tSQLt, de tool
Een belangrijke pijler bij het automatiseren is het geautomatiseerd testen van code.
Met een tool genaamd tSQLt wordt het (ook voor een DBA) mogelijk om wijzigingen in een database te testen en de impact hiervan te kunnen zien op de werking van een applicatie.
tSQLt is een framework waarmee unit testing gedaan kan worden. Unit testing is het testen van functionaliteit op basis van de kleinst mogelijke units. Bijvoorbeeld het testen van een stored procedure, function, data lezen – en het toevoegen of verwijderen van data.
Het is mogelijk om in zeer korte tijd een breed scala aan tests uit te voeren en hiermee fouten op te sporen na het wijzigen van programmatuur.
Hamish op vrijdag en Sander op zaterdag lieten ons in een aantal demo’s kennis maken met de mogelijkheden van tSQLt.
Ze lieten zien hoe unit tests zowel goede als foute situaties konden testen. We hebben zelfs gezien hoe alle handmatig gemaakte unit tests ook gegenereerd konden worden door gebruik te maken van een Powershell module die Sander geschreven had.
Dit soort initiatieven maakt het een stuk makkelijker om te beginnen met het maken van unit tests, doordat je niet zelf alle unit tests hoeft te schrijven.
Powershell Desired State Configuration
John Martin vertelde ons in de pre-conf workshop over de mogelijkheden van Powershell Desired State Configuration (DSC). Dit is een framework waarmee een IT-infrastructuur kan worden opgezet.
Met Powershell Desired State Configuration kunnen wijzigingen gecontroleerd worden en zelfs hersteld worden, op het moment dat er grote afwijkingen zijn van de vooraf gespecificeerde structuur.
Met Powershell DSC is het dus mogelijk om de installatie van SQL server instances op een eenduidige manier te automatiseren. John liet ons ook een paar voorbeelden zien waarbij hij, met Powershell DSC gescript, meerdere servers kon uitrollen die er precies hetzelfde uitzagen.
Ook vertelde hij over de mogelijkheid om te rapporteren over de uitgerolde omgevingen, waarbij duidelijk wordt hoe “compliant” deze omgevingen zijn.
Terraform
John liet ons ook zien hoe je met de tool Terraform heel gemakkelijk een webapplicatie kunt uitrollen, inclusief de achterliggende database en deployments vanuit source control (github).
In het verleden heb ik bij een van onze klanten al wat ervaring opgedaan met Terraform, dus het was voor mij zeer interessant om te zien hoe John dit aanpakte.
Eén van de mooie features die ik nog niet kende, was de mogelijkheid van Terraform om relaties tussen objecten te tonen in een graph. Dit leverde naast duidelijkheid in relaties, ook een stuk documentatie op. Iets dat normaal gesproken met de hand gemaakt zou moeten worden en veel tijd kost.
Docker
Tenslotte gaf Hamish ons op vrijdag ook nog een korte demo over het gebruik van Docker containers in combinatie met SQL server. Sinds de RC candidate van SQL Server 2017 uitkwam, bleek dat Microsoft met zijn database platform niet slechts het Windows operating systeem ondersteunde, maar ook Linux en Docker containers.
Microsoft is hiermee een nieuwe weg ingeslagen, die in mijn ogen zeer interessant is. Met de mogelijkheid om SQL Server op Linux of in een Docker container te draaien, komen er allemaal interessante mogelijkheden naar boven. Wat die mogelijkheden zijn? Daarover zal ik in december uitwijden in een uitgebreide blog-serie.
Meer weten over de DataSaturday Workshops?
Ik heb ontzettend genoten van Data Saturday workshops.
Het waren twee mooie locaties, alles was tot in de puntjes geregeld, de onderwerpen en sprekers waren zeer divers – en er was ook genoeg gelegenheid om met andere mensen uit het vak te spreken.
Wil je nog meer weten over wat wij van OptimaData hebben gezien, gehoord op Data Saturday 2019?
Neem dan contact met ons op en kom volgend jaar met ons mee!