Odebírat podcast.

Víte, kdy použít pro běh aplikace hosting, virtuální server a kdy cloud?

Jedna z klíčových otázek, která se objevuje již během vývoje webové aplikace, je, zda pro běh aplikace použít hosting, virtuální server nebo cloud. Volba správného řešení vám totiž ušetří čas i starosti při testování, nasazování i provozu aplikace a projeví se na nákladech na její provoz. Vše podstatné se dozvíte v podcastu. Příjemné čtení nebo poslech.

Buďte vždy o krok před konkurencí, získejte přístup k celé sérii podcastů. Přihlaste se k odběru našeho newsletteru.

Nové technologické okénko je zde

Tentokrát si v našem technologickém okénku povídal CEO Pixape Radek Semančík a programátor Vojtěch Seidler o hostingu, virtuálních serverech a cloudu.

Podle čeho vybrat řešení pro běh webové aplikace?

Existuje celá řada faktorů, které ovlivňují, jaké řešení pro nasazení aplikace využít. Všechny tyto faktory musíte vzít v potaz, abyste se dokázali rozhodnout. Jaké řešení se tedy hodí pro vaši aplikaci?

Hosting využijete spíše pro malé monolitické aplikace

Prvním a nejjednodušším řešením je hosting. Ten je zpravidla nejvhodnější pro menší monolitické aplikace, které jsou naprogramované v jednom programovací jazyce (např. PHP) a v jednom frameworku. Tyto aplikace by pak ke své funkci neměly potřebovat žádné speciální knihovny apod., jež byste museli doinstalovávat. Zároveň byste na nich během provozu už neměli chtít dělat větší změny, než je třeba nahrání nějakého souboru.

Ve své podstatě jde o standardní firemní webovou prezentaci typu WordPress nebo CMS, která má standardní databázi (MySQL, MarieDB apod.). Na to vám tedy stačí hosting od nějakého z českých providerů. U něj si zvolíte, jak velké místo na jeho serveru potřebujete, překopírujete tam data, fotky i databázi nutnou pro běh a je to. Není třeba nic dalšího instalovat ani se starat o server. O ten se postará provider.

Virtuální server využijete hlavně pro aplikace se speciální funkcionalitou

Dalším řešením je virtuální server. Toto řešení je vhodné pro webové aplikace, které již mají nějakou speciální funkcionalitu, kvůli které musíte doinstalovat např. knihovny třetích stran nebo frameworky.

V těchto případech si tedy vyberete providera virtuálního serveru a zvolíte si jeho potřebné parametry. Mezi ně patří například typ procesoru, velikost paměti a místa na disku a kolik potřebujete využít síťové komunikace. Na tento server si nainstalujete třeba Debian, poté Docker a v tom si již můžete nainstalovat potřebné knihovny, frameworky apod. a sestavit tam aplikaci tak, aby fungovala. O Dockeru ostatně bude i příští podcast.

Výhodou tohoto řešení je to, že na virtuálním serveru můžete snadno cokoliv upravovat a doinstalovávat. Je tedy vhodný zejména tehdy, když čekáte ještě další úpravy aplikace. Nevýhodou tohoto řešení je ale fakt, že se o virtuální server musíte starat a aktualizovat ho. S virtuálním serverem je tedy více práce než s hostingem. Nevýhodou pak může být také zbytečná náročnost na výkon, a tedy i finance. Proč to?

Provoz na virtuálním serveru se vyplatí totiž zejména tehdy, když je návštěvnost stabilní a potřebujete k provozu aplikace max. 8 procesorů a 32 GB RAM. Při nestabilní a vysoké návštěvnosti se však může stát, že platíte za zbytečně výkonný virtuální server i v situacích, kdy je třeba naprosto nevytížený. Takovými okamžiky je například noc, kdy aplikaci nemusí vůbec nikdo používat

Cloud přináší mnoho výhod

Třetí řešení je cloud. Ten lze též použít pro aplikace, ke kterým je třeba doinstalovat knihovny nebo frameworky třetích stran. Místo virtuálního serveru si však zvolíte nějakého cloudového providera (Google, Amazon, Microsoft apod.). U něj následně nastavíte, co potřebujete doinstalovat, abyste mohli aplikaci spustit. Ta pak běží v „kontejneru“. Tomuto řešení se říká „serverless“ řešení.

Jeho výhodou je fakt, že stejně jako u hostingu se již o nic nemusíte starat. Nemusíte jej tedy aktualizovat. Proto je toto řešení na rozdíl od virtuálního serveru velmi stabilní.

Další výhodou také je, že cloud snáze přizpůsobíte geolokaci vašich uživatelů. Pokud je například část uživatelů z Ameriky, jednoduše je nasměrujete na cloud v Americe, zatímco uživatelé z Evropy budou nadále využívat server umístěný v datacentru v Evropě. Díky tomu bude server mnohem rychleji reagovat na požadavky uživatelů.

Kubernetes cluster v cloudu je ideální pro aplikace s nestabilní návštěvností

