Jaké cloudové služby od AWS můžete použít v rámci Cloud Native aplikace?

V předchozích článcích jsme si povídali o tom, v čem se Cloud Native řešení liší od klasických aplikací s monolitickou architekturou a jaké výhody nabízejí. V minulém článku jsme si vysvětlili rozdíly ve struktuře obou typů softwaru a přínosy Cloud Native z hlediska škálovatelnosti, jednoduchosti provozu a dostupnosti. V tomto článku se zaměříme na cloudové služby a ukážeme si, jak široké spektrum funkcionalit a úloh dokážou pokrýt produkty Amazon Web Services (AWS).

Vlastnosti a výhody cloudových služeb AWS

Autonomie a specializace

Zatímco v monolitické architektuře fungují všechny procesy dohromady jako jedna jediná služba, microservices architektura se opírá o síť propojených, ale na sobě nezávislých komponent, které spolu komunikují prostřednictvím API. Každá služba zajišťuje jeden konkrétní proces aplikace a lze ji tím pádem škálovat, aktualizovat či nasazovat nezávisle na ostatních.

Agilní vývoj

Architektura založená na mikroslužbách podporuje agilní přístup k vývoji. Tento model vyhovuje malým, nezávislým týmům, které pracují odděleně na konkrétních službách. Výsledkem jsou kratší vývojové cykly a celkové zvýšení výkonnosti organizace.

Flexibilní škálování

Jednotlivé služby lze škálovat nezávisle na sobě podle momentálních potřeb organizace. Není zapotřebí pracně upravovat celý monolitický kód, což výrazně zvyšuje flexibilitudynamičnost podnikání. Velikost infrastruktury je tak možné průběžně přizpůsobovat aktuálním požadavkům a optimalizovat náklady.

Vyšší odolnost

Řešení postavená na cloudových službách jsou odolnější proti výpadkům než monolitické aplikace. Pokud selže některá z komponent, nedotkne se to chodu celé aplikace, ale pouze příslušné funkcionality. Odstraňování potíží je navíc výrazně snazší než u klasických monolitických systémů.

Přehled cloudových služeb AWS

