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.

    Avrotros

    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:

    1. Informatie verzamelen over de bestaande architectuur en de doelen op hoofdlijnen
    2. De backlog opstellen samen met de product owner, de ontwikkelaars en de commercieel directeur
    3. De backlog aanscherpen tot de details kloppen, inclusief de definition of done
    4. De backlog ordenen op zakelijk belang
    5. Het werk voor de gekozen user stories inschatten

    Uitvoering:

    1. De architectuur ontwerpen
    2. De oplossing bouwen
    3. Werkende software tonen in twee sprints van twee weken
    4. Code en documentatie overdragen
    5. 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.

    Bekijk hun website →

    Begin je eigen succesverhaal met Crystalloids

    Klaar om beslissingen beter te onderbouwen met data? We denken graag mee en beantwoorden je vragen.

    Neem contact op →

    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:

    Google Cloud Platform

    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.

    TJITZE ZIJLSTRAGrowth Hacker, Avrotros