Mění se každé nasazení Azure Data Factory v boj s ARM šablonami?

Pod vizuálním editorem je Azure Data Factory JSON: pipelines, datasety, linked services a ARM šablona, která je nasazuje. Přenesení změny z Dev do Prod znamená soubory parametrů, globální parametry a šablonu, která selže na jediné neshodě typů. Releases by měly být generovány z modelu, včetně rollbacku.

Mění se každé nasazení Azure Data Factory v boj s ARM šablonami?

Platforma pro automatizaci datových skladů, které důvěřují datové týmy napříč obory

Zní vám to povědomě?

  • Nasazení do produkce selže v kroku ARM šablony a opravou je soubor parametrů, na jehož úpravu si nikdo nevzpomíná.
  • Dev, Test a Prod mají mírně odlišnou konfiguraci linked services, udržovanou ručně na třech různých místech.
  • Definice datasetu se změnila v jedné pipeline a rozbila jinou, protože ji obě sdílely a otestována byla pouze jedna.
  • Rollback znamená znovu nasadit předchozí ARM šablonu a doufat, že datasety, na které odkazuje, stále existují.

Azure Data Factory skrývá svůj podkladový JSON dobře, dokud nepřijde den nasazení. V tu chvíli se ARM šablona, soubory parametrů, globální parametry a přepisy linked services objeví najednou a jediná neshoda datových typů zablokuje nasazení, dokud ji někdo nedohledá.

Proč jsou releases křehké

  • Pipeline je JSON, ať už jej vidíte, nebo ne. Vizuální editor zapisuje definice pipelines, datasetů a linked services a proces publikování je kompiluje do ARM šablony. Některé týmy to balí do Bicepu; artefakt pod ním zůstává stejný.
  • Rozdíly mezi prostředími se řídí soubory parametrů. Dev, Test a Prod se liší v připojovacích řetězcích, klíčích a názvech a tyto rozdíly jsou uložené v ručně spravovaných souborech.
  • Závislosti jsou implicitní. Datasety a linked services se sdílejí napříč pipelines; úprava jedné z nich pro pipeline, kterou jste otestovali, změní chování i těch, které jste netestovali.
  • Rollback je nové nasazení předchozího stavu. Návrat zpět vyžaduje předchozí šablonu a vše, na co odkazovala, musí v cíli stále existovat.

ADF se chová tak, jak je u prostředků Azure běžné: nasazuje se jako šablona. Šablony jsou však navrženy pro statickou infrastrukturu, účty úložiště a sítě. Schéma datového skladu je stavové a mění se s každou release; na to šablony navržené nejsou.

Kam patří správa nasazení

  • Do generátoru. Pokud datový sklad vychází z modelu, release je rozdílem mezi dvěma stavy tohoto modelu a nástroj ví, na čem každý rozdíl závisí.
  • Včetně rollbacku. Generovaná release ví, co změnila, takže reverzní skript existuje dříve, než se release spustí.
  • Porovnáno, nikoli odhadováno. Rozdíl mezi Testem a Produkcí má být report, nikoli překvapení při spuštění.

Co se mění s Datavault Builderem

Datavault Builder vytváří release porovnáním dvou stavů s integrovanou podporou pro Git a Gitflow. Stavem může být vaše lokální prostředí, stav uložený v Gitu, jiné živé prostředí, zip soubor nebo složka; porovnání vypíše rozdíly a vy zvolíte, které z nich nasadit.

  • Žádná šablona k údržbě. Release je množina vybraných rozdílů, vygenerovaná pro cílové prostředí. Zvolte datový produkt a nástroj navrhne potřebný hub, satelit, staging tabulku i zdroj.
  • Rollback se generuje spolu s ní. Každá release nese svůj reverzní skript i verzi modelu, ke které patří.
  • Prostředí se porovnávají, nikoli odhadují. To, co má produkce obdržet, je seznam rozdílů mezi jejím stávajícím stavem a nasazovanou verzí.
  • Odchylky ve zdrojích nevyžadují novou release. Chybějící sloupce se načtou jako null s upozorněním, sloupce, které narostou, se rozšíří a nové sloupce znamenají úpravu mapování.
  • Vaše nástroje pro CI zůstávají. Azure DevOps nebo GitHub Actions spouštějí vygenerovaný balíček; samotnému skladu již rozumět nemusejí.

Co rozhodnout

