SrovnejHosting.cz Poradit s výběrem

Hosting pro Node.js a Python: proč běžný sdílený tarif nestačí

· 5 min čtení

Krátká odpověď

Aplikace v Node.js nebo Pythonu potřebuje prostředí, kde běží jako trvalý proces s vlastním portem a kam si nainstalujete npm nebo pip balíčky – to běžný sdílený hosting (LAMP) neumožňuje. Minimální řešení je VPS s root přístupem, kde si nastavíte Node.js či Python runtime sami. Pro proměnlivý provoz je vhodnější cloud s automatickým škálováním, pro provoz bez starosti o server pak managed hosting s podporou daného frameworku.

Aplikace napsaná v Node.js nebo Pythonu se chová jinak než klasický web v PHP. Nespouští se jen v okamžiku, kdy přijde požadavek od prohlížeče – běží jako vlastní proces, poslouchá na portu, drží si v paměti stav a vyžaduje, aby si na serveru někdo (vy nebo poskytovatel) nainstaloval přesně danou verzi runtime a balíčky přes npm nebo pip. Tahle jedna vlastnost rozhoduje o tom, jaký typ hostingu vůbec připadá v úvahu.

Proč běžný sdílený hosting nestačí

Naprostá většina sdílených tarifů v katalogu je postavená na LAMP stacku – Apache nebo LiteSpeed s PHP a MySQL. Tarify jako Endora Webhosting Fun za 35,09 Kč měsíčně se 3 GB prostoru, Forpsi Easy Hosting Linux za zaváděcích 39,33 Kč měsíčně (po obnovení 78,65 Kč) nebo VEDOS LowCost za 39,93 Kč měsíčně (po obnovení 66,55 Kč) jsou skvělé na WordPress, prezentační web nebo drobný e-shop v PHP. Na Node.js nebo Python aplikaci ale narazíte na tři konkrétní limity:

  • Žádný trvalý proces. Sdílený hosting spouští skripty na vyžádání a po zpracování je ukončí. Node.js server, který má běžet nepřetržitě a držet spojení (třeba websocket), tímhle způsobem provozovat nejde.
  • Žádný root přístup. Instalace Node.js runtime přes nvm, systémových závislostí pro Python knihovny nebo správa procesů přes PM2 vyžaduje přístup, který sdílený server principiálně neuděluje – server sdílí desítky až stovky zákazníků na jednom stroji.
  • Chybějící porty a reverzní proxy. Aplikace typicky poslouchá na portu 3000 nebo 8000 a před ni se staví nginx jako reverzní proxy. To je konfigurace na úrovni celého serveru, ne jednoho hostingového účtu.

Existují výjimky – někteří poskytovatelé nabízejí Python přes CGI nebo Node.js přes Passenger jako doplněk ke sdílenému hostingu. V katalogu jde ale o okrajovou funkci, ne o standard, a pro cokoliv produkčního na to nespoléhejte. Kompletní přehled sdílených tarifů i s tím, co skutečně podporují, najdete ve srovnění sdíleného hostingu.

Co aplikace v Node.js nebo Pythonu skutečně potřebuje

Základní požadavek je server, na kterém máte alespoň root nebo sudo přístup a kde si nastavíte prostředí sami – nebo poskytovatel, který runtime spravuje za vás jako součást služby. Podle toho, kolik správy chcete dělat sami, máte tři reálné cesty.

VPS – nejlevnější cesta k plné kontrole

Virtuální server vám dá root přístup, pevně přidělený výkon a možnost nainstalovat přesně tu verzi Node.js nebo Pythonu, kterou aplikace vyžaduje. Nevýhoda je, že se o server staráte sami – aktualizace systému, firewall, monitoring, restart procesu po pádu. Pro menší API, interní nástroj nebo aplikaci s předvídatelným provozem je to obvykle nejlevnější varianta, jak dostat produkční prostředí. Aktuální nabídku podle výkonu a lokality procesoru najdete v srovnění VPS serverů.

Cloud – když provoz kolísá

Cloudové řešení přidává možnost škálovat výkon za provozu – navýšit RAM nebo přidat instanci v okamžiku špičky a zase ji odebrat, když provoz klesne. Hodí se pro e-shopy s výraznou sezónností, marketingové kampaně nebo aplikace, kde neumíte dopředu odhadnout zátěž. Cena se typicky odvíjí od skutečně spotřebovaných zdrojů, ne od paušálu, což je potřeba hlídat v rozpočtu. Přehled cloudových platforem je v srovnění cloud hostingu.

Managed hosting – bez starosti o server

Managed varianta znamená, že se o operační systém, aktualizace a bezpečnost stará poskytovatel a vy nahráváte jen kód. Existují managed služby specializované přímo na Node.js nebo Python frameworky (Django, Flask, FastAPI, Express), kde dostanete i nasazení přes git push. Je to dražší než holý VPS, ale ušetří čas, pokud nemáte vlastního administrátora. Podrobnosti k managed tarifům jsou v srovnění managed hostingu.

