<!-- Omgevingen en het landschap -->
<!-- canonical: https://plainwater.ai/nl/wiki/concepten/omgevingen -->
# Omgevingen en het landschap

Een klant heeft geen losse databases. Hij heeft een landschap: bronnen, ETL, een datawarehouse en
rapporten die samenhangen. En dat landschap bestaat meestal meerdere keren, in ontwikkeling, test,
acceptatie en productie. Plainwater AI kent beide begrippen.

## Omgevingen

Elke bron hoort bij een omgeving: **productie**, **acceptatie**, **test** of **ontwikkeling**. Een klant
kan meerdere omgevingen hebben, elk met hun eigen bronnen.

Per omgeving kun je eigen regels zetten. Een paar voorbeelden:

- In **ontwikkeling** mag een agent vrije SQL draaien en scripts uitvoeren.
- In **productie** mag een agent alleen kijken, en gaat elke wijziging via een voorstel dat een mens
  goedkeurt.
- In **test** staat de datatoegang op *open*, omdat de testdatabase geen echte personen bevat.

:::tip Productie is een eigenschap van een bron
"Productie" is geen eigenschap van een klant maar van een bron. Een klant kan tegelijk een
productiedatabase en een ontwikkeldatabase hebben, met heel verschillende regels.
:::

## Het landschap

Het landschap is een kaart van één omgeving: welke systemen er zijn, welke databases, welke pipelines,
welke datasets en rapporten, en hoe ze met elkaar verbonden zijn.

| Soort knooppunt | Voorbeeld |
| --- | --- |
| Systeem | het ERP-pakket, het personeelssysteem |
| Database en schema | het datawarehouse, het stagingschema |
| Pipeline en trigger | de nachtelijke lading, het uurlijkse schema |
| Dataset en rapport | het semantisch model, het rapport voor de directie |

Verbindingen zeggen wat er gebeurt: *laadt*, *leest*, *start*, *ververst*, *hangt af van*.

### Samen tekenen

Een agent en een mens tekenen de kaart samen. De agent kan meten (deze pipeline schrijft naar die
tabel) of afleiden (deze view leest vermoedelijk uit dat schema). Een mens kan een verbinding
bevestigen. Op de kaart is altijd te zien welke verbinding gemeten, afgeleid of bevestigd is.

Alleen een mens publiceert de kaart. Publiceren maakt een nieuwe versie; oude versies blijven bewaard.

### Uitgangspunt, geen waarheid

De gepubliceerde kaart gaat mee naar elke opdracht in die omgeving. De agent hoeft dan niet elke keer
opnieuw uit te zoeken hoe alles samenhangt. Maar de kaart gaat mee als uitgangspunt, niet als waarheid:
een agent die iets anders meet, mag dat melden en een wijziging voorstellen.

Ook op de kaart staan de namen van de klant als pseudoniem, net als overal waar iets naar een model
gaat.

## Voorbeeld

Een klant heeft een warehouse in drie omgevingen.

1. In **ontwikkeling** tekent een agent met een data-engineer het landschap: zes bronsystemen, een
   stagingschema, twaalf pipelines, vier rapporten.
2. De engineer bevestigt de verbindingen die hij kent en publiceert de kaart.
3. Een week later vraagt een collega waarom een rapport leeg is. De agent krijgt de kaart mee, ziet
   welke pipeline dat rapport voedt, en begint daar te zoeken.

## Zie ook

- [Werkmodi](/concepten/werkmodi)
- [Spelregels](/beheer/spelregels)
- [Monitors](/concepten/monitors)
