Espen Henriksen

Senioringeniør

Statens Kartverk

esphen_

esphen

espen.dev

SKIP Workshop

Del I

Plan

  • Overordna - hva er SKIP? Hva er fordelene? Hva er utfordringene?

  • Intro til YAML, Kubernetes, Linux, Git

  • Teste ut verktøy i terminal og feilsøke et liksom-problem sammen

  • Diskusjon

Hva er SKIP?

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

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

GKE Enterprise

  • 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

Teknologi

YAML

  • "Yet another markup language"
  • Syntaks-lett konfigurasjonsspråk
  • Behagelig, lett å lese
  • Automatiske typer
  • Indenterting = Objekt
  • Strek = Objekt i liste
  • Utfordring: The Norway-problem
  • Utfordring: Indentering

Git

  • Versjonskontroll
  • Snapshots av kode
  • Historikk, diff
  • CLI eller GitHub Desktop app
  • GitHub.com vs. Git
  • Pull Requests, Peer review
  • Brukes mye på SKIP
    • Deling av skript
    • Konfigurasjon

Alt er en fil

  • Alle containere på SKIP kjører en variant av Linux
  • Underliggende OS kjører Container OS (Linux)
  • Package managers
  • Fordel: Alt er aksesserbart med terminal
  • Fordel: Alt kan skriptes
  • Containere bruker Linux' cgroups
  • Open source, stort økosystem
  • Ofte gratis

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å åpen standard

Hva er Kubernetes?

  • Container-orkestrering
  • Produksjonsklart
  • Håndterer skalering, monitorering, lagring, nettverk.. Alt rundt
  • Mikrotjenester
  • Leveres som skytjenester, kan også kjøres lokalt
  • På din PC: https://kind.sigs.k8s.io

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...

Under er det bare Linux

  • Vi har en del linux-servere, containere er ikke ulike
  • Exec inn i pod = SSH
  • Logs fra pod = stdout/err
  • Kubernetes kjører på Linux

Hva kan det gjøre for meg?

Stabilitet

(Auto)skalerbarhet

Jobber (oneshot & cron)

Git & Peer Review

Synlighet

Innebygget sikkerhet

Auto-fornyede sertifikater

OPA - Trust, but verify

Hybrid sky

Infrastructure as Code (IaC)

Utfordringer

Kompleksitet

  • Kubernetes er en "datacenter in a box" og relativt komplekst
  • Tar tid å kurse opp produktteam og ansatte
  • Skip håndterer mye, men er en del nye moduler i porteføljen

Applikasjons-modenhet

  • SKIP bygget på moderne teknologi
  • Flere apper trenger omskriving
  • Ingen planer om å flytte alt over på SKIP
  • I dialog med eksterne leverandører for SKIP som kjøremiljø

Praktisk oppgave

Oppgave

  • Gå til bit.ly/skip-lab
  • kubectl run ..
  • kubectl delete ..
  • kubectl apply -f https://bit.ly/skip-lab-1
    • kubectl get pods
    • kubectl describe pod
  • kubectl apply -f https://bit.ly/skip-lab-2
    • kubectl logs

Diskusjon

  • Hvordan kan vi samarbeide bedre?
  • Hva vil dere lære mer om?
  • Avklaring av byggmesterrollen
  • Hvordan kan vi fylle "Ops" i "DevSecOps"?
  • Konkretisering av kompetansekrav
  • Forventninger og muligheter

Fin

https://slides.com/esphen/skip-workshop-1

SKIP Workshop 1

By Eline H

SKIP Workshop 1

  • 21