Vývoj Cloud Native aplikací

V Cloud Native vývoji jsme jako doma. Ať už potřebujete nakopnout svůj startup moderní aplikací, nebo chcete ve velkém škálovat již rozjetý byznys – Cloud Native bude pro váš projekt tím pravým řešením!

Případové studie Cloud Native aplikací

Delphys

ERP systém ke správě domovů pro seniory

Festada

Vývoj aplikace pro evidenci stád

Youthtime

Sdílení obsahu a komunikace 

Engerio

Vývoj inzertního systému Engerio založeného na Cloud Native
Cloud Native

Co znamená
„Cloud Native“?

Cloud Native řešení jsou aplikace nebo systémy navržené pro hostování v cloudu s napojením na managed cloudové služby. Zároveň se většinou jedná o microservices architekturu. Na rozdíl od velkých monolitických systémů je tvořena kolekcí menších, samostatných služeb, které lze spravovat nezávisle na sobě a podle potřeby rozšiřovat. Mezi hlavní výhody Cloud Native patří například nižší počáteční náklady, modulárnost, škálovatelnost. O dalších si můžete dozvědět v našem článku.

Vzhledem k tomu, že obliba Cloud Native aplikací v posledních letech roste, představují tato řešení budoucnost vývoje softwaru. Organizace, které se naučí využívat jejich předností, mohou dosáhnout výrazných úspor při vývoji a údržbě softwarového vybavení, a zároveň získat potřebnou konkurenční výhodu.

Více informací o tom, kolik může stát vývoj a provoz Cloud Native, najdete v článku na našem blogu.

Jsme experti na Cloud Native

Nedávno jsme byli hosty podcastu "Buduj značku" s moderátorem Petrem Schwankem, kde jsme se věnovali tématice Cloud Native. V tomto novém rozhovoru se můžete zaposlouchat do našeho příběhu a zkušeností.

Diskutovali jsme například o našem začátku a cestě Think Easy, vysvětlovali, co jsou Cloud Native aplikace, a rozebírali rozdíly mezi nimi a tradičními aplikacemi. Také jsme se zaměřili na finanční zátěž spojenou s jejich vývojem a následným provozem, a samozřejmě jsme nezapomněli zmínit jejich největší výhody. Neváhejte a ponořte se do našeho rozhovoru plného inspirace a užitečných informací.

Podívejte se na podcast Buduj značku, s moderátorem Petrem Schwankem.

Podívejte se na podcast Zážeh Martina Hurycha, jehož hosty byli zakladatelé Think Easy s. r. o. Matouš MojžíšMatěj Schuh.

Téměř všechny aplikace a systémy, které jsme dosud vyvinuli, jsou Cloud Native. Pro inspiraci si můžete prohlédnout třeba naše projekty Legato a Festada. Obě aplikace využívají AWS managed cloudových služeb. Při vývoji mobilní aplikace a administračního prostředí pro sdílení obsahu YouthTime jsme použili serveless architekturu, aby klient mohl využít všech výhod Cloud Native.

Abychom se ale jen nechválili sami, přečtěte si reference jednoho z našich klientů (Plus Care s.r.o.) jemuž jsme pomohli s vývojem serverless backendu AWS infrastruktury:

"Na Think Easy oceňuji především to, že jsou schopni dynamicky komunikovat. Používáme Slack a Trello a velmi rychle řešíme žádosti nebo problémy. Připomínkování je věcné a hlavně se dobíráme velmi rychle k cíli. Lidé z Think Easy se nebojí doptat, pokud je zadání nedostatečné, což je hrozně dobrá vlastnost, která mi chybí u spousty jiných programátorů."  - Oldřich Kašpar, Plus Care s.r.o. 

Architektury v Cloudu

Serverless

Pojmem serverless architektura se označuje nový programovací model a přístup k provozu softwaru spočívající v nasazení aplikace na cloudové platformě. Vlastníkům aplikací jednak odpadají starosti s aktualizacemi pronajatých virtuálních serverů (například přes AWS), a jednak je možné dosáhnout značné úspory nákladů. Jako klient totiž platíte pouze za to, co skutečně využíváte (pay per use) – míra využití může být definována například frekvencí spuštění určité funkce, počtem zpráv, které si vaše aplikace vymění, nebo množstvím využitých zdrojů. 

