Spring til indhold

Teknologier

De teknologier, Engineer ApS bygger med: sprog, dataplatforme, cloud og infrastruktur — og hvordan vi vælger, hvad der skal bruges.

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.

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

Hvert værktøj nedenfor er valgt af en, der har kørt det i produktion klokken tre om natten.

Listen er lang, fordi problemerne var forskellige, ikke fordi vi har samlet på værktøjer.

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

Engineer-maskotten: en venlig blå og hvid robot i en kappe med printbaner, der arbejder ved en bærbar og giver tommelfinger op over skulderen

En liste over værktøjer er ingen kvalifikation — at vide, hvilket dit problem kræver, er.

Hver teknologi på denne side står bag arbejde, du selv kan åbne og læse.