Databricksin resurssipaketeilla hallitut siirtymät ympäristöstä toiseen

Databricksin sovellusten infrastruktuuri koodina.

Mikä on Databricksin resurssipaketti?

Databricksin resurssipaketit, virallisesti **Declarative Automation Bundles** (aiemmin Databricks Asset Bundles, DABs), ovat Databricksin infrastruktuuri koodina -mekanismi. Niiden avulla tiimit voivat määritellä kaikki Databricks-resurssit — jobit, Spark Declarative Pipelines, ML-mallit, dashboardit, Unity Catalog -skeemoja ja paljon muuta — YAML-konfiguraatiotiedostoina, versioida ne Gitissä ja ottaa ne käyttöön johdonmukaisesti dev-, staging- ja tuotantoympäristöissä.

Ajattele niitä kuin Terraformia, mutta Databricksille räätälöitynä: määrittelet mitä resursseja haluat, ja Databricksin CLI hoitaa loput.

Resurssipaketin ydinperiaatteet

PeriaateMitä se tarkoittaa
DeklaratiivinenKuvaat mitä pitäisi olla olemassa, et miten se luodaan. CLI sovittaa nykyisen tilan haluttuun tilaan.
YmpäristötietoinenYksi konfiguraatio tukee useita kohdealustoja (dev, staging, prod) ympäristökohtaisilla muuttujaohiteilla.
Git-natiiviKaikki konfiguraatiot elävät repositoriossa lähdekoodin rinnalla. Haarat, PR:t ja koodikatselmoinnit toimivat normaalisti.
IdempotenttiSaman paketin käyttöönotto kahdesti tuottaa saman lopputuloksen — ei duplikaatteja, ei ajautumista.

Miksi resurssipaketit ratkaisevat oikean ongelman?

Ilman resurssipaketit datatiimit ajautuvat tuttuihin ansoihin:

  • Manuaaliset käyttöönotot — joku klikkaa käyttöliittymässä jobin tuotantoon. Ei auditraileja, ei toistettavuutta.
  • Ympäristöajautuminen — dev, test ja prod eriytyvät, kun muutoksia tehdään ad hoc. Pipeline toimii devissä mutta hajoaa tuotannossa.
  • Hauraita skriptejä — tiimit kirjoittavat REST API -käyttöönottoskriptejä, jotka kasvavat hauraiksi ja ovat yhden insinöörin varassa.
  • Ei paluutietä — kun käyttöönotto menee pieleen, ei ole selkeää tapaa palata edelliseen tilaan.

Resurssipaketit ratkaisevat kaikki nämä tekemällä infrastruktuurista toistettavaa, katselmoitavaa ja palautettavaa.

Mitä resursseja paketti voi hallita?

ResurssityyppiMitä se ottaa käyttöönTyypillinen käyttötarkoitus
JobsAikataulutetut tai laukaistavat työnkulutETL-pipelinet, datan laadunvalvonta, ML-koulutusajot
PipelinesSpark Declarative Pipelines (SDP)Medallion-arkkitehtuurin transformaatiot, streaming
Model Serving EndpointsReaaliaikaiset ML-mallin inferenssiendpointitEnnusteiden tarjoaminen REST API:n kautta
SchemasUnity Catalog -skeemojaTaulujen organisointi ympäristökohtaisesti
DashboardsDatabricks AI/BI -dashboarditOperatiivinen monitorointi, liiketoimintaraportointi
Quality MonitorsDatan laadunvalvontasäännötAutomaattinen datan validointi
AppsDatabricks AppsSovelluskehitysalusta erilaisia kehyksiä käyttäen

Miten resurssipaketti toimii?

Kansiorakenne

Tyypillinen resurssipakettiprojekti näyttää tältä:

```bash
my-project/
├── databricks.yml           # Juurikonfiguraatio
├── resources/
│   ├── jobs.yml              # Jobin määrittelyt
│   ├── pipelines.yml         # Spark Declarative Pipeline -määrittelyt
│   └── model-serving.yml     # ML-mallin tarjoiluendpointit
├── src/
│   ├── notebooks/            # Notebook-lähdekoodit
│   ├── python/               # Python-pyörä- tai skriptilähteet
│   └── sql/                  # SQL-kyselytiedostot
└── tests/
    └── integration/          # Integraatiotestit
```