Server

Naproti tomu server architektura vyžaduje vždy v nějaké míře zapojení vlastníka aplikace do provozu a údržby. V praxi má server architektura nejčastěji podobu pronájmu virtuálního serveru. Tento model může vyhovovat těm, kteří chtějí mít větší kontrolu nad serverem, na kterém jejich aplikace nebo systém běží. Je zde lepší možnost manuálního škálování, řízení aktualizací, omezení přístupu atd.

Pokud jde o zabezpečení, v obou případech se spoléháte na poskytovatele cloudových služeb, v našem případě AWS. Jelikož je však úroveň bezpečnostních služeb a funkcí AWS velmi dobrá, jedná se spíše o výhodu. Náročnějším klientům jsme schopni zajistit další vrstvy zabezpečení s využitím příslušných služeb AWS zaměřených na bezpečnost.

Kolik stojí vývoj Cloud Native aplikace?

Cloud Native technologie jsou naším denním chlebem. Vaši aplikaci napojíme na špičkové cloudové služby a vyladíme přesně podle vašich představ. Na jakou částku vás vývoj Cloud Native aplikace vyjde se podrobněji věnujeme i v našem článku na blogu. Cena se samozřejmě odvíjí od několika faktorů. Pokud budete chtít Cloud Native pro mobilní aplikace, počítejte s částkou od 450 000 , záleží také na složitosti systému. U webových aplikací se u základního nastavení začíná na částce 220 000 Kč a u unikátního nastavení pak počítejte s částkou více než 800 000 Kč

Jaké aplikace mohou být

Cloud Native?

  • Mobilní aplikace patří mezi nejpoužívanější aplikace vůbec, jelikož většina uživatelů dnes přistupuje na internet právě přes mobilní zařízení. S Cloud Native vývojem může být vaše apka ještě rychlejší, levnější a snazší na údržbu.

  • Webové aplikace se těší velké oblibě hlavně díky tomu, že nevyžadují instalaci a lze je používat jednoduše ve webovém prohlížeči.

  • Informační systémy ocení především větší firmy a organizace, které potřebují pro svou činnost shromažďovat a zpracovávat značné objemy dat. Nejčastěji vyvíjíme systémy ERP (plánování podnikových zdrojů) a CRM (řízení vztahů se zákazníky). Cloud Native přístup je jednou z cest, jak můžete dosáhnout výrazného snížení nákladů – jak na pořízení a údržbu vlastního hardwaru, tak na platy IT zaměstnanců.
  • PWA neboli progresivní webové aplikace patří mezi žhavé trendy v oblasti tvorby webů. Kombinují v sobě to nejlepší z webových a nativních mobilních aplikací – podporují dynamický obsah, umožňují práci offline, mají přístup k hardwaru a nabízejí praktické funkce jako push notifikace atd. Uživatelský dojem se velmi blíží mobilním aplikacím, včetně rychlosti načítání a prohlížení. Na rozdíl od klasických mobilních aplikací však nejsou PWA tak náročné na vývoj – tím spíš, pokud se rozhodnete pro Cloud Native přístup. 

  • Desktopové aplikace vyžadují na rozdíl od webových aplikací instalaci na pevný disk počítače. S tím se pojí určitá omezení, například požadavky na operační systém, hardware, softwarové vybavení apod. Cloud Native desktopová aplikace navíc pro své fungování vyžaduje přístup k internetu. 

