Starta en modern datastack på 5 minuter med Terraform
Vad är en modern datastack och hur distribuerar du en sådan? Den här guiden kommer att motivera dig att börja på denna resa med installationsinstruktioner för Airbyte, BigQuery, dbt, Metabase och allt annat du behöver med Terraform.
By Tuan Nguyen, CTO & styrelseledamot på Joon Solutions.
En modern datastackarkitektur (bild av författare).
Vad är en modern datastack
Modern Data Stack (MDS) är en bunt med tekniker som får ett modernt datalager att prestera 10–10,000 XNUMX gånger bättre än ett äldre datalager. I slutändan sparar en MDS tid, pengar och ansträngning. De fyra pelarna i en MDS är a datakontakt, en molndatalager, en datatransformatorOch en BI & datautforskning verktyg.
Easy integrering möjliggörs med hanterade och öppna källverktyg som förkonstruerar hundratals färdiga anslutningar. Det som brukade ta ett team av dataingenjörer att bygga och underhålla regelbundet kan nu ersättas med ett verktyg för enkla användningsfall. Hanterade lösningar som Stitch och Fivetran, tillsammans med lösningar med öppen källkod som Airbyte och Meltano, får detta att hända.
Med hjälp av en molnbaserat kolumnerat datalager har varit trenden nyligen på grund av dess höga prestanda och kostnadseffektivitet. Istället för att betala $ 100K per år för en lokal MPP-databas (massivt parallell bearbetning) kan du börja betala från $ 100 (eller mindre) per månad. Molnfödda datalager sägs vara 10–10,000 XNUMX gånger snabbare än en traditionell OLTP. Populära alternativ i denna kategori är BigQuery, Snöflingaoch rödförskjutning.
Förr i tiden var behandling av data inuti datalagret flaskhalsen på grund av teknikens begränsningar. Som ett resultat måste företagen gynna ETL istället för ELT för att minska datalagrets arbetsbelastning. Med framsteg i moln-native datalager, men många transformationsverktyg i datalager blir populära. Mest anmärkningsvärda i denna kategori är dbt (data build tool) och Dataform.
BI-verktyg brukade ta hand om några omvandlingar för att minska arbetsbelastningen på äldre datalager också. Med den moderna datastacken har dock BI-verktygens fokus flyttats (enligt min mening) för att demokratisera datatillgång, självbetjäning och dataupptäckt. Några verktyg som jag tror är på väg åt rätt håll är looker, metabasoch superset.
Vår arkitektur
Att komma igång med Modern Data Stack kan vara skrämmande eftersom många olika verktyg och processer är inblandade. Denna artikel syftar till att hjälpa dig att komma igång med denna resa så smidigt som möjligt. Det finns många förberedelsesteg, men det tar bara fem minuter att snurra upp alla resurser när du är klar.
Vi kommer att använda Terraform, ett verktyg för öppen källkod för infrastruktur för att tillhandahålla allt i Google Cloud. Om du följer instruktionerna nedan är här de resurser som kommer att skapas.
- Ett Google Cloud -projekt med nödvändigt API aktiverat
- Förtäring: en GCE -instans som kör Airbyte
- Lagring: BigQuery -datamängder
- Orkestrering (valfritt): en GCE -instans som kör Airflow
- BI & data discovery: en GCE -instans som kör Metabase
- Tjänstkonton för olika tjänster och deras IAM -behörighetsbindningar
Kom igång
Skapa ett Google Cloud -konto och aktivera fakturering
Terraform -koden i detta projekt kommer att interagera med Google Cloud Platform. Därför är vårt första steg att skapa ett Google -konto och aktivera fakturering. Notera fakturerings -ID med följande format på faktureringssidan: ######-##############. Du kommer att behöva detta värde i nästa steg.
Installera Google Cloud CLI
Installera Google Cloud SDK enligt instruktionerna här. för ditt respektive operativsystem. Efter att du har gmoln CLI installerat, kör följande kommando i ett terminalfönster och följ instruktionerna. Detta låter Terraform använda standarduppgifterna för autentisering.
gcloud auth application-default login
Installera terraform
Följ instruktionerna här. för att installera Terraform CLI lokalt. Kör följande kommando efteråt för att kontrollera din installation:
terraform -v
Du borde se något så här:
Terraform v1.0.0 på darwin_amd64 + leverantör register.terraform.io/hashicorp/google v3.71.0
Gaffla eller klona denna repo lokalt
Du kan gaffla denna repo till ditt konto eller klona det till din lokala dator. Kör följande för att klona repo:
git-klon https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Skapa en terraform.tfvars fil
Skapa en terraform.tfvars fil med följande innehåll:
#Fakturerings-ID från första steget billing_id = ######-######-#######Mapp-ID där du vill att ditt projekt ska ligga under#Lämna detta tomt om du använder ett personligt konto folder_id = "" # Organisations -ID där du vill att ditt projekt ska ligga under # Lämna detta tomt om du använder ett personligt konto org_id = "" # Projektet för att skapa project_id = ""
Varning: Dessa anses vara känsliga värden. Begå inte den här filen och *.tfstate filer till en offentlig repo.
Anpassa värdena i variabler.tf
Variablerna i variabler.tf kommer att användas för konfigurationen av resurserna.
Bild av författare.
Du kan anpassa maskintypen för olika tjänster genom att ändra variablerna. Om du inte vill använda någon tjänst, kommentera det i gce.tf fil.
Du kan också skapa olika datamängder för dina källsystem genom att lägga till dem i källdatasetordlistan.
Skapa en modern datastack
Slutligen, för att tillhandahålla alla dessa resurser på Google Cloud, kör följande kommando:
terraform gäller
Bild av författare.
Studera utmatningen i terminalen för att se till att alla resursinställningar är vad du vill att de ska vara. Typ ja och slå Till New Earth.
Terraform kommer att skapa ett Google Cloud -projekt med vår moderna datastack. Hela processen tar cirka 2-3 minuter. Det tar ytterligare 2-3 minuter innan tjänsterna installeras på VM -instanser. Hela processen tar bara 5 minuter eller mindre.
Använda den moderna datastacken
Hämta servicekonton för olika tjänster
Bild av författare.
Google rekommenderar att du använder ett annat servicekonto för olika tjänster. Terraformkoden i projektet har skapat olika konton för olika tekniker som redan används. Om du vill hämta ett servicekonto för en viss tjänst kör du följande kommando:
terraform output [service_name] _sa_key
Standardbehörigheten för alla dessa konton är roller/bigquery.admin. Du kan anpassa detta i iam.tf fil.
Värdet du fick tillbaka är base64 -kodat. Om du vill återställa detta värde till JSON -formatet kör du följande kommando:
echo "[värde från föregående kommando]" | base64 -d
Du kan använda JSON -servicekontot för att autentisera tjänståtkomst till projektets resurser.
Varning: Alla med detta servicekonto kan komma åt ditt projekt.
Ta in data med Airbyte
Airbyte är ett utmärkt dataintegreringsverktyg med öppen källkod. För att komma åt Airbyte UI, först, få gcloud SSH -kommandot.
Bild av författare.
Du får ett kommando som liknar detta:
gcloud beta compute ssh --zone "asien-southeast1-a" "tf-airbyte-demo-airbyte" --projekt "tf-airbyte-demo"
Lägg sedan till följande i kommandot för att vidarebefordra Airbyte-gränssnittet lokalt:
--L 8000: lokal värd: 8000 -L 8001: lokal värd: 8001 -N -f
Ditt slutliga kommando kommer att se ut så här:
gcloud beta compute ssh --zone "asien-southeast1-a" "tf-airbyte-demo-airbyte" --projekt "tf-airbyte-demo"--L 8000: localhost: 8000 -L 8001: localhost: 8001- N -f
Notera: Var noga med att radera det nya tecknet efter kopiering från GCP -gränssnittet.
Om Airbyte -instansen har startat klart kan du komma åt den genom att gå till din webbläsare och besöka lokalvärd: 8000. Om inte, vänta fem minuter tills instansen har slutfört installationen.
Bild av författare.
Nu kan du integrera dina källor, lägga till en BigQuery -destination med hjälp av airbyte_sa_key, och ha dina data i BigQuery på nolltid.
Du kan komma åt Airbyte -installationen på /airbyte/ inuti VM.
Modelldata med dbt
DBT (data build-verktyg) är ett kraftfullt datatransformationsverktyg med öppen källkod som använder SQL. Det gör det möjligt för dataanalytiker att utföra det arbete som tidigare var reserverat för dataingenjörer. Det hjälper också att skapa en helt ny position som kallas Analytics Engineer, en hybrid av en dataanalytiker och en dataingenjör. Du kan läsa mer om tjänsten i min blogg här..
Bild av författare.
Till skillnad från Airbyte, Airflow och Metabase behöver du inte en server för att köra dbt. Du kan registrera dig för ett gratis (evigt) 1-sits konto genom att besöka deras webbplats.
Orkestrera arbetsflöde med Airflow
Luftflöde är ett stridsprövat verktyg för arbetsflöde som skapats av Airbnb. Med en modern datastack behöver du förhoppningsvis inte använda Airflow mycket. I vissa fall där viss anpassning behövs kan Airflow dock vara ditt verktyg för att gå till.
För att komma åt användargränssnittet, få SSH -kommandot som liknar ovanstående avsnitt med Airbyte. Använd följande kommando för port-forward:
gcloud beta compute ssh --zone "asien-southeast1-a" "tf-airbyte-demo-airflow" --projekt "tf-airbyte-demo"--L 8080: localhost: 8080 -N -f
Nu kan du komma åt Airflow -installationen på lokalvärd: 8080. Standard användarnamn och lösenord är administration och administration.
Bild av författare.
Du kan komma åt luftflödesinstallationen på /luftflöde/ inuti VM.
Visualisera data med Metabase
metabas är ett verktyg för datavisualisering och upptäckt med öppen källkod. Det är super användarvänligt och lätt att komma igång med.
För att komma åt Metabase UI, få SSH -kommandot som liknar ovanstående avsnitt med Airbyte. Använd sedan följande kommando för port-forward:
gcloud beta compute ssh --zone "asien-southeast1-a" "tf-airbyte-demo-metabase" --projekt "tf-airbyte-demo"--L 3000: localhost: 3000 -N -f
Bild av författare.
Städa upp
För att undvika oönskade kostnader, se till att städa upp resurserna som skapats i detta projekt genom att köra.
terraform förstöra
Varning: Detta kommer att ta bort eventuella kvarstående data och resurser i projektet. Alternativt kan du stänga av oanvänd GCE för att spara kostnader också.
Ursprungliga. Skickas om med tillstånd.
Bio: Tuan Nguyen är CTO för Joon Solutions, ett Data as a Service-företag. Hans yrkeserfarenheter kretsar kring att bygga och hantera datavetenskapsteam, analysinfrastruktur och analysanvändningsfall. Han älskar att kombinera sin passion för dataanalys och molntjänster för att hjälpa företag att vara konkurrenskraftiga i denna digitala tid. Han har ett brett spektrum av intressen, inklusive astronomi, läsning, musik och IoT.
Relaterat:
Topphistorier de senaste 30 dagarna | |||||
---|---|---|---|---|---|
|
|
Källa: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- tillgång
- Konto
- Annat
- Airbnb
- Alla
- analytiker
- analytics
- Apache
- api
- arkitektur
- runt
- Artikeln
- astronomi
- Autentisering
- bil
- beta
- BigQuery
- fakturering
- Blogg
- ombord
- styrelseledamot
- gränsen
- webbläsare
- SLUTRESULTAT
- Byggnad
- företag
- vilken
- fall
- cloud
- cloud computing
- Molnplattform
- koda
- Företag
- företag
- Compute
- databehandling
- innehåll
- Kostar
- Skapa
- CTO
- datum
- datatillgång
- Data Analytics
- dataintegration
- datavetenskap
- datavisualisering
- datalagret
- datalager
- Databas
- dag
- djupt lärande
- förstöra
- digital
- Direktör
- Upptäckten
- ingenjör
- Ingenjörer
- Erfarenheter
- Förnamn
- Fokus
- följer
- format
- Fri
- Gold
- Google Cloud
- GPUs
- styra
- här.
- Hög
- Hur ser din drömresa ut
- HTTPS
- Hundratals
- Hybrid
- IAM
- bild
- Inklusive
- Infrastruktur
- integrering
- involverade
- iot
- IT
- LÄRA SIG
- inlärning
- lokal
- lokalt
- maskininlärning
- Framställning
- Medium
- ML
- pengar
- Musik
- nätet
- öppet
- öppen källkod
- Yttrande
- Tillbehör
- Lösenord
- prestanda
- plattform
- Populära
- projektet
- allmän
- område
- Läsning
- minska
- resurs
- Resurser
- Körning
- rinnande
- Vetenskap
- vetenskapsmän
- sDK
- Självbetjäning
- Tjänster
- Enkelt
- Lösningar
- Snurra
- SQL
- starta
- igång
- bo
- Upplevelser för livet
- System
- Tekniken
- tid
- topp
- Transformation
- omvandla
- ui
- värde
- visualisering
- vänta
- Warehouse
- Vad är
- Arbete
- arbetsflöde
- X
- år