Převzetí a modernizace aplikace

Starší aplikace, nový život.

Převezmeme aplikaci po jiném týmu, zjistíme, v jakém je stavu, a postupně ji zmodernizujeme. Bez velkého přepisování naráz, bez výpadku a s jasným plánem, co se opraví jako první.

Pro koho to je

Když aplikace funguje,
ale nikdo se jí nechce dotknout.

Starší aplikace často dělá důležitou práci, jen je křehká. Nikdo přesně neví, jak funguje, a každá změna je risk. Neradíme ji vyhodit a začít znovu: nejdřív zjistíme, co je v pořádku, a opravujeme to, co nejvíc bolí.

Původní vývojář odešel.

Freelancer přestal odpovídat, agentura skončila nebo vývojář změnil práci. Zůstal kód, o kterém nikdo neví, jak se nasazuje, kde jsou přístupy a co všechno na něm závisí. Převezmeme přístupy, zdokumentujeme provoz a aplikace přestane záviset na jednom člověku.

Aplikace běží na zastaralé technologii.

Stará verze jazyka bez bezpečnostních oprav, knihovny, které nikdo nepodporuje, nebo server, který se bojíte restartovat. Postupně zvedneme verze, nahradíme nepodporované části a převedeme provoz na moderní základ, aniž by se aplikace zastavila.

Každá změna trvá týdny a něco rozbije.

Nejsou testy, kód je propletený a oprava na jednom místě shodí jiné. Přidáme testy kolem nejdůležitějších částí a zpřehledíme strukturu. Další změny pak jdou rychleji a bezpečněji, protože víte, co se stalo.

Co dostanete

Šest výstupů, které si odnesete

01Audit kódu a infrastrukturyPrověříme kód, databázi, hosting, zálohy a bezpečnost. Výsledkem je srozumitelný report s riziky seřazenými podle závažnosti a odhadem, co stojí jejich oprava.
02DokumentacePopis architektury, nasazení, přístupů a závislostí. Napíšeme, co dosud existovalo jen v hlavě původního vývojáře, aby aplikaci mohl převzít kdokoli.
03Testy kritických částíAutomatické testy pro nejdůležitější funkce: přihlášení, platby, objednávky. Díky nim víme, že změna nic nerozbila.
04Postupná migraceAplikaci převádíme po částech na novější technologii. Stará a nová část běží vedle sebe, takže se nic nevypíná a uživatelé nic nepoznají.
05Aktualizace závislostíNové verze jazyka, frameworku a knihoven, odstranění známých zranitelností. Měníme je postupně a po každém kroku ověřujeme provoz.
06Převod na moderní hostingPřesun ze starého serveru do kontejnerů s automatickým nasazováním, zálohami a monitoringem. Nasazení přestane být ruční ritual.

Náš přístup

Od převzetí přístupů k moderní aplikaci.

Nejdřív zjišťujeme a stabilizujeme, teprve potom měníme. Po každém kroku víte, v jakém stavu aplikace je.

01

Převzetí přístupů

Získáme přístup ke kódu, serveru, databázi a doménám a zajistíme zálohu. Dříve než cokoli změníme, máme kopii, ke které se lze vrátit.

Zálohy a přístupy

02

Audit

Projdeme kód, provoz a bezpečnost. Zmapujeme, co aplikace dělá, kde jsou slabá místa a co je nejnaléhavější opravit.

Report rizik

03

Stabilizace

Opravíme kritické chyby, doplníme monitoring, zálohy a testy kolem nejdůležitějších částí. Aplikace přestane být překvapením.

Monitoring & testy

04

Postupná modernizace po modulech

Další části převádíme na novou technologii v malých krocích. Každý krok se nasadí samostatně a lze ho vrátit zpět.

Modul po modulu
01

Audit

Zmapování stavu bez zásahu do provozu. Kód, závislosti, bezpečnost a výkon na jednom místě.

Technologie a jejich role

Analýza kóduStruktura, dluh a rizika
Bezpečnostní kontrolaZnámé zranitelnosti knihoven
VýkonPomalé dotazy a úzká místa

Kdy dává smysl

Na začátku každého převzetí.