Esimerkki: Monivaihteinen ETL-job YAML:lla

```yaml
resources:
  jobs:
    daily_etl:
      name: "Daily Customer ETL — ${var.catalog}"
      schedule:
        quartz_cron_expression: "0 0 6 * * ?"
        timezone_id: "Europe/Helsinki"
      job_clusters:
        - job_cluster_key: etl_cluster
          new_cluster: ${var.default_cluster}
      tasks:
        - task_key: ingest_raw
          job_cluster_key: etl_cluster
          notebook_task:
            notebook_path: ../src/notebooks/01_ingest_raw.py
        - task_key: transform_silver
          depends_on:
            - task_key: ingest_raw
          job_cluster_key: etl_cluster
          notebook_task:
            notebook_path: ../src/notebooks/02_transform_silver.py
        - task_key: aggregate_gold
          depends_on:
            - task_key: transform_silver
          job_cluster_key: etl_cluster
          notebook_task:
            notebook_path: ../src/notebooks/03_aggregate_gold.py
```

Monien ympäristöjen hallinta

Resurssipaketit loistavat erityisesti monien ympäristöjen hallinnassa. Yksi `databricks.yml`-konfiguraatio voi kohdistua dev-, staging- ja tuotantoympäristöihin ympäristökohtaisilla ohiteilla.

Dev-tila vs. tuotantotila

Dev-tilassa (`mode: development`) CLI automaattisesti:

  • Lisää resurssien nimiin etuliitteen `[dev <käyttäjänimi>]` törmäysten välttämiseksi, kun useampi insinööri kehittää samanaikaisesti
  • Asettaa klusterit yksisoluisiksi kustannustehokkuuden vuoksi
  • Keskeyttää ajoitetut triggerit, jotta dev-jobit eivät aja tuotantoaikataululla

Tuotantotilassa (`mode: production`):

  • Resurssien nimet otetaan käyttöön täsmälleen määriteltyinä — ei etuliitteitä
  • Käyttöönotto vaatii `run_as`-palvelutilimäärityksen (ei henkilökohtaisia tunnuksia tuotannossa)
  • Aikataulut ja triggerit ovat aktiivisina

CI/CD-integraatio

Resurssipaketit on suunniteltu toimimaan CI/CD-putkien kanssa. Tyypillinen käyttöönotto Azure DevOps pipelineja käyttäen voisi näyttää tältä:

```yaml
# Specify the trigger event to start the build pipeline.
trigger:
  - main

parameters:
  - name: bundle
    type: string
    default: 'bundles/bundle_A'
    values:
      - 'bundles/bundle_A'
      - 'bundles/bundle_B'

stages:
  - stage: Dev
    displayName: 'Deploy to Dev Environment'
    variables:
      - group: 'db-devops-dev'
    jobs:
      - template: ../templates/validate-deploy-job.yml
        parameters:
          environment: 'dev'
          databricks_host: $(DATABRICKS_HOST)
          databricks_client_id: $(DATABRICKS_CLIENT_ID)
          databricks_client_secret: $(DATABRICKS_CLIENT_SECRET)
          bundle: ${{ parameters.bundle }}

  - stage: Test
    displayName: 'Deploy to Test Environment'
    dependsOn: Dev
    variables:
      - group: 'db-devops-test'
    jobs:
      - template: ../templates/validate-deploy-job.yml
        parameters:
          environment: 'test'
          databricks_host: $(DATABRICKS_HOST)
          databricks_client_id: $(DATABRICKS_CLIENT_ID)
          databricks_client_secret: $(DATABRICKS_CLIENT_SECRET)
          bundle: ${{ parameters.bundle }}

  - stage: Prod
    displayName: 'Deploy to Prod Environment'
    dependsOn: Test
    variables:
      - group: 'db-devops-prod'
    jobs:
      - template: ../templates/validate-deploy-job.yml
        parameters:
          environment: 'prod'
          databricks_host: $(DATABRICKS_HOST)
          databricks_client_id: $(DATABRICKS_CLIENT_ID)
          databricks_client_secret: $(DATABRICKS_CLIENT_SECRET)
          bundle: ${{ parameters.bundle }}
```

