Bootstrap een moderne datastack in 5 minuten met Terraform
Wat is een Modern Data Stack en hoe implementeer je er een? Deze gids motiveert je om aan deze reis te beginnen met installatie-instructies voor Airbyte, BigQuery, dbt, Metabase en al het andere dat je nodig hebt met Terraform.
By Toean Nguyen, CTO & bestuurslid bij Joon Solutions.
Een moderne datastackarchitectuur (afbeelding door auteur).
Wat is een moderne datastapel
Modern Data Stack (MDS) is een stapel technologieën die ervoor zorgt dat een modern datawarehouse 10 tot 10,000 keer beter presteert dan een traditioneel datawarehouse. Uiteindelijk bespaart een MDS tijd, geld en moeite. De vier pijlers van een MDS zijn: dataconnector, een cloud datawarehouse, een gegevenstransformatorEn een BI en dataverkenning gereedschap.
Eenvoudige integratie wordt mogelijk gemaakt met beheerde en open-source tools die honderden kant-en-klare connectoren vooraf bouwen. Waar vroeger een team van data-ingenieurs voor nodig was om het regelmatig te bouwen en te onderhouden, kan nu worden vervangen door een tool voor eenvoudige gebruiksscenario's. Beheerde oplossingen zoals Steek en vijftran, samen met open-sourceoplossingen zoals Luchtbyte en Meltan, maken dit mogelijk.
Met een cloudgebaseerd kolomvormig datawarehouse is de laatste tijd de trend vanwege de hoge prestaties en kosteneffectiviteit. In plaats van €100 per jaar te betalen voor een lokale MPP-database (massively parallel processing), kunt u beginnen met betalen vanaf €100 (of minder) per maand. Er wordt gezegd dat cloud-native datawarehouses 10 tot 10,000 keer sneller zijn dan een traditionele OLTP. Populaire opties in deze categorie zijn BigQuery, Sneeuwvlok en Redshift.
Vroeger vormde de verwerking van gegevens binnen het datawarehouse het knelpunt vanwege de beperkingen van de technologie. Als gevolg hiervan moesten bedrijven de voorkeur geven aan ETL in plaats van ELT om de werklast van het datawarehouse te verminderen. Met de vooruitgang van cloud-native datawarehouses zijn er echter veel transformatietools in het datawarehouse worden populair. Het meest opvallend in deze categorie zijn dbt (tool voor het bouwen van gegevens) en Dataform.
BI-tools werd gebruikt om enkele transformaties uit te voeren om ook de werkdruk op oudere datawarehouses te verminderen. Met de moderne datastack is de focus van BI-tools echter (naar mijn mening) verschoven naar het democratiseren van gegevenstoegang, zelfbediening en gegevensontdekking. Sommige instrumenten waarvan ik denk dat ze de goede kant op gaan, zijn dat wel Looker, metabase en superset.
Onze architectuur
Aan de slag gaan met de moderne datastack kan lastig zijn, omdat er veel verschillende tools en processen bij betrokken zijn. Dit artikel is bedoeld om u te helpen zo naadloos mogelijk aan deze reis te beginnen. Er zijn veel voorbereidingsstappen, maar het duurt maar vijf minuten om alle bronnen te activeren zodra je klaar bent.
We zullen gebruiken Terraform, een open source-tool voor infrastructuur als code waarmee u alles in Google Cloud kunt inrichten. Als u de onderstaande instructies volgt, zijn hier de bronnen die worden gemaakt.
- Een Google Cloud-project met de benodigde API ingeschakeld
- Inname: een GCE-instantie waarop Airbyte wordt uitgevoerd
- Warehousing: BigQuery-datasets
- Orkestratie (optioneel): een GCE-instantie waarop Airflow wordt uitgevoerd
- BI & data discovery: een GCE-instantie waarop Metabase draait
- Serviceaccounts voor verschillende services en hun IAM-toestemmingsbindingen
Start nu
Maak een Google Cloud-account en schakel facturering in
De Terraform-code in dit project zal communiceren met het Google Cloud Platform. Daarom is onze eerste stap het aanmaken van een Google-account en facturering inschakelen. Merk op factuur-ID met het volgende formaat op de Factureringspagina: #######-######-#######. U heeft deze waarde nodig in de volgende stap.
Installeer Google Cloud CLI
Installeer de Google Cloud SDK volgens de instructies hier voor uw respectievelijke besturingssysteem. Nadat u de gwolk CLI geïnstalleerd, voert u de volgende opdracht uit in een terminalvenster en volgt u de instructies. Hierdoor kan Terraform de standaardreferentie voor authenticatie gebruiken.
gcloud auth application-default login
Terraform installeren
Volg de instructies hier om de Terraform CLI lokaal te installeren. Voer daarna de volgende opdracht uit om uw installatie te controleren:
terravorm -v
Je zou zoiets als dit moeten zien:
Terraform v1.0.0 op darwin_amd64 + providerregistry.terraform.io/hashicorp/google v3.71.0
Fork of kloon deze opslagplaats lokaal
Je kunt vork deze repository naar uw account of kloon het naar uw lokale machine. Om de opslagplaats te klonen, voert u het volgende uit:
git kloon https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Maak een terraform.tfvars filet
Maak een terraform.tfvars bestand met de volgende inhoud:
# De facturerings-ID uit de eerste stap billing_id = ######-######-###### # De map-ID van waar u uw project wilt plaatsen # Laat dit leeg als u een persoonlijke account folder_id = "" # De organisatie-ID van waar u uw project wilt plaatsen # Laat dit leeg als u een persoonlijke account gebruikt org_id = "" # Het project dat moet worden aangemaakt project_id = ""
waarschuwing: Dit worden als gevoelige waarden beschouwd. Leg dit bestand en de *.tfstaat bestanden naar een openbare opslagplaats.
Pas de waarden aan in variabelen.tf
De variabelen binnen variabelen.tf zal worden gebruikt voor de configuratie van de bronnen.
Afbeelding door auteur.
U kunt het machinetype voor verschillende services aanpassen door de variabelen te wijzigen. Als u van geen enkele dienst gebruik wilt maken, kunt u dit aangeven in de gce.tf bestand.
U kunt ook verschillende gegevenssets voor uw bronsystemen maken door ze toe te voegen aan het woordenboek met bronnengegevenssets.
Creëer een moderne datastack
Om al deze bronnen op Google Cloud in te richten, voert u ten slotte de volgende opdracht uit:
terraform van toepassing
Afbeelding door auteur.
Bestudeer de uitvoer in de terminal om er zeker van te zijn dat alle broninstellingen zijn wat u wilt. Type ja en druk op invoeren.
Terraform zal een Google Cloud-project creëren met onze moderne datastack. Het hele proces duurt ongeveer 2 à 3 minuten. Het duurt nog eens 2 tot 3 minuten voordat de services op VM-instanties zijn geïnstalleerd. Het hele proces duurt slechts 5 minuten of minder.
Met behulp van de moderne datastack
Serviceaccounts voor verschillende services ophalen
Afbeelding door auteur.
Google raadt aan om voor verschillende services een ander serviceaccount te gebruiken. De terraformcode in het project heeft verschillende accounts aangemaakt voor verschillende reeds gebruikte technologieën. Om een serviceaccount voor een bepaalde service op te halen, voert u de volgende opdracht uit:
terraform-uitvoer [service_name]_sa_key
De standaardmachtiging voor al deze accounts is rollen/bigquery.admin. U kunt dit aanpassen in de ik.tf bestand.
De waarde die u terugkrijgt is base64-gecodeerd. Om deze waarde terug te zetten naar het JSON-formaat, voert u de volgende opdracht uit:
echo "[waarde uit het vorige commando]" | basis64 -d
U kunt het JSON-serviceaccount gebruiken om de servicetoegang tot de bronnen van uw project te verifiëren.
waarschuwing: Iedereen met dit serviceaccount heeft toegang tot uw project.
Neem gegevens op met Airbyte
Luchtbyte is een uitstekende open-source data-integratietool. Om toegang te krijgen tot de Airbyte-gebruikersinterface, moet u eerst de gcloud SSH-opdracht ophalen.
Afbeelding door auteur.
U krijgt een opdracht die er ongeveer zo uitziet:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Voeg vervolgens het volgende toe aan de opdracht om de Airbyte UI lokaal door te sturen:
-- -L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
Je laatste opdracht ziet er als volgt uit:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N-f
Opmerking: Zorg ervoor dat u het nieuweregelteken verwijdert nadat u het vanuit de GCP-gebruikersinterface hebt gekopieerd.
Als de Airbyte-instantie klaar is met opstarten, kunt u deze openen door naar uw browser te gaan en te bezoeken localhost: 8000. Als dit niet het geval is, wacht dan vijf minuten totdat het exemplaar de installatie heeft voltooid.
Afbeelding door auteur.
Nu kunt u uw bronnen integreren en een BigQuery-bestemming toevoegen met behulp van de airbyte_sa_keyen heb uw gegevens in een mum van tijd in BigQuery.
U kunt toegang krijgen tot de Airbyte-installatie op /luchtbyte/ binnen de virtuele machine.
Modelgegevens met dbt
dbt (data build tool) is een krachtige open-source datatransformatietool die gebruik maakt van SQL. Het stelt data-analisten in staat het werk te doen dat voorheen was voorbehouden aan data-ingenieurs. Het helpt ook bij het creëren van een geheel nieuwe functie genaamd Analytics Engineer, een hybride van een data-analist en een data-ingenieur. Meer over de functie lees je in mijn blog hier.
Afbeelding door auteur.
In tegenstelling tot Airbyte, Airflow en Metabase heb je geen server nodig om dbt uit te voeren. U kunt zich registreren voor een gratis (voor altijd) 1-zitsaccount door naar hun te gaan van de.
Organiseer de workflow met Airflow
Luchtstroom is een beproefde tool voor workfloworkestratie, gemaakt door Airbnb. Met een moderne datastack hoef je Airflow hopelijk niet veel te gebruiken. In sommige gevallen waarin maatwerk nodig is, kan Airflow echter uw favoriete hulpmiddel zijn.
Om toegang te krijgen tot de gebruikersinterface, krijgt u de SSH-opdracht vergelijkbaar met de bovenstaande sectie met Airbyte. Gebruik de volgende opdracht voor port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Nu hebt u toegang tot de Airflow-installatie op localhost: 8080. De standaard gebruikersnaam en wachtwoord zijn beheerder en beheerder.
Afbeelding door auteur.
U kunt toegang krijgen tot de luchtstroominstallatie op /luchtstroom/ binnen de virtuele machine.
Visualiseer gegevens met Metabase
metabase is een open-source datavisualisatie- en ontdekkingstool. Het is super gebruiksvriendelijk en gemakkelijk om mee te beginnen.
Om toegang te krijgen tot de Metabase-gebruikersinterface, krijgt u de SSH-opdracht vergelijkbaar met de bovenstaande sectie met Airbyte. Gebruik vervolgens de volgende opdracht voor port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Afbeelding door auteur.
Opruimen
Om ongewenste kosten te voorkomen, moet u ervoor zorgen dat u de bronnen die in dit project zijn gemaakt, opruimt door deze uit te voeren.
terraform vernietigen
Waarschuwing: Hiermee worden alle bewaarde gegevens en bronnen in het project verwijderd. Als alternatief kunt u de ongebruikte GCE uitschakelen om ook kosten te besparen.
ORIGINELE. Met toestemming opnieuw gepost.
Bio: Toean Nguyen is de CTO van Joon Solutions, een Data as a Service-bedrijf. Zijn professionele ervaringen draaien om het bouwen en beheren van data science-teams, analyse-infrastructuur en gebruiksscenario's voor analyse. Hij combineert graag zijn passie voor data-analyse en cloud computing om bedrijven te helpen concurrerend te blijven in deze digitale tijd. Hij heeft een breed scala aan interesses, waaronder astronomie, lezen, muziek en IoT.
Zie ook:
Topverhalen afgelopen 30 dagen | |||||
---|---|---|---|---|---|
|
|
Bron: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- toegang
- Account
- Extra
- Airbnb
- Alles
- analist
- analytics
- apache
- api
- architectuur
- rond
- dit artikel
- astronomie
- authenticatie
- auto
- beta
- BigQuery
- factuuradres
- Blog
- boord
- bestuurslid
- grens
- browser
- bouw
- Gebouw
- ondernemingen
- verzorging
- gevallen
- Cloud
- cloud computing
- Cloud Platform
- code
- Bedrijven
- afstand
- Berekenen
- computergebruik
- content
- Kosten
- Wij creëren
- CTO
- gegevens
- toegang tot data
- gegevens Analytics
- gegevens integratie
- data science
- data visualisatie
- datawarehouse
- data warehouses
- Database
- dag
- diepgaand leren
- vernietigen
- digitaal
- Director
- ontdekking
- ingenieur
- Ingenieurs
- Ervaringen
- Voornaam*
- Focus
- volgen
- formaat
- Gratis
- Tijdloos goud
- Kopen Google Reviews
- Google Cloud
- GPU's
- gids
- hier
- Hoge
- Hoe
- HTTPS
- Honderden
- Hybride
- IAM
- beeld
- Inclusief
- Infrastructuur
- integratie
- betrokken zijn
- iot
- IT
- LEARN
- leren
- lokaal
- plaatselijk
- machine learning
- maken
- Medium
- ML
- geld
- Muziek
- online.
- open
- open source
- Advies
- Opties
- Wachtwoord
- prestatie
- platform
- Populair
- project
- publiek
- reeks
- lezing
- verminderen
- hulpbron
- Resources
- lopen
- lopend
- Wetenschap
- wetenschappers
- sdk
- Zelfbediening
- Diensten
- Eenvoudig
- Oplossingen
- spinnen
- SQL
- begin
- gestart
- blijven
- Blog
- Systems
- Technologies
- niet de tijd of
- top
- Transformatie
- transformeren
- ui
- waarde
- visualisatie
- wachten
- Magazijn
- Wat is
- Mijn werk
- workflow
- X
- jaar