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
- For domenenet/problemområdet du skal jobbe med blir det opprettet tre GCP-prosjekter, ett for hvert miljø (STM, ATM, PROD). Eksempelvis
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.