Bezpečný postup po krocích

Modernizace starších PHP aplikací

Pomohu starší aplikaci dostat do stavu, ve kterém ji lze bezpečně provozovat a rozvíjet. Aktualizace PHP, frameworku a knihoven rozdělím na zvládnutelné kroky s kontrolou dopadu na každodenní provoz.

Kdy služba pomůže

Řešení postavené na skutečném provozu

Typicky jde o systém na nepodporované verzi PHP, obtížné nasazování, křehké závislosti nebo kód, do kterého se tým bojí zasahovat.

Co je součástí spolupráce

  • Audit verze PHP, frameworku, závislostí a způsobu nasazení.
  • Prioritizovaný plán modernizace podle rizika a obchodního přínosu.
  • Doplňování testů kolem kritických procesů před rizikovými změnami.
  • Postupné aktualizace s možností průběžně vydávat běžné opravy.

Postup

Jak spolupráce probíhá

  1. 1

    Technická inventura

    Zjistím verze, závislosti, způsob provozu a místa s největším dopadem na firmu.

  2. 2

    Ochranná síť

    Pro nejdůležitější scénáře připravím testy, kontrolní postupy a bezpečné zálohy.

  3. 3

    Postupné upgrady

    Změny rozdělím tak, aby byly srozumitelné, vratné a daly se samostatně ověřit.

  4. 4

    Další údržba

    Po modernizaci nastavíme průběžné aktualizace, aby znovu nevznikl velký technologický dluh.

Výchozí situace

Stará verze PHP bývá jen viditelná část problému

Za odloženými aktualizacemi často stojí směs nepodporovaných knihoven, ručního nasazování, chybějících testů a částí, jejichž obchodní pravidla už nikdo přesně nezná. Samotná změna verze proto nestačí. Nejdřív sestavím inventuru závislostí a provozních vazeb.

Zvláštní pozornost dostanou přihlášení, objednávky, importy, plánované úlohy a další toky, jejichž chyba by se projevila až po nasazení.

Volba postupu

Modernizace po vrstvách omezuje počet neznámých v jednom kroku

Odděluji změny běhového prostředí, frameworku, databázové vrstvy a aplikačního chování. Každá etapa má vlastní způsob kontroly a lze u ní určit, zda přináší nutný bezpečnostní posun, jednodušší údržbu nebo prostor pro novou funkci.

U převzatých objednávkových a portálových aplikací se tento přístup osvědčuje víc než jednorázová náhrada. Systém zůstává použitelný a technický dluh se zmenšuje v místech, která mají skutečný význam.

Provozní rizika

Změna je hotová až tehdy, když ji lze bezpečně nasadit

Před rizikovou etapou doplním kontrolu kritických scénářů, ověřím migrace dat a připravím návratový postup. Po nasazení sleduji nejen technické chyby, ale také plánované úlohy, exporty a návaznosti, které se nemusí projevit při prvním otevření stránky.

  • Kompatibilita vlastního kódu i externích knihoven.
  • Databázové migrace navržené s ohledem na objem a provoz.
  • Pravidelné aktualizace po dokončení hlavní modernizace.

Časté otázky

Co firmy nejčastěji potřebují vědět

Musí být aplikace během modernizace vypnutá?

Většinu přípravy a změn lze provést bez odstávky. Krátké servisní okno může být potřeba při nasazení změn databáze nebo infrastruktury, vždy se ale plánuje předem.

Lze současně přidávat nové funkce?

Ano, pokud jsou etapy dobře oddělené. Kritické upgrady je vhodné nemíchat s velkou funkční změnou v jednom kroku.

Modernizujete i Nette a Symfony aplikace?

Ano. Pracuji se staršími i současnými verzemi PHP, Symfony a Nette a postupuji podle reálných omezení konkrétního projektu.