# Teknologier

Et værktøj er et middel. Det, en kunde køber, er den dømmekraft, der vælger det
rigtige, og den disciplin, der driver det ordentligt — men du spurgte, hvad vi
arbejder med, så her er det, og hver eneste linje er underbygget af arbejde i
[porteføljen](/da/portfolio/).

## Sprog og kørselsmiljøer

**Python** til dataarbejde, automatisering og tjenester. **Go**, hvor én statisk
binærfil og lavt ressourceforbrug betyder noget. **TypeScript** og moderne
JavaScript i weblaget. **SQL** som et fuldgyldigt sprog og ikke noget, en ORM
genererer — det meste af det performancearbejde, vi hentes ind til, ligger dér.
**Bash** som lim, skrevet, så det kan læses.

## Data

**PostgreSQL** er udgangspunktet, og vi kommer langt med den, før vi griber
efter noget andet — partitionering, replikering, udvidelser og
forespørgselsplanlæggeren. Vi driver også **MS SQL Server**, **BigQuery**,
**SQLite** og **Redis**, og GIS-stakken ovenpå: **PostGIS**, **QGIS**,
**GDAL** og **ArcGIS**. Pipelines bygges, så de kan køres om og er idempotente, for
spørgsmålet efter en hændelse er altid "kan vi køre det igen".

## Cloud og infrastruktur

**Google Cloud** og **AWS**, med **Azure**, hvor kunden allerede er.
**Linux** under det hele — Debian og Ubuntu. **Docker** og **Kubernetes** til de
arbejdsbyrder, der fortjener dem, og almindelige systemd-units til dem, der ikke
gør. **Ansible** og **Terraform** beskriver maskinerne, så et miljø er et
dokument og ikke en arkæologisk udgravning. **Caddy** og **nginx** forrest.

## Drift i produktion

**Prometheus** og **Grafana** til metrikker, struktureret logning til resten, og
alarmer, der udløses på symptomer, en bruger ville bemærke, og ikke på hver
rykning i en graf. CI-jobs, der bygger, tester, scanner og udruller uden et
menneske indblandet. Backups tages, og gendannelser testes.

## Weblaget

Statisk først, hvor det passer, for en side, der er en fil, er en side, der ikke
kan vælte: **Hugo** bygger dette site. **Django** og **PHP**, hvor der er en
applikation at servere. Semantisk HTML, håndskrevet CSS og tilgængelighed
behandlet som et krav og ikke som et revisionsfund.

## Sådan vælger vi

Kedelig teknologi, der er valgt med omtanke, slår ny teknologi, der er valgt af
vane. Vi vælger efter problemet, efter hvad jeres eget team kan drive, når vi er
gået, og efter hvordan tingen fejler, og ikke hvordan den tager sig ud i en demo.
Når det rigtige svar er den stak, I allerede har, siger vi det — og når det ikke
er, siger vi også det, med begrundelsen skrevet ned.

Dette site er sit eget skoleeksempel: [kolofonen](/da/credits/) nævner hvert
stykke teknologi bag det, helt ned til skrifttypen og backupværktøjet.

Vil du hellere have en leverandør med holdninger end en med en ønskeliste, så
[fortæl os, hvad I bygger](/da/contact/) *(og vi argumenterer for dem)*.

<https://platform.engineer.company/da/tech-stack/>