Posledním řešením je využít cloud a jeho funkci. To je vhodné pro velké a často navštěvované aplikace, které ale mají nestabilní provoz a špičky. Špičky jsou přitom určité úseky dne, kdy aplikaci používá mnohem více lidí a musí zpracovat mnohem více dotazů než jindy. Právě toto umí Kubernetes vyřešit. Dělá totiž to, že dynamicky přiděluje výkon aplikaci dle toho, jak je zrovna zatěžována. Jak to probíhá?

Během standardního provozu využívá aplikace nějaký standardní výkon. Když však nastane špička a aplikace musí splnit více požadavků než na kolik stačí základní virtuální instance, Kubernetes pomůže. Tehdy začne zázemí aplikace duplikovat a vytvoří dalších několik instancí, které si nestandardní počet požadavků rozdělí. 

Jakmile pak špička odezní, vše zas redukuje na základ. Na rozdíl od virtuálního serveru, který má pořád stejný výkon, tedy ušetříte. Když pak třeba plánujete kampaň, která ještě více zvýší návštěvnost, pojistíte se tímto řešením i proti tomu, aby vám aplikace pod náporem návštěvníků nespadla. Více se o Kubernetes dozvíte také v příštím podcastu.

Nevhodná geolokace uživatelů zpomalí přenos od severu k uživateli

Při volbě hostingu, virtuálního serveru a cloudu a jejich providerů je stěžejní geolokace vašich uživatelů. Pokud máte uživatele např. z Ameriky, ale server v Evropě, je jasné, že přenos mezi nimi bude pomalejší. Proto je výhodnější si nakoupit danou službu v místě, kde jsou vaši uživatelé.

Cloud má však v tomto výhodu. Můžete na něm totiž využít technologii GeoIP2 Load Balancer. V čem spočívá? V cloudu si můžete v různých lokacích vytvořit několik virtuálních serverů. Load Balancer zjistí, z jaké lokality daný uživatel přichází a nasměruje ho na nejbližší server. Díky tomu je přenos mezi serverem a uživatelem mnohem rychlejší.

Hosting, virtuální server nebo cloud?

Kdy tedy vybrat jedno z řešení? Hosting je vhodný hlavně pro menší monolitické aplikace bez speciálních funkcí, virtuální server se hodí pro aplikace se stabilním provozem, ke kterým pravděpodobně budete potřebovat během provozu něco doinstalovat, a cloud je vhodný zejména pro velké aplikace s nestabilním provozem, které navštěvují uživatelé z celého světa.

To ale není jediné využití. Některé z těchto řešení potřebujete již při vývoji a testovaní aplikací. Jak mezi nimi vybrat? Virtuální server přijde vhod při vývoji a testování všech aplikací se speciálními funkcemi. Když ale potřebujete použít již nějakou funkci, kterou nabízí přímo cloud, je na test lepší použít od samého začátku právě cloud.

Chcete vědět více o hosting, virtuálních serverech nebo cloudu, popř. potřebujete rovnou vývojářský tým s letitými zkušenostmi? Ozvěte se nám.

Buďte vždy o krok před konkurencí

Odebírejte naše podcasty a objevte, proč nejčastěji aplikace neuspějí a jak tomu zabránit. Naservírujeme vám nejnovější přístupy i technologie, díky kterým budou vaše aplikace oblíbenější, ziskovější a budete s nimi mít méně starostí. Sledujte nás a uspějte na poli aplikací.


Buďte vždy o krok před konkurencí

Odebírejte naše podcasty a objevte, proč nejčastěji aplikace neuspějí a jak tomu zabránit. Naservírujeme vám nejnovější přístupy i technologie, díky kterým budou vaše aplikace oblíbenější, ziskovější a budete s nimi mít méně starostí. Sledujte nás a uspějte na poli aplikací.


Mohlo by se Vám líbit.

7 výhod, proč při vývoji aplikace využít microservices!

S pomocí microservices zjednodušíte vývoj i správu aplikací a vytvoříte bezpečnější, stabilnější a na provoz levnější aplikace. Objevte jejich 7 výhod.

Chci vědět víc

8 tipů, jak zrychlit webovou aplikaci a nepřicházet o uživatele!

Pomalé webové nebo mobilní aplikace nejsou mezi uživateli oblíbené. Objevte 8 tipů, jak zrychlit vaši aplikaci. Nenechte si utéct další podcast.

Chci vědět víc

Zjistěte, proč se vám využití API rozhodně vyplatí!

Objevte sílu API. Jeho užití vám dovolí tvořit jednodušší aplikace, které si vaši klienti oblíbí a vy je budete lehčeji spravovat a bezpečněji aktualizovat.

Chci vědět víc

Jaký tým potřebujete, abyste vytvářeli úspěšné aplikace?

Víte, jaké pozice musíte mít v týmu obsazené, abyste se při vývoji vyhnuli zbytečné dokumentaci, problémům a vyvinuli kvalitnější a užitečnější aplikace?

Chci vědět víc

Naučte se vytvářet digitální produkty, které budou uživatelé chtít.

Víte, jak zajistit, aby vaše mobilní nebo webová aplikace dělala přesně to, co uživatel potřebuje, a byla tak obchodně úspěšnější? Více v článku.

Chci vědět víc