Dedikovaný server – pro vysokou a stálou zátěž

Pokud aplikace zpracovává trvale vysoký provoz nebo potřebuje výkon, který sdílený VPS neposkytne (velké množství paralelních spojení, databázové operace, fronty úloh), vyplatí se přejít na dedikovaný server s vyhrazeným hardwarem. Přehled je v srovnění dedikovaných serverů. Pro aplikace využívající strojové učení nebo těžké výpočty s GPU akcelerací pak existuje samostatná kategorie serverů s grafickými kartami, viz srovnění GPU serverů.

Srovnění typů hostingu pro Node.js a Python

Typ hostinguRoot přístupVhodné proKdo se stará o server
Sdílený hostingNePHP weby, WordPress, statické stránkyPoskytovatel, ale bez podpory Node/Python runtime
VPSAnoAPI, menší aplikace, testovací i produkční nasazeníVy
CloudAno (u instancí)Provoz s výkyvy, sezónní zátěžVy, s automatickým škálováním
Managed hostingObvykle omezenýProdukční nasazení bez vlastního adminaPoskytovatel
Dedikovaný serverAnoVysoký a stálý provoz, náročné databázeVy nebo managed služba k serveru

Konkrétní ceny VPS, cloudu i managed hostingu se mezi poskytovateli liší podle výkonu procesoru, RAM a diskového prostoru řádově v jednotkách stovek korun měsíčně u vstupních variant. Přesná čísla se navíc mění v řádu měsíců, takže místo paměťového odhadu doporučujeme podívat se na aktuální ceníky přímo ve srovnění – tady žádné univerzální číslo neplatí dlouho.

Co hlídat u konkrétní nabídky

  • Podporovaná verze runtime. Node.js i Python vydávají nové major verze pravidelně, staré přestávají dostávat bezpečnostní záplaty. Ověřte, že poskytovatel umožňuje instalaci aktuální verze, ne že vás uzamkne na tu, kterou nabízel při spuštění služby.
  • Persistentní procesy a websocket spojení. Pokud aplikace drží dlouhá spojení (chat, real-time notifikace), potřebujete jistotu, že je infrastruktura nezabíjí kvůli limitům na sdílených zdrojích.
  • Databáze mimo hlavní proces. PostgreSQL nebo MongoDB běžně potřebují vlastní instanci nebo spravovanou databázovou službu – ne všechny VPS tarify ji obsahují automaticky, doplácí se zvlášť.
  • Zálohování a CI/CD. U produkční aplikace se vyplatí nasazení přes git nebo kontejner, ne ruční nahrávání souborů přes FTP jako u klasického sdíleného webu.

Shrnutí

Pro Node.js nebo Python aplikaci hledejte prostředí s root přístupem – tedy VPS, cloud, managed hosting se specializací na daný framework nebo dedikovaný server. Sdílený hosting z katalogu, byť levný a spolehlivý pro PHP projekty, tuhle podmínku prakticky nikdy nesplňuje. Volba mezi VPS, cloudem a managed variantou pak závisí na tom, kolik správy chcete dělat sami a jak moc kolísá provoz vaší aplikace. Než se rozhodnete, projděte si obecná kritéria výběru v průvodci výběrem hostingu a způsob, jakým tarify hodnotíme, popisujeme na stránce jak hodnotíme.

Časté dotazy

Dá se Node.js nebo Python spustit na klasickém sdíleném hostingu?

U některých poskytovatelů narazíte na omezenou podporu přes CGI nebo Passenger, ale jde o výjimku, ne o standard. Většina sdílených tarifů v katalogu je stavěná na PHP a MySQL, sdílí se na nich Apache proces mezi desítkami zákazníků a vy nemáte možnost spustit vlastní trvalý proces na portu, který aplikace v Node.js nebo Pythonu potřebuje.

Stačí pro produkční Node.js aplikaci nejlevnější VPS?

Záleží na provozu. Pro menší API nebo interní nástroj ano, pokud má VPS alespoň 1–2 GB RAM a SSD/NVMe disk. Pro e-shop nebo aplikaci s desítkami tisíc požadavků denně je potřeba počítat s vyšším výkonem nebo rovnou s cloudem, který výkon přidá za provozu.

Je lepší cloud, nebo managed hosting pro Python aplikaci?

Cloud dává kontrolu nad konfigurací a škáluje podle zátěže, ale vyžaduje, že si server spravujete sami nebo přes DevOps nástroje. Managed hosting se specializací na Python vám administraci serveru odebere z rukou, obvykle za vyšší měsíční cenu a s menší flexibilitou v nastavení runtime verzí.

Potřebuji pro Node.js aplikaci root přístup?

Prakticky ano. Root přístup potřebujete k instalaci a aktualizaci Node.js runtime, ke správě procesů přes nástroje jako PM2 a k otevření portů pro reverzní proxy. Sdílený hosting root přístup neposkytuje nikdy, VPS a cloud servery ho nabízejí standardně.

Další články