
AVROTROS: databeheer naar een hoger niveau met een schaalbare opzet op Google Cloud Platform
AVROTROS beschikt nu over een modern systeem voor databeheer, waarmee het team actueel inzicht heeft en snel kan handelen.

De uitdaging
AVROTROS had al een werkende oplossing op Google Cloud en wilde de architectuur naar een niveau brengen dat ook op termijn meegaat. Daarvoor schakelden ze Crystalloids in, om die opzet te ontwerpen en te bouwen.
Het doel
AVROTROS had duidelijke eisen aan de nieuwe oplossing:
- Prettig in gebruik voor zowel ontwikkelaars als analisten
- Goed te bewaken, zodat problemen vroeg opvallen
- Eenvoudig te onderhouden, met updates en wijzigingen die de beschikbaarheid niet raken
- Schaalbaar, zodat een nieuwe databron er zo bij komt
- Stappen die opnieuw te draaien zijn bij een storing, zonder het geheel te raken
- Afgeschermde toegang voor vooraf bepaalde groepen
De aanpak
Bij Crystalloids werken we gestructureerd, om in korte tijd het meeste te bereiken.
Voorbereiding:
- Informatie verzamelen over de bestaande architectuur en de doelen op hoofdlijnen
- De backlog opstellen samen met de product owner, de ontwikkelaars en de commercieel directeur
- De backlog aanscherpen tot de details kloppen, inclusief de definition of done
- De backlog ordenen op zakelijk belang
- Het werk voor de gekozen user stories inschatten
Uitvoering:
- De architectuur ontwerpen
- De oplossing bouwen
- Werkende software tonen in twee sprints van twee weken
- Code en documentatie overdragen
- Nagaan of de klant tevreden is
Over AVROTROS
AVROTROS is een mediaorganisatie binnen de Nederlandse Publieke Omroep (NPO). Met tientallen televisieprogramma's, radioprogramma's en online programma's, 8 sites, 2 apps en meer dan 100 socialmedia-accounts is AVROTROS een belangrijke speler op de Nederlandse markt.
De programmabudgetten hangen grotendeels af van het bereik per programma, op televisie en online. Het belangrijkste cijfer op al hun platformen is dan ook het unieke en het totale bereik. AVROTROS wil dat bereik verder vergroten met behulp van data, en met werkwijzen die redacties inzicht geven in het bereik van hun programma's en andere formats, ook met het oog op groei.
Begin je eigen succesverhaal met Crystalloids
Klaar om beslissingen beter te onderbouwen met data? We denken graag mee en beantwoorden je vragen.
De oplossing
In plaats van data uit een bron rechtstreeks in BigQuery te laden en daar meteen rapportages op te bouwen, hebben we dat proces in drie stappen geknipt:

1. Laden
Deze stap haalt de data uit de bron en schrijft die ruw weg naar BigQuery.
Er wordt niets aan de gegevens veranderd, zodat je zeker weet dat je naar dezelfde data kijkt als je hebt ontvangen. Het kan handig zijn om de data niet alleen naar BigQuery te schrijven, maar ook naar een bestand in Google Cloud Storage. Krijg je bijvoorbeeld data in JSON binnen, dan bewaar je die zo in de zuiverste vorm.
2. Normaliseren
Deze stap neemt de ruwe data en voert de bewerkingen uit die nodig zijn om ermee te kunnen werken. Zorg dat:
- alle data ontdubbeld is: geen enkele bewerkte tabel bevat twee identieke rijen;
- alle data actueel is: er staat maar één versie, de meest recente;
- alle data op het laagste detailniveau staat, zonder samenvatting van de ruwe gegevens.
3. Publiceren
Zodra de data genormaliseerd is en alles in tabellen staat, kun je de gegevens klaarzetten die je in je rapportages of analyses wilt gebruiken. Dat hoort in een aparte publicatiestap te gebeuren, waarin je ook meerdere entiteiten of bronnen kunt combineren.
Om die stappen op volgorde te houden en te zorgen dat de volgende pas begint als de vorige klaar is, gebruikten we Google Workflows. Binnen die workflow wordt elke stap door een Cloud Function afgehandeld. Voor dit geval moest de data dagelijks uit de bron komen, dus start Cloud Scheduler de eerste stap elke dag op hetzelfde moment.
Het resultaat
Met deze opzet veranderde het databeheer van AVROTROS wezenlijk. Elke stap is apart te bewaken, waardoor engineers snel kunnen reageren als er iets dreigt mis te gaan en de boel beheersbaar blijft.
Een prettige eigenschap is dat er per gebruik betaald wordt, zodat er geen geld weglekt. Daarnaast draait het geheel serverless, wat ingewikkelde configuratie overbodig maakt.
Doordat het proces soepel aansluit, kan AVROTROS eenvoudig nieuwe databronnen aan de Datahub toevoegen. Naarmate die Datahub groeit, wordt het de plek van waaruit het werk onderbouwd wordt.
Met de kennis en de oplossing van Crystalloids heeft AVROTROS nu een modern systeem voor databeheer, waarmee het team actueel inzicht heeft en snel kan handelen. Daarmee staat de organisatie stevig in het datagedreven werken.
In vier weken tijd hebben we veel geleerd. Het laden-normaliseren-publiceren dat Crystalloids heeft gebouwd, wordt een belangrijke basis van onze Datahub. We brengen de overige databronnen op dezelfde manier naar de Datahub, en dat is een flinke stap in de ontwikkeling ervan en in het datagedreven werken.