Výhody vývoje Cloud Native

  • Nižší náklady: Jak vývoj, tak provoz Cloud Native aplikací vás zpravidla vyjdou levněji než monolitické systémy. Pokud se navíc rozhodnete pro serverless architekturu, odpadnou vám starosti s pronájmem vlastního virtuálního serveru.
  • Rychlejší vývoj: Dostaňte svůj software mezi uživatele rychleji díky DevOps a automatizaci.
    Modularita a škálovatelnost: Architektura založená na mikroslužbách vám umožní pracovat podle potřeby s jednotlivými moduly a rozšiřovat vaše řešení spolu s tím, jak bude váš byznys růst.
  • Vysoká rychlost a nízká odezva: Cloud Native aplikace využívající rychlého internetového připojení (5G) mohou dosahovat velmi nízké odezvy, což vaši uživatelé jistě ocení.
  • Bezplatné služby AWS: Na vyzkoušení si můžete do aplikace zdarma přidat širokou škálu služeb AWS – některé dokonce bez časového omezení. Tyto praktické nástroje vám pomohou s analytikou, strojovým učením, rozpoznáváním dokumentů nebo robotizací. Jelikož jsme partnerem AWS, poradíme vám, jak se v cloudových službách zorientovat a jak naplno využít jejich výhod.
  • Snazší odstraňování potíží: Díky modulární architektuře není potřeba zasahovat do celého kódu, ale stačí provést úpravy v dané službě.
  • Řešení budoucnosti: Cloud Native vývoj se bude prosazovat stále víc a čím dříve si tento přístup osvojíte, tím lépe pro vás.
  • Větší flexibilita: Modulární struktura nabízí možnost provádět změny a vylepšení v reálném čase a optimalizovat výkon podle aktuálního provozu. 

Tyto Cloud Native aplikace jsme vyvinuli

Webová aplikace

Webová aplikace Engerio umožňuje vydavatelům získat obsah článků pomocí scraping technologie a poté je zobrazovat ve speciálním boxu - widgetu - spolu s reklamami.

Plus Care

Webová aplikace

Na vývoji této mobilní aplikace jsme převzali vývoj serverless backendu. Jednoduše si v aplikaci vyhledejte a uložte svého nového praktického lékaře, zubaře nebo gynekologa. Dozvíte se jaké jsou ordinační hodiny, zda lékař přijímá nové pacienty i jakými jazyky se domluvíte. Objednejte se na preventivní prohlídku a zapište si svou návštěvu do kalendáře v aplikaci. 

Progresivní webová aplikace a ERP

ERP systém implementovaný architekturou mikroservis propojených s progresivní webovou aplikací pro pohodlné užití i na mobilních zařízeních.

Cloud Native aplikace

Cloud native aplikace automatizovaného obchodníka využívá globální infrastruktury AWS Cloudu a jeho serverless služeb pro rychlou a spolehlivou komunikaci s krypto burzou pro zjištění a využití všech poklesů čí nárustů kurzu zvoleného páru.

Mobilní aplikace

Mobilní aplikace Youth Time vyvinutá pro stejnojmennou společnost nabízí uživatelům prostor pro diskuzi nad články, sdílení nápadů, myšlenek a postřehů.

Chcete být další?

Napište nám nebo zavolejte.volejte.

Poradíme vám, jakou technologii zvolit, pomůžeme vám ucelit zadání a společně vše nastartujeme.

Časté dotazy k vývoji Cloud Native aplikací

Co znamená Cloud Native?

Cloud Native je přístup k vývoji aplikací, které jsou od základu navržené pro cloudové prostředí. Tyto aplikace se vyznačují vysokou škálovatelní, odolností proti výpadkům a možností rychlého nasazování nových verzí. Cloud Native aplikace naplno využívají potenciálu cloudu – pružně reagují na změny zatížení, takže platíte jen za kapacitu, kterou skutečně využijete. Cloud Native vývoji se podrobně věnujeme v našem článku na blogu.

Kolik stojí provoz v cloudovém prostředí?

Náklady na cloudový provoz závisí do značné míry na zvolené infrastruktuře (serverless, nebo server). U serverless řešení jsou počáteční náklady nižší, ale mohou se časem zvyšovat spolu s rostoucím provozem. U server infrastruktury zůstávají náklady více konstantní a předvídatelné. Díky automatickému škálování platíte jen za skutečně využité zdroje, což je hlavní ekonomická výhoda cloudu. Více informací najdete na našem blogu.

