<style>
.reveal {
font-size: 30px;
}
li {
margin-top: 20px;
}
h3 {
align: left;
}
.reveal blockquote {
width: 100%;
}
</style>
# Arkitektoniske visioner for Grønlandsteamet
---
## Scope
* Tanker inspireret af arbejdet med to nye systemer, Toldbehandling og ESANI Pantportal
* Lægges "out there", er ikke en officiel Magenta-strategi eller klappet af med nogen som helst
* Et bud på en realisérbar fremtid for vores arbejde i Grønland
---
## Baggrund
* Magentas strategi er i disse år at få færre produkter – samme produkt sælges til mange kunder og deployes ens → større lønsomhed og flere $$$ i kassen
* Afspejler sig i vores nuværende flagskibsprodukter: OS2mo, OS2borgerPC, OS2datascanner
* Vi har derfor nu færre og større udviklingsteams end tidligere
---
## Magentas udviklingsteams
* OS2mo – ét produkt, OS2mo (inkl. integrationer)
* OS2borgerPC – ét produkt, to varianter (desktop og kiosk)
* OS2datascanner – ét produkt
* Obvius – ét produkt (på vej ud, men hvem ved hvor længe?)
* Grønland? <!-- .element: class="fragment" data-fragment-index="1" -->
---
## Grønlandsteamets produkter - i produktion
* Den grønlandske datafordeler (CPR- og CVR-data)
* E-boks (proxy for den danske e-boks, håndterer _al_ post fra det offentlige Grønland)
* Fritagne (håndterer folk, der er fritaget for e-boks)
* KAS (kapitalafkastskat af pensionsordninger)
* Ressourcerenter (fiskeriafgifter)
* AKA Selvbetjening (selvbetjeningsløsninger ift skat)
* Masseafsendelser (slutopgørelser, rykkerskrivelser m.m.)
---
## Grønlandsteamets produkter -- på vej
* Toldbehandling (afgifter på øl, sodavand mv)
* ESANI Pantportal (helt nyt system for pant på øl, sodavand mv)
* OS2mo (er egentlig MO-teamets projekt) <!-- .element: class="fragment" data-fragment-index="1" -->
* Måske integration med SKAT DK <!-- .element: class="fragment" data-fragment-index="2" -->
* Måske ??? ... <!-- .element: class="fragment" data-fragment-index="3" -->
---
## Grønland -- strategi
* 5½ mennesker sælger, designer, udvikler og leverer 10+ systemer
* Hvordan passer dette med "så få produkter som muligt?"
* (Det gør det måske slet ikke?)
---
## Grønland -- teknologier
<br/>
### Java
* Datafordeleren (ca. 2015, kører på Windows-servere (suk))
* Vi er ved at flytte den til Docker og labs-teknologier
<br/><br/>
### Python og Django
* E-boks, Fritagne, KAS, Ressourcerenter, AKA Selvbetjening, Masseafsendelser, Toldbehanding, ESANI Pantportal
* Otte separate projekter bygget i Django
* (Jeg har sikkert glemt nogen) <!-- .element: class="fragment" data-fragment-index="1" -->
---
## Grønland -- vision for produktstrategi
* Måske vores produkt slet ikke er de enkelte systemer
* Måske vores produkt er Django, eller rettere ...
* Vores produkt er evnen til at _forstå_ et forretningsmæssigt behov hos en kunde, _omsætte_ dette behov til et holdbart design og _implementere_ dette som MVP på mellem 500 og 1000 timer <!-- .element: class="fragment" data-fragment-index="1" -->
* Vores produkt er med andre ord hurtig udvikling af produktionsklare systemer, der er skræddersyet til kundens behov til så lav en pris som muligt <!-- .element: class="fragment" data-fragment-index="2" -->
* Når systemerne er færdige, giver de fast månedlig indtjening for drift <!-- .element: class="fragment" data-fragment-index="3" -->
---
## Grønland -- vision for produktstrategi (fortsat)
* Vores _metode_ er at implementere disse MVP'er i Django
* En kunde kommer til os med et behov → projektfolk lytter til dem, læser dokumentation og får en dyb indsigt i kundens forretningsprocesser (domænet) <!-- .element: class="fragment" data-fragment-index="1" -->
* Arkitekter/designere/udviklere + indsigt i domænet → arkitektur + løsningsbreskrivelse <!-- .element: class="fragment" data-fragment-index="3" -->
* Minimalistisk/no-frills GUI-design laves hurtigt af udviklere (Bootstrap, jQuery, HTMX) <!-- .element: class="fragment" data-fragment-index="4" -->
* Standardiserede kodestandarder, testmiljøer, pipelines og udvikling → effektiv udvikling og deployment <!-- .element: class="fragment" data-fragment-index="5" -->
---
## Grønland -- teknisk standardisering af Django-projekter
* `black` -- standard-indstillinger
* `flake8` -- `max-line-length=88`
* REUSE
* Django test framework
* Gitlab CI
* Udrulning med `salt`, `docker-compose`
---
## Grønland -- standardisering af infrastruktur
* Altid hosting on-prem i Grønland (databeskyttelse)
* Løsninger for Selvstyret → on-prem hos Comby ( ↓ - meget ineffektive))
* Løsninger for private m.m. → on-prem hos Module ( ↑ meget effektive)
* Ensartet provisionering og udrulning med Terraform (openTofu?) og `salt` til alle servere
* Ensartet håndtering af datasikkerhed, backup mv for alle servere
---
## Grønland -- udfordringer
* I dag domineret af store leverandører med _dyre_, monolitiske løsninger
* Selvstyret præget af store kommunikationsproblemer -- alt tager meget lang tid
* Kulturelle barrierer -- både mellem leverandør og kunde og mellem kundens danske og grønlandske medarbejdere (danskere har ikke altid verdens bedste ry)
* Magenta er p.t. meget afhængig af én stor kunde, Skattestyrelsen i Grønland
* Meget lidt tradition for FOSS-løsninger -- Windows-land, mangel på god IT-arbejdskraft
---
## Grønland -- muligheder
* Vores konkurrenter er langsomme og dyre
* Kunderne kan spare mange penge på agil udvikling og open source
* Personlige relationer og langsomt opbygget tillid betyder meget
* Der er mange uløste IT-problemer -- stort potentiale for små, skræddersyede løsninger
* I dag Skattestyrelsen og Digitaliseringsstyrelsen, i morgen ESANI -- i overmorgen RAL, Umiaq Arctic Lines, Pissiffik, ...?
* 20, 30, 40 små Django-applikationer -- 20, 30, 40 udviklere og projektledere i Århus, København og Nuuk?
---
## Konklusion
<br/><br/>
### Givet
* Projektledere og arkitekter, der kender kunden og kan bore sig ned i domænet (DDD cf Eric Evans)
* Udviklere, der er godt inde i Django og Bootstrap
* Standardiseret udviklingsproces
* Standardiseret deployment og drift
---
## Konklusion
<br/><br/>
### Fås
* Ét produkt -- hurtig udvikling af skræddersyede applikationer i Django
* Stordriftsfordele
* Stort potentiale
* God lønsomhed -- en fremtid som en vigtig og 100% open source del af den grønlandske IT-infrastruktur
---
## Spørgsmål???

{"title":"Arkitektoniske visioner for Grønlandsteamet","description":"Om baggrunden for nogle af ideerne bag DevOps","slideOptions":"{\"transition\":\"fade\"}","contributors":"[{\"id\":\"0e0c13a4-dd7c-44fa-986b-7a4affea3678\",\"add\":7984,\"del\":1263}]"}