IaaS vs PaaS: Wat te kiezen voor mijn DWH in de cloud (deel 3)?
In mijn vorige blogs ben ik ingegaan op IaaS en PaaS in Microsoft Azure, en heb hier een (lang..) verhaal over geschreven. Dit is het laatste deel, met de hamvraag: wat moet ik kiezen voor mijn data warehouse (DWH) in de cloud?
Vorige delen vind je hier: deel 1 en deel 2.
De keuze voor IaaS of PaaS voor je DWH in de cloud hangt af van een aantal factoren. Ik zal proberen een aantal overwegingen uiteen te zetten die je kunnen helpen bij het maken van de keuze.
1. Kosten
Over het algemeen is PaaS het goedkoopst om mee te beginnen, maar wanneer je databases wat groter en sneller moeten, kan het zijn dat je al snel over het break-even punt vliegt. Bedenk goed van te voren wat deze non-functional requirements aan je database zijn, en maak dan een vergelijk tussen de opties. Uiteraard bespaar je met PaaS wel op beheer en upgrade-kosten, en is de investering nog kleiner dan bij IaaS.
2. ETL
Zoals ik al even boven aangaf, komen alle PaaS varianten van Microsoft SQL Server zonder de ETL tool SSIS. Wil je toch van SSIS gebruik maken dan moet je toch een VM neerzetten met een installatie van SQL Server (=licentie). Hier zit dan SSIS bij, en configureer je als target je PaaS database. Dit klinkt wat omslachtig, en dat is het feitelijk ook. Je betaalt namelijk nog steeds voor een IaaS server. Het alternatief is om stored procedures te gebruiken voor alle ETL.
Een van de voordelen van stored procedures is dat ze snel zijn en zowel in IaaS als PaaS kunnen worden geïmplementeerd. Wat in mijn ogen een groot nadeel is is dat ze minder makkelijk te lezen zijn dan een goed gebouwde SSIS mapping, en lastiger zijn te onderhouden en beheren. Ze vereisen geavanceerde SQL skills van de ontwikkelaar, daar waar SSIS nog wat complexiteit uit handen neemt. Als derde alternatief kun je natuurlijk een third-party ETL tool gebruiken. Toch zal je ook hier ook een VM voor moeten draaien.
Een combinatie dus tussen IaaS en PaaS. Het is in feite wachten tot Microsoft zijn ETL ook als PaaS dienst aan gaat bieden (en let op: Azure Data Factory is geen vervanger voor SSIS).
3. Migratie of green-field?
Bij een migratie van een on-premise database (plus software) moet je rekening houden met het feit dat PaaS niet alle datatypes en T-SQL commando’s ondersteunt. Dit geldt met name voor het SQL Data Warehouse, omdat dit zo’n specialistisch platform is. Onderzoek goed of jouw specialistische query wel ondersteund wordt door PaaS voor je een keuze maakt.
Ga je uit van een green-field situatie dan is dit natuurlijk een stuk eenvoudiger en kun je vanaf het begin rekening houden met deze andere manier van werken binnen PaaS.
Conclusie
Er zijn nog legio andere overwegingen te bedenken, maar ik wil het kort houden. Persoonlijk was ik in het begin heel erg gecharmeerd van PaaS en stond ik te popelen om al onze klanten zo snel mogelijk te migreren. Ik ben hier een beetje op teruggekomen, met name door het gebrek aan een ETL engine in de cloud. Naast het feit dat ik als BI specialist gewend ben om een stuk of 5 databases aan te maken voor één data warehoue (bij PaaS betaal je per database), miste ik gewoon een stukje beheersbaarheid en eenvoud.
Ik ben er echter wel van overtuigd dat dit een kwestie is van tijd. De PaaS-trein dendert verder en er wordt flink in geïnvesteerd. Tegen de tijd dat alle kinderziektes eruit zijn en we serverless kunnen ETL’en in de cloud, zie ik geen bezwaren meer om compleet PaaS te gaan als het op datawarehousing aankomt!
Geschreven door
Riviq
info@riviq.nl
+31 (0)70 40 60 966
meer over dit onderwerp
Krijg zicht op het gebruik van Power BI en laat jouw investering nog beter renderen
Hoe inventariseer je het gebruik? En hoe bepaal je waar zich nog witte vlekken bevinden?
Laat de cloud je niet verrassen: houd grip op de kosten met Azure Cost Management
Pim Wennekes legt uit hoe je dat voorkomt met een heldere kostenmanagement strategie én met hulp van Azure Cost Management
On-premise data warehouse migratie naar Azure services
Is het mogelijk om je on-premise data warehouse in één te migreren naar Azure services?