Co to přinese

Jasný obraz stavu a plán oprav místo odhadů.

02

Stabilizace

Opatření, díky kterým se aplikace přestane rozbíjet a o problému víte dřív než uživatelé.

Technologie a jejich role

TestyOchrana kritických funkcí
Monitoring a logyVčasné upozornění na chyby
ZálohyObnova při havárii

Kdy dává smysl

Po auditu, před větší změnou.

Co to přinese

Klid na provozu a jistota při dalších úpravách.

03

Modernizace kódu

Postupné zlepšování struktury a technologií. Měníme po malých částech, které lze ověřit a vrátit.

Technologie a jejich role

RefaktoringPřehlednější a udržitelný kód
Aktualizace verzíJazyk, framework a knihovny
Migrace po modulechStarý a nový kód vedle sebe

Kdy dává smysl

Kód brzdí rozvoj nebo používá nepodporované části.

Co to přinese

Rychlejší vývoj a méně chyb bez velkého přepisu.

04

Provoz

Nový hosting, automatické nasazování a předvídatelné prostředí. Odstraníme ruční kroky, které způsobují chyby.

Technologie a jejich role

DockerStejné prostředí všude
CI/CDAutomatické testy a nasazení
Coolify / cloudModerní hosting a škálování

Kdy dává smysl

Aplikace běží na starém serveru nebo sdíleném hostingu.

Co to přinese

Spolehlivé nasazení a nižší riziko výpadku.

Dělá aplikace to, co potřebujete?

Modernizace

Pokud ano, jde jen o stav kódu a provozu. Postupná modernizace je nejlevnější a nejméně riziková.

Jak velký je technologický dluh?

Audit

Zastaralý jazyk bez podpory nebo knihovny s dírami v zabezpečení. Čím starší základ, tím víc práce, ale často stále méně než nový vývoj.

Jak důležitá je nepřetržitost provozu?

Bez výpadku

Pokud aplikace nesmí vypadnout, volíme postupnou migraci s oběma verzemi vedle sebe a ne velký přechod naráz.

Co plánujete dál?

Roadmapa

Pokud se funkce zásadně mění, může být lepší nový základ. Pokud jde o drobné rozšíření, vyplatí se zachovat existující kód.

Typické projekty

Tři situace, které řešíme nejčastěji.

Reference

Zkušenost z vlastního provozu.

Všechny projekty v Naší práci →

Časté otázky

Než se ozvete.

Ne, a většinou to ani nedoporučujeme. Nejdřív uděláme audit, který ukáže, co je v pořádku. Přepisujeme jen části, které brzdí rozvoj nebo představují riziko, a to postupně, aby aplikace celou dobu běžela.

Audit menší aplikace začíná kolem 15 000 Kč a trvá několik dní. U rozsáhlých systémů je cena vyšší. Výsledkem je report s riziky, doporučením a odhadem dalších kroků. Audit můžete využít i bez toho, abyste nám zadali další práci.

Převzetí přístupů a záloh obvykle několik dní, audit 1–2 týdny a stabilizace několik týdnů. Plná modernizace závisí na velikosti aplikace, často jde o měsíce po malých krocích.

Zvládneme to i bez něj. Potřebujeme přístup ke kódu a ke službám, na kterých aplikace běží. Pokud něco chybí, hledáme cesty, jak přístupy obnovit.

Nejlépe se orientujeme v JavaScriptu a TypeScriptu, Pythonu a PHP. Před převzetím se podíváme na kód a otevřeně řekneme, jestli je to pro nás vhodné. Pokud ne, doporučíme jiného specialistu.

Ano. Po stabilizaci navážeme dalším vývojem nebo provozní péčí a dostanete dokumentaci, testy a přístupy. Webové aplikace a SaaS →

Další krok

Probereme, v jakém stavu je vaše aplikace.

Probrat aplikaci

KONTAKT

Pojďme se potkat

Máte nápad? Vyberte si termín pro společný rozhovor, nebo nám napište. Společně najdeme cestu k vašemu digitálnímu projektu.

Odesláním berete na vědomí zpracování osobních údajů.

Zásady zpracování osobních údajů