ForkTex Cloud, Deployment Declarativ

România

Propria noastră platformă de deployment: un manifest descrie un sistem, iar platforma îl provizionează, îl rutează, îl securizează și mută traficul fără downtime.

Client
ForkTex
Industrie
Infrastructură Cloud
Perioadă
iun. 2024 — În desfășurare

Rezultate

8

Stive de producție lansate prin ea

Lansări
Blue-green, peste Docker
Infrastructură
Hetzner, europeană

Tehnologii

Situația

Orice proiect are nevoie de un loc unde să ruleze, cu TLS, o bază de date, backup-uri și o metodă de a face deploy fără downtime. A închiria asta de la o platformă gestionată e răspunsul evident, și a fost și al nostru o vreme.

Ce am construit

Manifestul

Un forktex.json descrie serviciile, infrastructura de care au nevoie și strategia de deployment. Fiecare serviciu poartă un tip, compute, persistență sau daemon, și tipul e ceea ce raționează platforma. Stratul de proxy e generat din lista de servicii, nu scris de mână.

Provizionare

Servere Hetzner, DNS Cloudflare și certificate Let's Encrypt, provizionate prin Ansible. Secretele sunt referențiate, nu incluse direct, și rezolvate la momentul deployment-ului, astfel încât manifestul e sigur de comis în repository.

Deployment

Blue-green peste Docker. Slotul nou trece verificările de sănătate înainte ca proxy-ul să se mute, apoi slotul vechi se golește pe o perioadă de grație și se oprește.

Ce a contat

Proprietatea care contează nu e zero downtime, ci faptul că rollback-ul e doar o schimbare de proxy. Când revenirea înseamnă o reconstrucție, echipele fac deploy mai rar, în loturi mai mari, ceea ce face fiecare deploy mai riscant.

Rezultat

Opt stive de producție fac deploy prin ea, inclusiv acest site. Ne asumăm backup-urile, patch-urile și provizionarea pe care o platformă gestionată le-ar absorbi; costul ăsta se amortizează doar pentru că aceeași platformă rulează fiecare proiect.