DriftCa. 7 min.Felix Zagrean

Fra lokal kode til en løsning i drift.

Deployment er ikke det sidste klik. Det er en gentagelig vej fra kode til en kørende løsning, som også skal kunne fejle og opdateres.

Start med en kendt leverance

En deployment bør bygge på en bestemt version af koden og en dokumenteret konfiguration. Hvis løsningen kun kan sættes i drift gennem en række manuelle trin, som én person kan huske, er den svær at genskabe og risikabel at opdatere.

Hold kode og konfiguration adskilt

Domæner, adgangsnøgler, databaseforbindelser og miljøspecifikke valg hører ikke hjemme direkte i kildekoden. Miljøvariabler eller særskilte konfigurationsfiler gør det muligt at bruge samme kode i flere miljøer uden at dele hemmeligheder.

En konfigurationsfil er ikke automatisk sikker. Adgang, backup og logning skal stadig afgrænses, og hemmeligheder bør aldrig ende i et offentligt repository.

Reverse proxy og TLS

En reverse proxy som nginx kan modtage trafikken, håndtere HTTPS og sende forespørgsler videre til applikationen. Det samler certifikater, domæner og standardheaders ét sted og gør applikationen mindre afhængig af serveropsætningen.

Backup skal kunne gendannes

En backup, der aldrig er prøvet, er kun en antagelse. Det skal være klart, hvilke data der er vigtige, hvor ofte de ændrer sig, hvor kopien ligger, og hvordan en gendannelse udføres. Statiske sider kræver typisk mindre end en app med database og brugerdata.

Logs skal besvare konkrete spørgsmål

Ved en fejl skal man kunne se, hvornår den opstod, hvilken del af systemet der fejlede, og om problemet rammer én forespørgsel eller hele løsningen. Logs må samtidig ikke samle følsomme data uden grund.

Opdateringer skal være kedelige

En god opdateringsvej er forudsigelig: byg, kontroller, udrul, verificer og rul tilbage, hvis den nye version ikke virker. Jo mere processen kan gentages, desto mindre afhænger resultatet af held.

Dokumentér ejerskabet

Domæne, hosting, DNS, mail, certifikater, repository og eksterne tjenester kan ligge forskellige steder. En kort oversigt over ejer, adgang og fornyelse forebygger mange driftsproblemer senere.

Drift

Skal en mindre løsning sikkert i luften?

Jeg kan hjælpe med både applikationen og den praktiske vej til drift.