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!

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

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 a 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. 

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

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

Engerio

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. 

ERP systém Delpsys

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.

Trading Bot

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.

Youth Time

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.

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

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

Jak dlouho webová aplikace poběží bez cizího zásahu?

Pokud nevyžaduje údržbu, pak klidně roky. Obecně doporučujeme provádět údržbu alespoň jednou do roka. Máme například zkušenost s klientem, který nás oslovil po třech letech od dokončení vývoje s žádostí o drobnou úpravu. Nakonec jsme museli aktualizovat celou aplikaci a nahrát novější moduly,čímž se změna posunula o celý týden.

Můžu s aplikací nakládat, jak budu chtít? A třeba ji i prodat někomu dalšímu?

Ano, můžete. Naše standardní rámcová smlouva vám poskytne neomezenou licenci, včetně možnosti postoupení majetkových práv. S webovou aplikací tak můžete dělat, co uznáte za vhodné, a klidně ji i prodat dál.

Jakou podporu poskytujete po dokončení vývoje?

Pokud vývoj pokračuje i po dokončení etapy, opravujeme vady během dalších prací. Kromě toho je možné se domluvit na servisní smlouvě, která bude garantovat naši dobu reakce na hlášení vad.

Mohu během vývoje nahlížet do aktuální verze aplikace?

Ano. V průběhu vývoje máme standardně nasazeno několik prostředí. Ke každé funkci, která se ještě nedostala do hlavního kódu, máme interně jedno prostředí aplikace. Poté máme interně ještě nasazeno prostředí hlavní verze kódu a také stage prostředí, což je verze před uvedením do produkce. Stage verze je již dostupná pro testování na straně klienta.

Je možné, aby aplikace podporovala více jazyků?

Ano, multijazyčnost je důležitá primárně u globálních projektů. Na dostupnost ve více jazykových variantách je potřeba myslet i v případě, že ze začátku sice neplánujete cílit na cizojazyčné publikum, ale do budoucna ano.

Mohu své požadavky během vývoje měnit nebo doplňovat?

Ano, bez problémů. Při vývoji webových aplikací jsme flexibilní a jelikož vyvíjíme části aplikace postupně, je často možné provádět změny i bez navýšení nákladů, pokud ještě určitá část nebyla vyvinuta.

Kolik stojí vývoj webové aplikace?

Nákladům na vývoj webové aplikace se podrobně věnujeme v našem článku na blogu. Cena webové aplikace samozřejmě závisí na typu, rozsahu, množství funkcí, napojení na další služby atd. Ty nejjednodušší produkty začínají přibližně na 180 000 Kč, u sofistikovanějších systémů je potřeba počítat s částkou minimálně 350 000 Kč a gigantické webové aplikace vás vyjdou na více než 600 000 Kč.

Jakým způsobem dokumentujete kód?

Záleží na tom, jak se s klientem dohodneme. Postup se liší projekt od projektu. Vždy ale vypracujeme dokumentaci API a základní dokumentaci backendu a frontendu. Je možné domluvit se i na celkové dokumentaci s manuálem pro aplikaci a také dokumentem shrnujícím použité technologie. Za tuto službu si ovšem účtujeme příplatek.

Jak dlouho trvá vývoj webové aplikace?

To záleží na vašem zadání a požadavcích. Ty nejmenší a nejjednodušší aplikace jsme schopni dodat už za měsíc. Rozsáhlejší systémy nám zaberou v průměru zhruba3 měsíce a informační systémy můžeme průběžně vyvíjet klidně i několik let.

Můžete zajistit designy aplikace?

Ano, máme na to dokonce dedikovaného zaměstnance, který designy připraví podle potřeb vývoje. Standardně designy zajišťujeme sami, ale je možné dodat i vlastní designy, které v případě potřeby společně doladíme.

Co vše je součástí vývoje webových aplikací?

Všechny procesy, které jsou součástí vývoje, najdete na naší stránce věnované průběhu spolupráce. Zjednodušeně lze říct, že spolupráce má následující fáze: Analýza a tvorba specifikací, vývoj, funkční testování, akceptační testování, nasazení produkčního prostředí, správa softwaru a další vývoj.

Jak probíhá předání aplikace?

Standardně aplikaci předáváme nahráním na produkční prostředí po souhlasu klienta. Poté aplikace přechází do zkušebního režimu, kdy opravujeme zjištěné vady již v produkčním prostředí.

Jak probíhají práce po dokončení díla?

Většinou záleží na domluvě. V případě větších prací se lze domluvit na časovém harmonogramu.

Jakým způsobem zajišťujete kvalitu kódu, bezpečnost a další důležité funkce?

V případě každé změny kódu automaticky spouštíme testy, které analyzují licence všech balíčků s ohledem na kompatibilitu. Také spouštíme programy analyzující kvalitu kódu, kdy kód musí vždy odpovídat definované kvalitě. Dále spouštíme databázi zranitelností balíčků, která nám umožňuje zabránit zneužití již objevené chyby. Následně aplikace samozřejmě prochází ještě testováním u našich testerů.