Co je to škálování?

Škálování je jednou z hlavních výhod Cloud Native aplikací, které se díky této vlastnosti automaticky přizpůsobují aktuálnímu zatížení a nárokům na infrastrukturu. V případě náhlého zvýšení provozu systém okamžitě nasadí další instance služeb, rozdělí zátěž pomocí load balancerů a zajistí dostatek výpočetních zdrojů. Díky elasticitě cloudového prostředí aplikace zvládne i několikanásobný nárůst provozu bez výpadků. Po odeznění špičky se zdroje zase automaticky uvolní, takže platíte jen za to, co skutečné využijete. Nemusíte předem investovat do nadbytečné kapacity „pro všechny případy“. Podrobněji se škálování věnujeme na našem blogu.

Pomůže Cloud Native s rychlejším uvedením na trh?

Rozhodně ano. Cloud Native přístup výrazně zrychluje uvedení na trh díky automatizaci vývojového cyklu, okamžité dostupnosti IT infrastruktury a možnosti paralelní práce na mikroslužbách. Podstatnou součástí Cloud Native aplikací je automatizace testování nových kódů a jejich nasazení do produkce pomocí plně automatizovaných CI/CD pipeline. Tento přístup také usnadňuje iterativní vývoj a rychlé zapracování zpětné vazby uživatelů.

Může mít díky cloudu moje aplikace globální dosah?

Určitě ano. Cloud vám umožňuje aplikaci snadno nasadit do různých regionů po celém světě. Služby jako AWS CloudFront zajistí rychlé doručování obsahu uživatelům v libovolné geografické oblasti, Global Accelerator optimalizuje síťovou cestu k vašim službám a databázové služby nabízejí globální replikaci. Díky cloudu můžete mít globálně dostupnou aplikaci s nízkou latencí, aniž byste museli budovat vlastní datová centra napříč kontinenty.

Kdy se Cloud Native nevyplatí?

Cloud Native přístup se nemusí vyplatit především u jednoduchých aplikací s předvídatelným a stabilním zatížením nebo u aplikací s velmi specifickými hardwarovými požadavky. Cloud Native se naopak vždy vyplatí tehdy, pokud očekáváte kolísavé zatížení aplikace, potřebujete rychle škálovat, chcete platit jen za skutečně využité zdroje a požadujete vysokou dostupnost a odolnost proti výpadkům.

Může Cloud Native aplikace běžet offline?

Aplikace koncipované jako plně Cloud Native jsou závislé na cloudových službách a nemohou běžet zcela offline. Lze však navrhnout řešení s částečnou offline funkcionalitou formou progresivních webových aplikací (PWA), lokálního cachování nebo kontejnerů. Pro kritické scénáře můžeme implementovat hybridní architekturu, která zajistí funkčnost i bez připojení k internetu. Po opětovném připojení se data automaticky synchronizují.

Mohu přepracovat staré aplikace tak, aby byly Cloud Native, nebo je musím vyvinout znovu?

Transformovat stávající aplikace do podoby Cloud Native je v zásadě možné, ale ne zrovna jednoduché. Nabízí se několik přístupů: Postupná modernizace, re-platforming nebo kompletní refaktoring. To, pro jakou strategii se nakonec rozhodnete, bude záviset na stupni komplexnosti aplikace, technickém dluhu a obchodních cílech. Ne vždy je nutné vyvíjet aplikace od nuly, ale přechod na Cloud Native architekturu obvykle vyžaduje rozsáhlé úpravy.

Jaké druhy cloudu existují?

Hlavními poskytovateli veřejných cloudů jsou Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform, Alibaba Cloud, Oracle Cloud, IBM Cloud a DigitalOcean. Existují také privátní cloudy (provozované výhradně pro jednu organizaci), hybridní cloudy (kombinace veřejného a privátního cloudu) a řešení typu multi-cloud (využití služeb od více poskytovatelů současně).

Proč používáme AWS?

