Odebírat podcast.

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

Hledáte způsob, jak jednodušeji vyvíjet, spravovat i upgradovat webové nebo mobilní aplikace? Přáli byste si mít stabilnější, bezpečnější a provozně levnější aplikace? Chcete efektivněji využívat potřebné technologie? Vše to umožní využití microservices. Jak na to? Poslechněte si nebo přečtěte náš 10. podcast.

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átoři Vojtěch Seidler a Josef Štěpánek o microservices a všech výhodách, které přináší.

Co jsou microservices?

Microservices si můžete představit jako zcela oddělené bloky nebo sekce nějaké aplikace, které mají určitou funkci. Z těchto microservices je pak poskládaná celá aplikace. Tyto bloky navíc žijí vlastním životem, tj. mají vše, co potřebují ke svému chodu (i svá data), a komunikují spolu pouze pomocí nějakého bridge – nejčastěji REST API. Díky tomu se navzájem neovlivňují, mohou být napsány v rozdílných programovacích jazycích, frameworcích a mohou používat různé technologie. Jaké výhody to přináší?

Jakých 7 výhod má použití microservices?

  1. Jednodušší vývoj a ladění aplikace – Protože s pomocí microservices nevytváříte monolitickou aplikaci, ale vždy jen její menší části, které mají přesně danou funkci, je kód přehlednější. Navíc, když něco pokazíte, ovlivní to pouze určitou funkci, tedy rychleji naleznete chybu a kód vyladíte.
     
  2. Jednodušší koordinace týmů při vývoji – K vývoji každé microservice můžete přidělit určité lidi, tým. Je zde tedy menší riziko konfliktů mezi programátory, kteří si navzájem budou i méně sahat do kódu.
     
  3. Stabilnější aplikace – Protože jsou od sebe microservices oddělené, pokud nastane problém, ovlivní to pouze určitou microservice, nikoliv celou aplikaci. Aplikace složené s microservices jsou tak stabilnější.
     
  4. Jednodušší a levnější správa aplikací – Když budete mít monolitickou aplikaci a budete chtít upgradovat například její framework nebo programovací jazyk, musíte upravit celou aplikaci. Po této úpravě pak je vždy třeba i celou aplikaci otestovat. To vše použití microservices zjednoduší. Při opravě nebo upgradování jedné microservice nebudete muset upravit další části aplikace ani je nijak neovlivníte. Aplikace tedy jako celek nespadne a ani nebudete muset další části testovat. Tím výrazně ušetříte čas i peníze na opravy a upgradování.
     
  5. Efektivnější využívání technologií – Protože jsou microservices nezávislé bloky, které spolu komunikují přes REST API, lze pro každou použít zcela jinou technologii. Pro danou funkcionalitu proto můžete použít takovou technologii (programovací jazyk a jeho framework), která je pro ni nejvhodnější. Zároveň tím můžete uspořit. Pokud je zde nějaká funkcionalita náročná na výkon, můžete pro ni použít nějakou dražší technologii, ale na zbytek už jen nějaké levnější, ale dostatečné řešení, např. PHP.
     
  6. Levnější a méně náročný provoz aplikace – V každé aplikaci jsou některé části využívané více než jiné. Pokud máte ale vše v monolitické aplikaci, jakýkoliv dotaz aktivuje vždy celou aplikaci. Aplikace je proto mnohem náročnější na výkon.

    U microservices to neplatí. Každý dotaz aktivuje jen tu microservice, která ho zpracovává. Každá microservice pak běží na separátní instanci, například na separátním virtuálním serveru, který můžete podle jejího vytížení buď naddimenzovat, anebo naopak poddimenzovat. Tímto tedy snižujete výkonnostní náročnost celé aplikace. Z toho plynou i nižší náklady na provoz.
     
  7. Bezpečnější provoz aplikace – Zajistit bezpečnost citlivých dat v monolitické robustní aplikaci je mnohem komplikovanější než v případě jedné microservice. Zároveň při úpravě čehokoliv dalšího v aplikaci nikdy neohrozíte bezpečnost a funkčnost této funkce. To se hodí dvojnásob, pokud tuto funkci využívají i další projekty. Krásný příklad takového využití je třeba funkce autorizace uživatelů. Zde je totiž mnohem větší důraz na bezpečnost i stabilitu funkce.
     

Jsou nějaké nevýhody microservices?

Nevýhody zde prakticky nejsou. Důvod, proč se doposud microservices tolik nepoužívají, je fakt, že je tato architektura aplikace stále relativně nová a její nasazování je náročnější, ačkoliv sám vývoj může být s jejím použitím i rychlejší. Lépe totiž najdete a odladíte jednotlivé problémy.

Některé firmy však již začínají microservices používat pro části svých aplikací. Je to proto, že zjistily, že některé části jejich aplikací jsou až příliš náročné na výkon a ty části od celku oddělují. Zpětně je toto oddělení ale mnohem náročnější.

Pro vhodné nasazení microservices je třeba zkušeností

Nasazení microservices vás zpočátku staví před složitou otázku. Musíte totiž nejprve určit, z jaké funkce udělat microservice a co nechat v core projektu. Jenže k tomu musíte být už od počátku schopni určit, jaké funkcionality budou opravdu náročné na výkon nebo na zpracování, tj. i náchylné na chybovost. Takové části se pak rozhodně vyplatí oddělit, snížíte tím výkonnostní náročnost aplikace a zajistíte její stabilitu a rychlejší vývoj a ladění. K takovému rozhodnutí je však třeba zkušenost.

Chcete vědět více o microservices, nebo 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.

11 důvodů, proč si zamilujete Docker

Docker zrychluje přípravu, údržbu i aktualizaci serveru potřebného pro běh aplikace a pomáhá s jejím testováním a vývojem. Objevte více v novém podcastu.

Chci vědět víc

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

Víte, kdy je nejvýhodnější použít na provoz aplikace hosting, kdy virtuální server a kdy cloud? V našem dalším podcastu se to dozvíte.

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

Víte, jak vybrat vhodnou databázi a vyhnout se nejčastějším chybám?

Zjistěte, jaké jsou nejčastější chyby při výběru a tvorbě databáze a jak tyto chyby mohou ovlivnit rychlost a bezpečnost celé aplikace.

Chci vědět víc

Automatické testování: jaké má výhody a použití

Automatické testování webových nebo mobilních aplikací vám může ušetřit čas i peníze při vývoji a kontrole aplikací. Zjistěte jeho druhy i ideální využití.

Chci vědět víc