Zrevidujte svůj proces nasazování a spočítejte dvě věci: počet souborů parametrů a přepisů pro jednotlivá prostředí, které udržujete, a počet nasazení v minulém čtvrtletí, která selhala na kroku šablony. Přesně tuto režii generovaná release odstraňuje.

Podívejte se, jak to funguje na jednom z vašich zdrojů

Rezervujte si bezplatné demo a přineste konektor, který vás stojí nejvíce peněz nebo času.

Tři kroky k pipeline, kterou máte plně pod kontrolou

  1. Oddělit model od nasazení

    Struktura datového skladu je model. Nasazení je vygenerovaný skript pro cílové prostředí, nikoli ručně udržovaná šablona.

  2. Generovat release

    Datavault Builder porovná dva stavy, vybere rozdíly k nasazení a navrhne potřebné závislosti. Rollback je jeho součástí.

  3. Porovnat před nasazením do dalšího prostředí

    Lze porovnat jakékoli dva stavy: vaše lokální prostředí, stav v Gitu, jiné živé prostředí, zip soubor nebo složku.

Jak Datavault Builder odstraňuje třecí plochy při ingestu dat

  • Ingest dat je integrovaný

    Dávkové, delta i CDC nahrávání z databází, souborů, REST API, NoSQL a Python zdrojů, přičemž proudy jako Kafka přicházejí v micro-batches. Stejná platforma, která generuje datový sklad, bez dalších faktur za licence.

  • Vaše schéma, nikoli schéma dodavatele

    Zdrojové tabulky jsou namapovány na model Data Vault 2.0, který jste sami navrhli. Nový sloupec nebo přejmenovaná tabulka mění pouhé mapování, nikoli řetězec post-load skriptů.

  • Přenášejí se pouze delty

    Huby, linky a satelity nahrávají jen to, co se skutečně změnilo. Plná přenačtení zůstávají ve stagingu, místo aby se každou noc přepočítávala v celém skladu.

  • Historie se uchovává automaticky návrhem

    Každá změna je zachycena tak, jak dorazí, takže historický reporting funguje i tam, kde zdrojový systém přepisuje vlastní záznamy.

  • Kód, který nikdy nemusíte psát ručně

    Nahrávání, historizace a lineage se generují z modelu v reálném čase a běží nativně na Snowflake, Databricks, BigQuery, SQL Serveru, Fabricu, Oracle nebo PostgreSQL.

  • Jedna platforma, až o devět nástrojů méně

    Modelování, ETL, CI/CD, dokumentace a lineage na jednom místě. Právě to umožňuje přejít od zadání požadavku do produkce za 14,7 minuty.

Oceněno společností BARC v The Data Fabric Survey 26

Seznamte se s naším expertem

Dvacet minut s naším obchodním ředitelem a upřímná odpověď, zda se to hodí pro váš technologický stack.

Matt Collett

Matt Collett

Sales Director

Co hledáte?

Odesláním souhlasíte s našimi Zásadami ochrany osobních údajů.

Další problémy, které tato série řeší

  • Vázanost na Azure

    Úskalí Azure Data Factory: Skryté náklady vizuálních pipelines a Sparku

    Azure Data Factory je dobrá transportní vrstva v rámci Azure a nevhodné místo pro uchovávání logiky datového skladu. Její nasazení v roli modelovací a transformační platformy přináší nepřehledné plátno, nasazení selhávající na ARM šablonách a clustery Sparku pro dávky, které zvládne jediný SQL příkaz. A každá z těchto pipelines existuje jen v Azure.

  • Náklady na Mapping Data Flows

    Stojí vaše Azure Data Factory Mapping Data Flows více než data, která zpracovávají?

    Mapping Data Flows běží na spravovaném Spark clusteru, který startuje několik minut a účtuje se za vCore-hodinu. Pro rozsáhlou noční transformaci to dává smysl. Pro pár set tisíc řádků je to spouštění clusteru jen proto, aby vykonal to, co by v datovém skladu vyřešil jediný SQL příkaz.

  • Vizuální pipelines ve velkém měřítku

    Přerostlo plátno Azure Data Factory tým, který jej původně vybudoval?

    Pipeline sestavená přetahováním myší vznikne rychle, ale mění se pomalu. Po překročení několika desítek aktivit se z plátna stává jediná dokumentace, vizuální vazby nahrazují obchodní logiku a každý nový zdroj znamená další aktivitu kopírování, na kterou nikdo nechce sahat. Řešením není uklizenější plátno, ale model, který pipelines generuje.

Otázky a odpovědi