Hero imageMobile Hero image
  • LinkedIn
  • Facebook

October 21, 2021

Stel je krijgt een opdracht om in één maand tijd een modern data platform neer te zetten met tooling die je nog niet kent? Hoe pak je dat dan aan? Lees het hier of ga direct naar onze data platform services!

Uitdaging – native cloud data platform

Van een klant kregen we de uitdaging om in één maand tijd een native cloud data platform neer te zetten. Een eerdere poging door een andere leverancier mislukte, waardoor er een maand over was tot de initieel gestelde deadline. Een mooie uitdaging waarin flexibiliteit van zowel ons als team, de software vendor en de klant nodig is om business waarde van de geïnvesteerde tijd voorop te zetten.

Om die waarde te realiseren was de ontsluiting van data uit een nieuw bronsysteem noodzakelijk en was de toolkeuze voor data pipelining, opslag en rapportage reeds gemaakt door de klant. Ook de integratie van die tooling in het applicatielandschap en de licenties waren ingeregeld waardoor het team direct de inhoud in kon gaan.

De data-pipeline tooling om de data op te halen vanuit een secure omgeving, is Fivetran. De cloud native database is Snowflake en voor het uitleveren van de data- en informatieproducten is de rapportagetool Looker aan boord.

Iedere solution designer combineert inmiddels cloud native tooling die bijdraagt aan een modern data platform. Binnen Sogeti standaardiseren en industrialiseren wij in die lijn onder andere op Microsoft (ADF, Synapse, Power Platform), Informatica, Collibra, Matillion en Snowflake. De voorgaande leverancier had een andere keuze gemaakt en gezien de gestelde tijdslijnen was een heroverweging van die tool combinatie niet wenselijk.

Keuzes leiden tot resultaat

Bij Sogeti helpen wij onze klant graag in het behalen van doelstellingen en de deadline was hierin een vaste parameter. Gezien die tijdsdruk hebben we daarom samen met onze klant de strategie neergezet waarin we gezamenlijk specifieke keuzen hebben gemaakt.

  1. Productie-omgeving als eerst: Ons uitgangspunt was een green field. Dit is altijd heel prettig omdat je hiermee geen complexiteit introduceert zoals datamigratie en historiebehoud. De keuze is daarom gemaakt, om tot de eerste oplevering op de productie-omgeving te ontwikkelen. In opvolgende sprints hebben we uiteraard wel development- en testomgevingen vormgegeven om zo via CI/CD changes te ondersteunen.
  2. Standaards, bouwblokken en industrialisatie: Vanuit Sogeti hebben we veel kennis van de inrichting van modern data platforms waarin Snowflake centraal in de oplossing staat voor storage & compute. Deze kennis, ervaring en standaarden hebben we bij deze klant ingezet. Wij hebben dit gecombineerd met onderdelen uit de Modern Data Platform services- en accelerators van Sogeti.
  3. Solution architectuur: Naast standaarden voor naamgevingen heb ik een high-over architectuurdocument opgesteld waarin de minimale eisen voor het design en implementatie zijn vormgegeven. Er is hierdoor bijvoorbeeld een gelaagdheid aangebracht binnen Snowflake waar we volgens onze best-practices, de rollen, de gebruikers, de autorisaties en authenticatie (RBAC) hebben aangebracht.
Data afbeelding

Appel of peer, het blijft fruit

Een andere uitdaging die ons team aanging was het opdoen van ervaring met Fivetran als Data Pipeline as a Service. Daar waar ons team de ins en outs kennen van Informatica, Matillion, Python, Kafka en Microsoft in combinatie met Snowflake, daar was Fivetran nog onbekend terrein.

