Kinek szól
Olyan csapatoknak, ahol az alkalmazások futnak — de az alattuk lévő
a kialakítás inkonzisztens, nehezen átlátható vagy törékeny változtatás
alatt. Különösen ott, ahol a környezetek eltérőek, a deployment-ek
kockázatosnak érződnek, vagy a hibakeresés hosszabb ideig tart, mint
kellene, mert az első óra azzal megy el, hogy egyáltalán kitaláljuk,
hol kezdjük nézni.
Mit építünk
Egy használható alkalmazás-platformot — nem csak egy telepítési
kialakítást. Úgy tervezve, hogy a rendszerek érthetőek és karbantarthatók
legyenek, ne pedig egyszeri, évek alatt összeragasztott kialakítások
gyűjteménye.
-
Konzisztens környezetek a rendszerek között
A fejlesztői, teszt- és éles környezet ugyanúgy viselkedik — így a tesztelés jól előre jelzi, mi fog történni élesben.
-
Tiszta routing és szolgáltatás-kitettség
Mi érhető el, ki által, melyik útvonalon — explicit módon definiálva, nem pedig egy incidens közben véletlenül felfedezve.
-
Beépített monitorozás és logolás
Logok, metrikák és trace-ek az első naptól bedrótozva — nem utólag, sietve, miután valami elromlott, és senkinek sincsenek adatai.
-
Kiszámítható deployment és működés
A deployment-ek minden alkalommal ugyanazt az útvonalat követik — visszafordítható, nyomon követhető és unalmas. Ahogy lenniük kell.
Mit tartalmaz
-
Környezet-tervezés
A fejlesztői, teszt- és éles környezet konzisztens kialakítása, tiszta szabályokkal arra, mi merre halad, és hogyan terjednek a változások.
-
Telepítési folyamat
Hogyan épülnek, települnek és frissülnek az alkalmazások biztonságosan — beleértve azt is, hogyan néz ki egy rollback, még mielőtt szükség lenne rá.
-
Reverse proxy és routing
Hogyan érhetők el a szolgáltatások belülről és kívülről. Explicit szabályok, nem egy halom felhalmozott redirect, amikre senki nem emlékszik, miért is vannak.
-
Megfigyelhetőség
Logolás, metrikák és alap tracing — hogy amikor valami elromlik, látható legyen, mi történik, nem pedig találgatni kelljen.
-
Konfiguráció és titkok
Environment változók, titkok és configok rendesen kezelve — kódtól elkülönítve, rotálva amikor kell, láthatóvá téve azoknak, akiknek szüksége van rájuk.
-
Infrastruktúra-integráció
Összehangolva a hálózattal, DNS-szel, identity-vel és hozzáférés-kezeléssel. A platform beilleszkedik az infrába, nem ellene dolgozik.
-
Dokumentáció és átadás
A platform működésének és üzemeltetésének tiszta magyarázata — hogy a csapat üzemeltetni tudja anélkül, hogy ott kellene lennünk.
Tipikus problémák, amiket javítunk
Minden kialakítás más, de ezek szinte mindig előkerülnek.
A legtöbbje csak terhelés alatt vagy hiba közben válik láthatóvá.
-
Minden alkalmazás másképp van telepítve
Három alkalmazás, három teljesen más deployment rituálé. Egy új alkalmazás beállítása egy új folyamat megtanulását jelenti.
-
Környezetek lassan szétcsúsznak
A fejlesztői környezet működik, a tesztkörnyezet nagyrészt működik, az éles rendszer pedig valami furcsát csinál, amit senki sem tud reprodukálni.
-
Tisztázatlan vagy rosszul konfigurált reverse proxy / routing
Senki nem tudja pontosan, miért érik el a kérések a megfelelő backendet. Egyszerűen csak elérik — amíg nem.
-
Nincs konzisztens logolás vagy monitorozás
Minden alkalmazás más helyre logol, más formátumban. Amikor valami elromlik, szöveges fájlokban grepel az ember.
-
Kockázatos vagy kézi deployment-ek
Valaki SSH-zik, fájlokat másol, szolgáltatásokat indít újra, és reménykedik. A deployment-ek csak akkor történnek, amikor valakinek van ideje és bátorsága.
-
Lassú, találgatáson alapuló hibakeresés
Amikor valami elromlik, az első óra azzal megy el, hogy kitaláljuk, hol kezdjük nézni.
Mi lesz meg a végére
A munka végére ez lesz meg:
-
Konzisztens, kiszámítható környezetek
Ami a fejlesztői környezetben működik, működik a tesztkörnyezetben és az éles rendszerben is. Kevesebb meglepetés, kevesebb rejtély.
-
Biztonságosabb és megismételhető deployment-ek
A deployment rutinná válik, nem eseménnyé. A rollback ismert eljárás, nem pánik-reakció.
-
Tiszta rálátás a rendszer viselkedésére
Meg tudja válaszolni a "mi történik most?" kérdést anélkül, hogy találgatnia kéne, vagy felhívnia azt az egy embert, aki tudja.
-
Gyorsabb hibakeresés és helyreállítás
Amikor valami elromlik, a riasztástól a gyökérokig vezető út egy rövid séta, nem pedig régészeti ásatás.
-
Csökkentett függés konkrét emberektől
Olyan platform, amit a csapat üzemeltetni tud — nem csak örökölni.
Eszközök, amikkel dolgozunk
Az eszközválasztás a méret és komplexitás függvénye — a cél
egy stabil platform, nem egy konkrét stack. Gyakori kialakítások:
Docker
Kubernetes
NGINX
Traefik
Prometheus
Loki
Grafana
Azure App Service
AKS
AWS ECS / EKS
Továbbá menedzselt logolás és monitorozás · CI/CD pipeline-ok · secret manager-ek
Tipikus időtáv
Jellemzően 2–6 hét, attól függően, hány
alkalmazás van a hatókörben, mennyire konzisztens már a jelenlegi
kialakítás, és hogy meglévő környezeteket konszolidálunk vagy újakat
építünk az alapoktól.