<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 &ndash; samme produkt sælges til mange kunder og deployes ens &rarr; 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 &ndash; ét produkt, OS2mo (inkl. integrationer) * OS2borgerPC &ndash; ét produkt, to varianter (desktop og kiosk) * OS2datascanner &ndash; ét produkt * Obvius &ndash; é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 &rarr; 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 &rarr; 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 &rarr; 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 &rarr; on-prem hos Comby ( &darr; - meget ineffektive)) * Løsninger for private m.m. &rarr; on-prem hos Module ( &uarr; 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??? ![](https://hackmd.io/_uploads/S1LRQ4tfT.png)
{"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}]"}
    218 views
   Owned this note