Om ons team van data engineers op stoom te brengen hebben we gezamenlijk een aantal acties uitgevoerd.

  1. Ruimte voor basis instructie: Iedereen leert anders. Zo geven wij ook de ruimte om zelf te leren op de manier waarop dat voor de data engineer het prettigst is. Ik zag hierin veel manieren voorbij komen, denk aan Youtube-instructievideo’s, tutorials en daarnaast veel uitproberen en testen.
  2. Proeftuin op noodzaak: Ons team heeft veel ervaring in gegevensvoortbrenging, data processing, data warehousing en data visualisatie in de cloud. En toch is het dan prettig om een sandbox te hebben waarin je snel een bewijs van technische werking krijgt. Het gaf ons hiermee ook de ruimte om vertrouwen te krijgen in de werking de tooling in combinatie met onze accelerators.  

Wij hebben op deze wijze snel kennis en handigheid gekregen met Fivetran waardoor de projectopstart ook razendsnel ging. Uiteraard heeft Fivetran specifieke eigenaardigheden en die hebben wij tijdens de implementatie opgepakt.

Meta data en testdata als uitgangspunt voor snelheid in ontsluiting

Een minstens zo belangrijk startpunt is het snel verkrijgen van testdata- en metadata van het nieuwe bronsysteem. Voor Sogeti was het een bekend systeem dat ontsloten moest worden en werd die brondata ook in een andere data-interface aangeleverd. Wij hebben in dit project ervaren dat testdata essentieel is wanneer je gebruik maakt van Fivetran.

Zo kwamen bij de eerste verwerking van die data naar Snowflake via de standaard Fivetran-connectoren direct punten naar voren waar we met andere data rekening mee moesten houden. Een belangrijke bevinding was de interpretatie van decimalen: het is (momenteel) niet mogelijk om taal/regio instellingen te doen in Fivetran. Zo werd er bijvoorbeeld data met een komma als decimaal aangeleverd. Dit wordt Fivetran geinterpreteerd als een varchar in plaats van number.

Niet alle data hebben wij binnengehaald met Fivetran-connectoren. Zo hebben wij een oplossingsrichting (handmatige verwerking van files) uit de eerste fase herbruikt en deze wel met Fivetran uitgevoerd. Dit betekende initieel ook extra handmatige handelingen in de beheerprocessen, waarbij we wederom tegen specifieke (land/regio instelling) eisen van Fivetran aanliepen. De csv-structuur moet bij een handmatige verwerking een komma als scheidingsteken hebben anders wordt de kolomstructuur niet herkend. Dat omzetten naar een inleesbare csv is natuurlijk weer een extra niet wenselijke handmatige stap.

Het gevolg was dat de data na het inlezen in de Raw-laag een verdere transformatie naar de correcte datatypes moet ondergaan. Dit hebben wij binnen Fivetran opgelost door een set aan generieke SQL-statements in een transformatiescript op te nemen. Deze transformatie koppelen we hierna aan de connector, waardoor de automatisering en de orchestratie geheel in handen van Fivetran kwam. De resultaten uit die transformatieprocessen zijn opgenomen in de DataHub-laag.

Data management is onlosmakelijk verbonden met dataplatforming

In de transformatiescripts is ook generieke metadatalogica toegevoegd om de datalineage en procesgang van de data te monitoren.

Het spreekt voorzich om gebruikers volgens leidende security-protocollen van data te voorzien. Om die reden hebben wij bovenop de DataHub-laag een Publicatie-laag beschikbaar gesteld speciaal voor de gebruikers van data. Deze laag is volledig virtueel en bestaat uit secure views.

Deadline gehaald en nu?

Nadat onze klant de MVP succesvol in productie heeft genomen hebben wij onze focus verlegd naar het data platform robuuster te maken en de meta data laag verstevigen. Dit werk deden wij naast het leveren van nieuwe business waarde via het uitbouwen met meerdere bronsystemen en leveren van geïntegreerde inzichten. Het uiteindelijke resultaat is een stabiel en beheerlastarm dataplatform waarbij Fivetran en Snowflake geolied samenwerken. 

Meer weten over Dataplatform?

Download dan de whitepaper ‘In 4 stappen naar een datagedreven organisatie’. Daarnaast organiseren we regelmatig meetups waaraan iedereen vrijblijvend kan deelnemen. Dit is de SoConnect Data. Op onze eventspagina staat de planning.

Eddy Visser

Eddy Visser

SME Data Platform