Skip to main content

Jobbe på Saga

Her finner du informasjon som er relevant hvis du skal jobbe på Saga. Seksjonen dekker både analyse av tilgjengelig data på Saga, utvikling av ingest- eller analysepipelines, samt deling av data med andre i etaten.

Utdeling av prosjekter

Hvis du skal i gang med utvikling på Saga er det vanlig at ditt team får tildelt brukere og GCP-prosjekter som du eller dere kan jobbe i. Ta kontakt med oss på Slack eller via vår e-post hvis du ikke bruker Slack, så kan vi bistå deg.

Teamområder

Når teamet ditt blir opprettet, er det flere ressurser som blir laget klar for deg:

  • Et analyse-prosjekt med formatet saga-<teamnavn>-analytics

    • I dette prosjektet står dere friere til å opprette BigQuery-datasett uten å måtte forholde seg til eksempelvis datasoner. Er tiltenkt for at teamet har et felles prosjekt hvor man kan gjøre utforskning, testing og initielle analyser.
    • Dette prosjektet er ikke ment for deling av data utenfor teamet
    • Når et datasett er modent for deling må det flyttes fra analyse-prosjektet til et domeneprosjekt
  • Et delt GCP-prosjekt med formatet saga-<teamnavn>-shared

    • Dette prosjektet brukes typisk til å lagre artifacts for deployment, og andre ressurser som ikke kan knyttes til ett miljø eller et domene

Prosjektene er satt opp slik at teamet kan bruke disse som et midlertidig samarbeidsområde. Skal analyser eller data deles med andre utenfor teamet kan saga-raw og saga-data brukes, eventuelt domeneprosjekter.

Domeneprosjekter

Teamet kan eie en eller flere domeneprosjekter.

  • Domeneprosjekter med ulike miljø med formatet saga-<domene>-<miljø>[-<suffix>]
    • For domenenet/problemområdet du skal jobbe med blir det opprettet tre GCP-prosjekter, ett for hvert miljø (STM, ATM, PROD). Eksempelvis saga-nvdb-prod-vlmh

Er dere usikker på om teamet skal bruke et domeneprosjekt, eller har behov for å få et opprettet kan dere ta kontakt via #saga-support på Slack.

Personlig prosjekt

Alle utviklere på Saga får tilgang til et personlig "Sandbox"-prosjekt. Prosjektet er personlig og kan brukes til testing og utforsking. Det er et prosjekt som utvikleren selv bestemmer over, som eksempelvis kan brukes til å teste ut nye GCP-tjenester før de tas i bruk i domene-prosjekter. Disse prosjektene har formen saga-<kortversjon av utviklerens navn>-sandbox-<suffix>. Eksempel: saga-pedlan-sandbox-a1b2. Analyser og data som skal deles med andre må flyttes fra sandbox-prosjekt til saga-raw og saga-data brukes, eventuelt domeneprosjekter.

Budsjetter i prosjektene

For hvert av prosjektene over blir det opprettet et budsjett og en "vakthund" som sletter prosjektene dersom de bruker mer enn dobbelt av budsjettet. Hovedformålet med dette er å unngå en enorm kostnadsoverskridelse dersom uvedkommende får tak i private nøkler og bruker disse til å lage ressurser.

  • Standarden er at delte "shared"-prosjekter har budsjett på 300 USD per måned
  • Standarden for domeneprosjekter er budsjett på 1000 USD per måned
  • Personlig "Sandbox"-prosjekt har et budsjett på 500 USD per måned. Det er likevel ønskelig at hver utvikler passer på å rydde og stoppe ressurser som ikke er i bruk.

For mer detaljert informasjon se Kostnader og budsjett.

Varslinger

Hvert team får opprettet en egen Slack-kanal på formen #[team]-alerts i Saga-slacken. Denne kan brukes av teamet selv for å sende alerts fra GCP, og vil også motta varslinger om budsjett-overskridelser.

Tilgangsgrupper

  • Gruppen saga-<teamnavn> gir alle teamets medlemmer leserettigheter til GCP-ressurser i teamets prosjekter.
  • Gruppen saga-developers finnes fra før, og teamets utviklere blir lagt til i denne. Det gir tilgang til å se de fleste Saga-prosjekter i alle miljøer uten å kunne redigere dem.
  • Gruppen saga-<teamnavn>-developers gir utviklere mulighet til å lage og slette alle ressurser i STM. Alle utviklere på et team blir lagt til i denne gruppen.
  • Gruppen saga-<teamnavn>-devops gir utvalgte DevOps-utviklere mulighet til å lage og slette ressurser i ATM og PROD.
  • En eller flere personer blir utnevnt til administrator av de to sistnevnte gruppene, og kan administrere dem på Google Groups.

Sensitive data

Som standard kan alle utviklere lese alle data på Saga. Dersom man har data man ikke ønsker skal være lesbare for andre, kan man feste tags på BigQuery datasets.