Je možné převzít již započatý/dokončený projekt a pokračovat v jeho vývoji?

Ano, pokud používáme stejný nebo podobný technologický stack. Je ovšem velmi pravděpodobné, že při převzetí budeme muset provést nějaké úpravy, abychom mohli na vývoj navázat. Někdy může být efektivnější začít jednoduše od začátku.

Proč je vývoj webové aplikace dražší než tvorba aplikace ve WordPressu?

Redakční systém WordPress funguje tak, že si uživatel stáhne požadované doplňky a poskládá si je podle požadovaných funkcionalit. Pak už většinou stačí jen doladit design nebo doprogramovat menší funkce. Pokud však vyvíjíme aplikaci na míru, s žádnými pluginy nepracujeme a vytváříme vše od začátku. Samozřejmě máme připravené části kódu, které můžeme jednoduše integrovat. Každá aplikace však nabízí jiné funkcionality, takže opakovaně použitelné části kódu nebývají příliš rozsáhlé.

Proč dát přednost vývoji webové aplikace před WordPressem?

WordPress doplňky se špatně spravují a nemusí být v rámci dané verze vzájemně kompatibilní. Nikdy nenajdete plugin, který dělá přesně to, co potřebujete. Je také možné, že budete potřebovat funkci, kterou ve WordPressu nelze vytvořit (minimálně ne jednoduše), a nakonec budete stejně muset zvolit webovou aplikaci na míru. WordPress je navíc na mnoha místech zranitelný, takže se vám web může zablokovat, spouštět reklamy nebo dokonce zavirovat server.

Je možné propojit webovou aplikaci se stávajícím webem?

Ano, například pomocí script tagu nebo pomocí iframu. Klienti zpravidla používají klasický web pro zobrazení statických informací s odkazem do aplikace.

Mohu zvolit šablonu, kterou bude aplikace používat?

Snažíme se se šablonami nepracovat, jelikož většinou nesplňují kritéria pro kvalitní a udržitelný kód. Naopak je pravděpodobnější, že spíše zvýší náročnost projektu. Je tu ovšem možnost šablonu přímo neimplementovat, ale graficky z ní vycházet.

Jsou vaše aplikace responzivní?

Standardně děláme webové aplikace responzivní pro telefony. Nepokrýváme tím všechna rozlišení jako například režim portrétu na tabletu. Podobné extra funkcionality je zapotřebí specifikovat ještě před zahájením vývoje.

Umožňuje aplikace offline režim?

progresivních webových aplikací nabízíme i offline režim. Poté, co se aplikace opět připojí k internetu, proběhne aktualizace dat a zpracování všech požadavků zadaných v offline režimuOdpověď na otázku

Jak je to se SEO webové aplikace?

Za normálních okolností SEO neřešíme, protože většina aplikací je dostupná jen po přihlášení. U aplikací s veřejným obsahem je nicméně možné se na požadavcích na SEO dohodnout předem. V takovém případě použijeme server-side rendering nebo client-side rendering, který je ale nutné donastavit. Více informací na toto téma najdete v našem článku na blogu o  optimalizaci CSR React.js pro SEO pomocí React snap

Vyvíjíte i klasické weby?

Vývojem klasických, statických webů se nezabýváme. Pokud není součástí uživatelská zóna, případně další, složitější součásti, obvykle se vyplatí zakoupit šablonu a postavit web na WordPressu, než vytvářet statický web na míru. A kdyby vám náhodou možnosti redakčního systému nestačily, můžeme vám na míru vytvořit i klasický, statický web.

Poskytujete na váš software záruku?

Standardně nabízíme zkušební provoz dva měsíce po odevzdání softwaru s tím, že klient může aplikaci testovat již během vývoje. Pokud požadujete záruku, vždy se lze za příplatek domluvit.

Kdo povede projekt?

Projektový manažer – jeden ze tří kolegů uvedených v kontaktech nebo další projektový manažer.

Jakým způsobem probíhají platby za vývoj

Standardně požadujeme zálohu předem buď na část celé aplikace, nebo jen na část milníku. Po dokončení milníku nebo nasazení systému do produkce vás požádáme o další část a po zkušebním režimu se doúčtujeme doplatek.

Píšeme o Cloud Native aplikacích

 

Umělá inteligence rychle prostupuje do mnoha odvětví a IT samozřejmě není výjimkou. Naopak v něm lze očekávat…
Celý článek
Aplikace všeho druhu se již dávno staly naším věrným společníkem a sotva uplyne den, kdy bychom alespoň…
Celý článek
Když se řekne „vícevrstvá aplikace“, běžný laik si pod tímto technickým termínem asi nepředstaví nic konkrétního. I…
Celý článek
Dnes už víte, že je lepší si nechat aplikaci navrhnout, než si koupit hotovku. Potřebujete dát uživatelům…
Celý článek