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