Pokud se rozhodnete poskládat si svou aplikaci z cloudových služeb, rádi vám s tím pomůžeme. Primárně využíváme možností, které nabízí AWS. Jak se můžete přesvědčit v následujícím přehledu, neexistuje požadavek, na který by neexistovala již hotová služba.

  • Databáze (RDS)
    • Databáze jsou důležitou součástí každého cloudového řešení a provozovatelé aplikací potřebují účinné nástroje pro jejich správu. Služba Relational Database Service (RDS) od Amazonu umožňuje uživatelům vytvářet, provozovat a škálovat relační databáze několika kliknutími. K dispozici je výběr ze sedmi populárních enginů (MySQL, PostgreSQL, SQL Server, …).
  • Cache (ElastiCache)
    • ElastiCache od Amazonu je služba kompatibilní s Redis a Memcached, která zajišťuje provoz moderních aplikací v reálném čase a pomáhá optimalizovat náklady. Mezi její výhody patří možnost škálování až na stovky milionů operací za vteřinu při odezvě v řádu mikrosekund a zabezpečení na podnikové úrovni.
  • CDN (CloudFront)
    • Síť pro doručování obsahu (content delivery network, CDN) zvyšuje dostupnost (multimediálních) dat pro uživatele, zpravidla formou stahování nebo streamování. Jednou z takových sítí je CloudFront od Amazonu nabízející vysoký výkon, zabezpečení, komfort pro vývojáře a nižší náklady na provoz. 
  • Load balancer/Webserver (ALB)
    • Load balancer je jednotka rozdělující zatížení mezi dvě nebo více zařízení tak, aby bylo dosaženo optimálního využití. Webový server se využívá v počítačových sítích s architekturou klient-server, kde poskytuje klientům (nejčastěji webovým prohlížečům) požadovaný webový obsah. Amazon Application Load Balancer (ALB) nabízí možnosti pokročilého vyvažování zatížení provozu HTTP a HTTPS, zjednodušuje a zlepšuje zabezpečení vaší aplikace prostřednictvím protokolů SSL/TLS a přesměrovává provoz na EC2 instance, kontejnery, IP adresy atd.
  • Container management (ECS/EKS)
    • Tato služba řídí tvorbu, nasazení, škálování, dostupnost a vyřazování softwarových kontejnerů. Správa kontejnerů není vždy snadná, a tak zákazníci při optimalizaci jejich provozu využívají nejčastěji buď systému Elastic Container Services (ECS), nebo Elastic Kubernetes Service (EKS) od Amazonu.
  • Datové úložiště a webhosting statických dat (S3)
    • Amazon S3 je cloudové objektové úložiště s vynikající úrovní ochrany dat a výkonu vhodné pro společnosti všech velikostí. Zákazníci mohou díky této službě výrazně snížit náklady na hardwarové vybavení a jeho pravidelnou obnovu. Kromě toho lze S3 použít i na webhosting statických dat.
  • Práce s daty
    • Pokud chcete ušetřit za vlastní datové sklady, doporučujeme službu Amazon Redshift. Tento cloudový datový sklad poskytuje statistiky v reálném čase a predikce pro všechna uložená data během pár vteřin. Zákazníkům tak odpadá nákladná péče o rozsáhlou hardwarovou infrastrukturu a starosti se zabezpečením. Pro ukládání dat do S3 lze použít služby AWS Glue (integrace serverless dat) a AWS Athena (interaktivní serverless analytická služba).
  • Analýza obrázků nebo videí a rozpoznání (Rekognition)
    • Pokud chcete do svého řešení přidat nástroj pro analýzu vizuálních materiálů a rozpoznávání objektů, můžete použít službu Rekognition od Amazonu na bázi deep learningu. Jednoduše nahrajete obrázek nebo video na Amazon Rekognition API a služba identifikuje objekty, osoby, text nebo činnosti, případně upozorní na nevhodný obsah.
  • Apache Kafka (MSK)
    • Apache Kafka je populární platforma pro streamování událostí, která se používá ke shromažďování, zpracování a ukládání dat streamování. Služba Amazon MSK usnadňuje zpracování streamovacích dat v reálném čase a dává uživatelům možnost používat aplikace a nástroje určené pro platformu Apache Kafka bez nutnosti úpravy kódu.
  • NoSQL databáze (DynamoDB)
    • NoSQL databáze nejsou založené na relačním datovém modelu (na rozdíl od databází relačních). Zpracovávají vysoké objemy dat v reálném čase a vyznačují se distribuovanou a otevřenou strukturou. Tuto databázi nabízí například služba DynamoDB od Amazonu – rychlá a flexibilní NoSQL databáze pro provoz vysoce výkonných aplikací v libovolném měřítku.
  • Fronty dat a úkolů (SQS)
    • Distribuované systémy a řešení na bázi mikroslužeb se neobejdou bez nástrojů pro koordinaci dat a úloh. Amazon služba Simple Queue Service (SQS) zajišťuje odesílání, ukládání a přijímání zpráv mezi jednotlivými softwarovými komponenty v jakémkoli objemu a bez nutnosti dalších služeb.
  • Notifikace (SNS)
    • Služba Simple Notification Service (SNS) od Amazonu posílá notifikace dvěma cestami: A2A (komunikace mezi distribuovanými systémy, mikroslužbami a serverless aplikacemi řízenými událostmi) a A2P (odesílání zpráv zákazníkům prostřednictvím SMS, push notifikací a e-mailů). Mezi výhody této služby patří mimo jiné zjednodušení architektury a snížení nákladů na provoz, ale také možnost archivování zpráv a opakovaného doručení.
  • Blockchainy (Managed Blockchain)
    • Uživatelé, kteří chtějí snadno vytvářet a spravovat škálovatelné blockchainové sítě, mohou využít například služby Managed Blockchain od Amazonu. Systém umožňuje buď připojovat se k veřejným sítím, nebo vytvářet a spravovat soukromé sítě s možnostmi škálování pomocí populárních open-sourcových frameworků Hyperledger Fabric a Ethereum.
  • E-maily (SES)
    • Simple Email Service (SES) od Amazonu je služba nabízející spolehlivou a škálovatelnou e-mailovou komunikaci se zákazníky za velmi nízké ceny. Je vhodná pro rozsáhlé e-mailové kampaně a nabízí ověření důvěryhodného odesílatele e-mailů, aby se vaše zprávy skutečně dostaly k zákazníkům.
  • GraphQL API (AppSync)
    • Serverless GraphQL API vám pomůže urychlit a zjednodušit vývoj aplikace a také ušetřit peníze. Se službou App Sync od Amazonu uživatelé platí pouze za požadavky na své API a zprávy doručené v reálném čase připojeným klientům. Toto řešení nabízí přístup k datům z jednoho nebo více zdrojů či služeb prostřednictvím jediného síťového požadavku.
  • IoT (AWS IoT)
    • Internet věcí (IoT) je síť, která propojuje fyzická zařízení za účelem vzájemné komunikace a výměny dat. Služba AWS IoT od Amazonu nabízí propojení a správu až miliard zařízení, včetně shromažďování, ukládání a analýzy dat týkajících se využití.
  • Extrakce textu z fotek (Textract)
    • Textract od Amazonu je služba na bázi strojového učení, která automaticky extrahuje text (ručně psaný i tištěný) a další data z naskenovaných dokumentů. Na rozdíl od jiných nástrojů nevyžaduje žádnou manuální konfiguraci a poradí si s širokou škálou dokumentů.
  • Převod textu do mluvené podoby (Polly)
    • Tento nástroj na bázi deep learningu nabízí převod psaných textů do mluvené podoby v desítkách jazyků a za použití přirozeně znějícího lidského hlasu. Uživatel má na výběr z pestré nabídky hlasů a několika výstupních formátů (MP3, OGG, …).
  • Hlasové a textové chatboty (Lex)
    • Amazon Lex je služba umělé inteligence (AI) s pokročilými modely přirozeného jazyka. Používá se k návrhu, tvorbě, testování a nasazení konverzačních rozhraní v aplikacích.
  • Transcoding videí (Elastic Transcoder)
    • Elastic Transcoder je vysoce škálovatelná a ekonomická cloudová služba od Amazonu, kterou vývojáři a firmy používají ke konverzi (transcodingu) souborů s médii ze zdrojového formátu do formátu určeného pro cílová zařízení (smartphony, tablety a počítače).
  • Live Streaming (Elemental MediaLive)
    • Pro kódování živých videopřenosů tak, aby je bylo možné vysílat a streamovat na libovolné zařízení, lze použít například další ze služeb od Amazonu – AWS Elemental MediaLive. Nástroj nabízí pokročilé funkce zpracování videa a zvuku, automatizaci kódovací infrastruktury nebo platby podle skutečného využití (nikoli předem).
  • Robotika (RoboMaker)
    • Uživatelé, kteří mají zájem o provoz, škálování a automatizaci simulace robotických funkcí, jistě ocení i cloudovou službu RoboMaker. Snadná tvorba uživatelsky definovaných 3D virtuálních prostředí, rozsáhlé paralelní simulace pomocí jediného volání API nebo automatické simulace – to je pouze letmý přehled základní nabídky služby.

Chcete si svou příští Cloud Native aplikaci sestavit z cloudových služeb?

Zaujaly vás možnosti, které AWS nabízí? Jste přesvědčeni o výhodách, které přináší modulární infrastruktura aplikací? Pokud ano, obraťte se na nás. Rádi vás celým procesem provedeme a při vývoji vám zapojíme cloudové služby, které si vyberete. Aplikaci vyladíme přesně podle vašich představ a nastartujeme váš byznys!