Digitalfabrikken

10/11/2022

Christoffer Vig

Digitalfabrikken er et konsept Cowork bruker for å beskrive hva som kreves for å realisere digitale tjenester.

Læringslabb er Coworks konsept for å utrede problemstillinger og kartlegge hva som bør gjøres. Når resultatet av Læringslabb er at det trengs digitale tjenester, realiseres disse gjennom Digitalfabrikk. 

Digitalfabrikk skal sørge for at digitale tjenester kan utvikles og  leveres kjapt, enkelt, trygt og sikkert.

Et hovedtrekk ved digitalfabrikken er at den automatiserer enkle oppgaver som utføres ofte, og typisk starter digitalfabrikken med å automatisere, bygg, testing og utrulling av kode.

Grunnleggende elementer i Digitalfabrikk 

  • eierskap til kode og infrastruktur
  • versjonskontroll på alt! (https://opengitops.dev)
  • oppgavestyring
  • bygg, testing av kode - Continuous Integration (CI)
  • observerbarhet  - logging, monitorering, sporing
  • utrulling av kode - Continuous Delivery (CD)
  • sikkerhet i alle ledd

Dette kan realiseres på en rekke ulike måter. 

Minimum Digitalfabrikk:

  • Github for å lagre kode, versjonskontroll, og oppgavestyring
  • Github Actions for å bygge, teste og rulle ut kode
  • Github Issues for oppgavestyring
  • En skyløsning (Google Cloud/Azure/Amazon etc.)  for å kjøre koden.

Avhengig av bl.a. krav til oppetid kan man bruke enten serverless functions, eller benytte virtuelle maskiner, hostede containerløsninger. 

For å  sjekke at digitalfabrikken fungerer som den skal kan det være nyttig å innføre “observability” - altså logging/monitoring/tracing. Skyløsningene tilbyr ulike løsninger for dette. Prometheus/Grafana eller Elasticsearch/Kibana er typiske eksempler.

I Cowork har vi utviklet en bot som integreres mot Slack, den bygger vi på en variant av denne minimumsfabrikken. Vi bruker Github og Github Actions, og tjenesten kjører som en serverless function i Azure.

Slackboten hjelper oss å finne møteleder og referent når vi har Coworkshop, den kan finne ut hvem vi skal snakkke med når vi har kollegasamtaler, og den hjelper oss å bli kjent med nyansatte ved å sette opp møter.

Relasjonen mellom Digitalfabrikk og Læringslabb er ikke entydig, hvordan Digitalfabrikken bygges opp er også gjenstand for undersøkelse og endring basert på resultater fra Læringslabb. Når vi ønsker å teste ut ulike hypoteser, kan det være at vi trenger å tilpasse hvordan vi kjapt gjør det mulig å teste ut ulike løsningsforslag i et produksjonsmiljø. Dermed kan krav fra læringslab innvirker både på hvordan vi jobber med git/kildekontroll, bygg av nye tjenester og utrulling og tilgjengeliggjøring.

Dette har vært en kort introduksjon til Digitalfabrikk, hvilke problemer den løser og hvordan den kan realiseres. 

For en litt mer strikt definisjon sjekk Minimum Viable CD

Behov for hjelp med din digitale produktreise?
Vi tar gjerne en kaffeprat!