AWS používáme vzhledem k široké a všestranné nabídce managed cloudových služeb, které šetří čas i peníze. Zahrnují například plně automatické škálování, štědrý program Free Tier s řadou služeb zdarma a vlastní nástroj pro správu infrastruktury. Oproti konkurenci nabízí AWS lepší dostupnost a méně výpadků. Kromě toho máme v týmu odborníky s certifikací pro AWS, kteří zajistí vysokou kvalitu, jednoduché nasazení, 99,9% dostupnost a maximální bezpečnost vašeho řešení. Více se dočtete v našem článku na blogu.

Jak je AWS zabezpečené?

AWS nabízí komplexní zabezpečení na mnoha úrovních. Chrání infrastrukturu (fyzická centra, síť), data (šifrování), identity (správa přístupů, vícefaktorové ověření) a poskytuje nástroje pro monitorování a správu bezpečnostních událostí. Podrobněji se otázce zabezpečení věnujeme na našem blogu.

Kam se moje data v cloudu ukládají?

Vaše data jsou uložena v datových centrech Amazon Web Services (AWS), rozmístěných strategicky po celém světě. Z evropských regionů můžeme zmínit třeba Frankfurt, Paříž, Stockholm, Milán a Dublin – tyto regiony jsou dále rozděleny do více na sobě nezávislých ”zón dostupnosti”. Konkrétní umístění vašich dat závisí na regionu, který při nastavení služeb zvolíte. To vám umožňuje zajistit soulad s požadavky na lokalizaci dat a příslušnými regulacemi.

Co se stane při výpadku cloudového serveru?

Cloud Native aplikace jsou navrženy tak, aby nabízely vysokou dostupnost. Při výpadku jednoho serveru se provoz automaticky přesměruje na funkční servery v jiné zóně. Vaše aplikace může navíc využívat funkce automatického škálování a load balancingu, které zajistí plynulý provoz i při selhání některých komponent. Vaši uživatelé tak často ani nezaznamenají, že k nějakému výpadku došlo.

Co když cloud napadnou hackeři a má data ukradnou?

Kybernetická bezpečnost představuje jednu z hlavních priorit všech velkých poskytovatelů cloudových řešení, do které pravidelně investují nemalé finanční prostředky. Metody jako šifrování a vícevrstvé zabezpečení (firewally, detekce hrozeb, …) zaručují, že vaše data budou v naprostém bezpečí jak v klidovém stavu, tak při přesunech. Podrobněji o této problematice píšeme na našem blogu.

Co znamená koncept „high availability“?

Výrazem „high availability“ (vysoká dostupnost) se označuje služba, která je navržena pro nepřetržitý provoz s minimálními výpadky. Služba s vysokou dostupností je koncipovaná tak, aby k výpadkům docházelo co nejméně. Cloudová řešení toho dosahují pomocí redundantních systémů – když jeden server selže, jiný okamžitě převezme jeho funkci.

Co když AWS vypne své servery nebo přestane poskytovat služby?

Toto riziko je zanedbatelné. AWS patří mezi globální technologické giganty s obrovským významem, reputací, finančním i technickým zázemím. O dostupnost služeb je tedy dobře postaráno. Pokud se chcete dozvědět více o tom, jak jsou služby AWS zabezpečeny proti výpadkům, přečtěte si náš článek na blogu.

Píšeme o Cloud Native aplikacích

 

Před zahájením vývoje a zejména v jeho průběhu se většina klientů v myšlenkách upíná k okamžiku, kdy si od…
Celý článek
Cloud Native
Zjistěte, jak může cloud computing pomoci vaší firmě s digitalizací, vyšší bezpečností i škálovatelností. Výhody, principy i…
Celý článek
Cloud Native při vývoji
Objevte hlavní výhody cloudového řešení pro firmy. Jak vám cloud pomůže snížit náklady, zvýšit efektivitu a zabezpečit…
Celý článek
Termínem "Cloud Native" se označuje přístup k vývoji a správě moderního softwaru v cloudovém prostředí. Firmy a…
Celý článek