Tuotantokäyttöönotoissa suositaan palvelutilipohjaista autentikointia henkilökohtaisten käyttöoikeustunnisteiden sijaan.

Kenelle tämä sopii?

  • Data engineerit: Automatisoi pipelinejen ja jobien käyttöönotto — ei enää manuaalista klikkailua.
  • Arkkitehdit ja DevOps - asiantuntijat: Hallitsevat ympäristöjen yhtenäisyyttä ja vähentävät ympäristöjen erilleen ajautumisriskiä.
  • Organisaatiot, jotka haluavat skaalata: Siirtävät ratkaisuja luotettavasti alemmista ympäristöistä tuotantoon toistettavalla prosessilla.

Lue lisää ja ota yhteyttä

Haluatko tietää, miten Databricksin resurssipaketit voivat nopeuttaa ja turvata teidän kehitystyötä? Lue lisää palvelustamme ja varaa keskustelu:

👉 Azure Databricks -palvelu

Lisää ajankohtaisia julkaisuja:

Mikä on Power BI?
Power BI on Microsoftin raportointi- ja analytiikkapalvelu. Sillä kootaan data eri lähteistä sen sisäiseen malliin, määritellään mittarit ja jaetaan raportit organisaatiolle selaimessa ja mobiilissa. Nykyään Power BI on osa Microsoft Fabricia, jossa se saa uusia ominaisuuksia, kuten Direct Laken, Copilotin ja data-agentit. Power BI toimii edelleen myös ilman Fabricia, esimerkiksi Azure Databricksin raportointikerroksena.
Tutustu tarinaan
Mitä on tietomallintaminen?
Tietomalli on organisaation muodollinen kuvaus siitä, mitä sen tärkeimmät käsitteet tarkoittavat kun ne ilmentyvät datana eli kuka on asiakas, milloin myynti syntyy ja missä tapauksissa henkilö lasketaan mukaan organisaation henkilöstömäärään. Sopimus syntyy liiketoiminnan päätöksistä, ei lähdejärjestelmien tauluista. Kirjoitus näyttää esimerkein talous-, myynti-, henkilöstö- ja tuoteanalytiikasta, miten malli rakennetaan, miten se etenee data-alustan kehittämisprojektissa ja mitä tekoälyagentti siitä nykyään tekee.
Julkaistu 11.10.2026. Kirjoitus korvaa kaksi aiempaa kirjoitustamme: Esittelyssä kolme yleistä tietomallinnusmenetelmää ja Dimensiot ja hierarkiat tietomallissa.
Tutustu tarinaan
Mikä on moderni data-alusta?
Moderni data-alusta kokoaa organisaation datan yhteen paikkaan, käsittelee sen siellä ja jakaa sen raporteille, analytiikalle, koneoppimiselle ja data-agenteille. Tässä kirjoituksessa käydään läpi, mikä tekee data-alustasta modernin, miten data saadaan alustalle ja mistä Microsoft Azuren palveluista alusta rakentuu.
Päivitetty 10.10.2026. Kirjoitus kokoaa yhteen ja päivittää kolme aiempaa Data Platform -kirjoitustamme.
Tutustu tarinaan
Mikä on semanttinen kerros?
Organisaatiot investoivat data-alustoihin, rakentavat lakehouse-arkkitehtuureja ja lataavat dataa kymmenistä lähteistä. Silti kun joku kysyy "paljonko liikevaihto oli viime kvartaalilla asiakasryhmittäin ja tuotteittain?", kolme ihmistä antaa kolme eri vastausta. Ongelma ei ole datassa vaan siinä, ettei kukaan ole määritellyt, mitä data tarkoittaa. Semanttinen kerros ratkaisee tämän.
Tutustu tarinaan
Mitä on Unit Economics -analyysi?
Tiedät liikevaihtosi, katteesi ja tuloksesi — mutta tiedätkö, tuottaako yksittäinen asiakkuus enemmän arvoa kuin sen hankkiminen ja palveleminen maksaa? Unit economics vastaa juuri tähän kysymykseen. Tämä artikkeli avaa, mitä unit economics tarkoittaa, mistä komponenteista se rakentuu ja miten sitä sovelletaan käytännössä — esimerkkinä sopimusperusteinen B2C-liiketoiminta, jossa asiakas voi pitää yhtä aikaa useita voimassaolevia sopimuksia.
Tutustu tarinaan

