Eline Henriksen
Platform Engineer @ SKIP
Statens Kartverk
eliine

eliine
eliine.dev

SKIP
Statens Kartverks Infrastrukturplattform



Hvorfor?
Brukeropplevelse - UI/UX
"Jeg trenger verktøy for å bygge
gode produkter for brukerene"

DASK - Dataplattform
"Jeg vil transformere og dele data"

SKIP - Infrastruktur
"Jeg vil kjøre en applikasjon"

Plattform

Behovet
- Akselerere leveranser
- DevOps
- Autonomi
- Passende for produktteam
- Moderne teknologi
- Rekruttering
- Trivsel
- Innebygget sikkerhet
- Skape et helhetlig økosystem for moderne utvikling
Standardiserte verktøy
Innebygget sikkerhet
Terraform
Crossplane
SLSA
GitHub Advanced Security
Intrusion Detection
Hemmelighets-hvelv
Selvbetjening & Autonomi
Hva er SKIP?
LGTM-stack
Metrikker
Logger
Tracer
Dashboard
Google Cloud
Cloud SQL
Hybrid Cloud
Stabile byggeløyper
GitHub Actions
Etablerte best practices
Kubernetes
Containere

Kostnads-overvåkning
Automatisk skalering
Zero trust
Nettverk
Sertifikater
Sårbarhetsscanning
Service Mesh
Dokumentasjon
Standardiserte verktøy
Innebygget sikkerhet
Terraform
Crossplane
SLSA
GitHub Advanced Security
Intrusion Detection
Hemmelighets-hvelv
Selvbetjening & Autonomi
Eller sagt på en annen måte:
Det som SKIP gjør for dere
LGTM-stack
Metrikker
Logger
Tracer
Dashboard
Google Cloud
Cloud SQL
Hybrid Cloud
Stabile byggeløyper
GitHub Actions
Etablerte best practices
Kubernetes
Containere

Kostnads-overvåkning
Automatisk skalering
Zero trust
Nettverk
Sertifikater
Sårbarhetsscanning
Service Mesh
Dokumentasjon
Det jeg bruker
Skiperator


ArgoCD

GitHub &
GitHub Actions

Grafana

Nacho SKIP
Pharos

Litt om containers
Hva er en container?
- Tenk på en shippingcontainer
- Abstraherer bort underliggende infra
- Lar deg konsentrere deg om å bygge applikasjonen
- Kan inneholde hva som helst (java, python, etc)
- Eksponerer porter (API) og skriver til disk
- Deploye uten å bestille servere
Containers vs. virtualization

Hva er Docker?
- Populæriserte containers
- En prosess per container
- Isolert filsystem
- Bygger og kjører containere basert på Dockerfile
- Brukes ofte til utvikling
- Brukte propritært format, bruker nå OCI format
- OCI kan kjøre hvor som helst
Hva er Kubernetes?
- Container-orkestrering
- Produksjonsklart
- Håndterer skalering, monitorering, lagring, nettverk.. Alt rundt
- Mikrotjenester
- Leveres som skytjenester, kan også kjøre selv
- https://kind.sigs.k8s.io




Hva er GDC-V
(Anthos / GKE Enterprise)
Facts
- Utviklet av Google
- Hybridsky-delen av Google Cloud Platform
- On-prem støtte for VMWare og bare-metal
- Sky-støtte for GCP, AWS og Azure
- Multi-cloud
- Helhetlig leveranse med flere støttesystemer
- GCP cloud console som GUI
- Integrert med AD


Service Mesh

Mye greier!

SKIP abstraherer bort kompleksitet
Brukerfokus: Lager hjelpeverktøy som gjør deres jobb enklere
Skiperator
- Enklere administrasjon av applikasjoner
- Skiperator Applikasjons- manifest
- Hver applikasjon definerer enkle opsjoner
- Abstraksjon over noe mer komplisert
- Forenkler oppsett av Zero Trust-nettverk, Service Mesh, Autoskalering, Autentisering mot GCP...


Hva kan det gjøre for meg?
Stabilitet

(Auto)skalerbarhet
Jobber (oneshot & cron)
Synlighet

Innebygget sikkerhet

Innebygget Sikkerhet

OPA - Trust, but verify



Hybrid sky
Cloud Run - Serverless

Infrastructure as Code (IaC)


Økosystem


GitHub
- De-facto standarden for versjonskontroll
- Kodelagring - Samarbeid om kode
- GitHub Actions - CI/CD
- YAML-filer
- Økosystem med tredjeparts actions
- Pull Requests, Issues
- GitHub Teams
- Advanced Security
- Verdikjede-sikkerhet
- SAST - Kodeanalyse
Argo CD
- Dedikert deployment-system for Kubernetes
- GitOps
- Synker fra git repo til cluster
- Innsyn i hva tilstanden til applikasjonen er
- Brukervennlig
- Preview deployments

Terraform
- "Infrastructure as Code"
- Laget av Hashicorp
- Deklarativt - Skriv hva du vil ha, Terraform finner ut hvordan
- Skriv filer i HCL-format
- Providers og moduler
- Økosystem med Terraform providers
- Kan kjøres via CI/CD
- Støtter alle skymiljøer
Secret Manager
- Sikker lagring av hemmeligheter
- Laget av Google
- Programmatisk uthenting
- Lagre strenger, filer, sertfikater, etc.
- Integrert i Spring Boot og andre verktøy
- @Value("...")
- Tilgangskontroll
- Auditable
Skiperator
- Enklere administrasjon av applikasjoner
- Basert på Custom Resource Definitions (CRD-er)
- Abstraksjon over noe mer komplisert
- Eksempel: CRD for å sette opp applikasjon
- Forenkler oppsett av Zero Trust, Service Mesh, Autoskalering, Autentisering mot GCP...

Instana
- Monitorering, Application Performance Managment (APM), tracing
- Application Perspectives
- Website monitoring
- Varsling til Slack, etc.
- Custom JMX og Prometheus-metrikker

Grafana
- Monitorering, Application Performance Managment (APM), metrikker, tracing
- Correlations
- Custom dashboards
- Alarmer
- Varsling til Slack, etc.
- Custom JMX og Prometheus-metrikker


Kurs
- SKIP har lisenser på kurs
- Videokurs tilgjengelig på nett
- Produsent er Cloud Guru
- Docker, Kubernetes, Google Cloud, og mye mer
- Kun 6 lisenser p.t. så ta kontakt for å få plass i køen
.. I fremtiden
- Public Cloud
- Feature Flags
- Brukerinnsikt
- Hendelsesbasert programmering med Apache Kafka/PubSub
- Serverless

Demo!
Fin
https://slides.com/eliihen/skip-intro

Intro til SKIP
By Eline H
Intro til SKIP
- 181