Lisää ajankohtaisia julkaisuja:

Mikä on Power BI?
Power BI on Microsoftin raportointi- ja analytiikkapalvelu. Sillä kootaan data eri lähteistä sen sisäiseen malliin, määritellään mittarit ja jaetaan raportit organisaatiolle selaimessa ja mobiilissa. Nykyään Power BI on osa Microsoft Fabricia, jossa se saa uusia ominaisuuksia, kuten Direct Laken, Copilotin ja data-agentit. Power BI toimii edelleen myös ilman Fabricia, esimerkiksi Azure Databricksin raportointikerroksena.
Tutustu tarinaan
Mitä on tietomallintaminen?
Tietomalli on organisaation muodollinen kuvaus siitä, mitä sen tärkeimmät käsitteet tarkoittavat kun ne ilmentyvät datana eli kuka on asiakas, milloin myynti syntyy ja missä tapauksissa henkilö lasketaan mukaan organisaation henkilöstömäärään. Sopimus syntyy liiketoiminnan päätöksistä, ei lähdejärjestelmien tauluista. Kirjoitus näyttää esimerkein talous-, myynti-, henkilöstö- ja tuoteanalytiikasta, miten malli rakennetaan, miten se etenee data-alustan kehittämisprojektissa ja mitä tekoälyagentti siitä nykyään tekee.
Julkaistu 11.10.2026. Kirjoitus korvaa kaksi aiempaa kirjoitustamme: Esittelyssä kolme yleistä tietomallinnusmenetelmää ja Dimensiot ja hierarkiat tietomallissa.
Tutustu tarinaan
Mikä on moderni data-alusta?
Moderni data-alusta kokoaa organisaation datan yhteen paikkaan, käsittelee sen siellä ja jakaa sen raporteille, analytiikalle, koneoppimiselle ja data-agenteille. Tässä kirjoituksessa käydään läpi, mikä tekee data-alustasta modernin, miten data saadaan alustalle ja mistä Microsoft Azuren palveluista alusta rakentuu.
Päivitetty 10.10.2026. Kirjoitus kokoaa yhteen ja päivittää kolme aiempaa Data Platform -kirjoitustamme.
Tutustu tarinaan
Mikä on semanttinen kerros?
Organisaatiot investoivat data-alustoihin, rakentavat lakehouse-arkkitehtuureja ja lataavat dataa kymmenistä lähteistä. Silti kun joku kysyy "paljonko liikevaihto oli viime kvartaalilla asiakasryhmittäin ja tuotteittain?", kolme ihmistä antaa kolme eri vastausta. Ongelma ei ole datassa vaan siinä, ettei kukaan ole määritellyt, mitä data tarkoittaa. Semanttinen kerros ratkaisee tämän.
Tutustu tarinaan
Mitä on Unit Economics -analyysi?
Tiedät liikevaihtosi, katteesi ja tuloksesi — mutta tiedätkö, tuottaako yksittäinen asiakkuus enemmän arvoa kuin sen hankkiminen ja palveleminen maksaa? Unit economics vastaa juuri tähän kysymykseen. Tämä artikkeli avaa, mitä unit economics tarkoittaa, mistä komponenteista se rakentuu ja miten sitä sovelletaan käytännössä — esimerkkinä sopimusperusteinen B2C-liiketoiminta, jossa asiakas voi pitää yhtä aikaa useita voimassaolevia sopimuksia.
Tutustu tarinaan