Proč používáme AWS na cloud native vývoj a co při něm garantujeme

Cloud native vývoj nabízí spoustu možností, které klientům šetří peníze a nám práci. Jednou z nich jsou služby Amazon Web Services (AWS), na které můžeme vaše řešení napojit a zajistit tak jeho vynikající dostupnost a funkčnost za rozumné peníze. Jelikož jsme partnerem AWS, máme s těmito cloudovými službami spoustu zkušeností a víme, jak s jejich pomocí rychle vyladit vaši aplikaci k dokonalosti.

Důvodů, proč používáme právě AWS, je celá řada. V tomto článku se s nimi můžete podrobněji seznámit a také se dozvědět, co všechno při cloud native vývoji za použití AWS garantujeme. A pokud vás managed cloudové služby zaujmou natolik, že je budete chtít i ve své příští aplikaci, rádi si váš projekt vezmeme na starost.

Důvody, proč používáme AWS

Managed cloudové služby

Použití managed cloudových služeb je výhodné pro všechny. Vývojáři nemusejí programovat jednotlivé funkce od nuly, ale mohou využít technologií třetích stran. Klienti tím pádem zaplatí za vývoj méně a ušetřené peníze investují do dalšího rozvoje svého podnikání. A uživatelé se mohou spolehnout, že aplikace poběží jako na drátkách a bude vždy dostupná, bezpečná a plně funkční.

AWS nabízí v současné době více než 200 cloudových služeb pro miliony zákazníků po celém světě – od rychle rostoucích startupů přes obří korporáty až po vládní organizace. Produkty AWS nacházejí uplatnění v široké škále odvětví, včetně analytiky, strojového učení, sítí, databází, zabezpečení a compliance, úložišť, IoT nebo business aplikací. Podrobněji jsme se o konkrétních službách rozepsali v jednom z našich předchozích článků o AWS (odkaz).

Na rozdíl od jiných cloudových platforem umožňuje AWS plně managed automatické škálování (autoscaling) vybraných služeb. Nástroj Application Auto Scaling lze integrovat s ostatními produkty AWS a přidávat do nich funkce autoscalingu. Mezi služby, které jsou s automatickým škálováním kompatibilní, patří například Amazon Elastic Container Service (správa a provoz kontejnerů), Amazon EMR (řešení pro big data) nebo AWS Lambda (výpočetní služba pro serverless provoz).

A zapomenout samozřejmě nesmíme ani na štědrou nabídku služeb zdarma, včetně kreditů pro startupy do výše až 100 000 dolarů. Program Free Tier je k dispozici všem uživatelům při založení účtu AWS a některé služby zůstávají zdarma dokonce po celou dobu vašeho členství. Menší apku snadno dokážeme optimalizovat tak, aby vám na AWS běžela bezplatně po dobu jednoho roku. Podrobnější informace o tomto programu najdete v jednom z našich předchozích článků (odkaz).

AWS a cloudové služby
AWS a cloudové služby

Vlastní IaC (Infrastructure as Code) nástroj

Infrastruktura jako kód (anglicky Infrastructure as Code, IaC) je proces vytváření datových center prostřednictvím strojově čitelných definičních souborů. Není tedy nutné provádět fyzickou konfiguraci hardwaru nebo interaktivních konfiguračních nástrojů. Výsledná infrastruktura může být jak fyzická (servery), tak virtuální (virtuální stroje). Hlavními výhodami tohoto přístupu jsou nižší cena, vyšší rychlostméně rizik. Správu IT infrastruktury lze automatizovat, což organizacím šetří čas, úsilí a hlavně snižuje chybovost.

AWS dokonce provozuje vlastní IaC nástroj Cloud Development Kit (CDK), což patří mezi největší přednosti tohoto poskytovatele cloudových služeb. CDK urychluje vývoj aplikací díky použití běžných programovacích jazyků, což například konkurenční nástroj Microsoft Azure Resource Manager neumožňuje. Vývojáři mohou použít předkonfigurované komponenty aplikace a „vymodelovat“ pomocí nich požadované řešení. Provisioning aplikace poté probíhá v nástroji AWS CloudFormation.

Pokud se bavíme o IaC, musíme zmínit také Terraform – open source softwarový IaC nástroj společnosti HashiCorp určený pro vytváření a správu cloudových infrastruktur pomocí konfiguračních souborů. Terraform poskytuje vlastní, velmi rozšířený modul pro AWS providera, ve kterém je většina služeb AWS. Jeho hlavními výhodami jsou jednoduché zálohování, verzování či replikování nastavení pro vývojové a staging prostředí.

 Jednoduchá práce a snadné nasazení

S AWS se pracuje skvěle jak nám, vývojářům, tak i řadovým uživatelům. Platforma nabízí vhodné API téměř na cokoli, což nám usnadňuje nasazení a vám šetří peníze. Prostředky, které vám zbydou navíc, můžete investovat do dalšího vývoje a zdokonalování aplikace, a navíc vám odpadne spousta starostí s infrastrukturou.

AWS používáme také z toho důvodu, že ředitel naší firmy měl již v době založení bohaté a velmi dobré zkušenosti s produkty AWS, včetně pokročilých certifikací jako např. AWS Certified Solutions Architect. Tato volba pro nás tedy byla jednoznačná. Kromě toho máme v týmu další specialisty na AWS, takže máte jistotu, že na vývoj vaší aplikace budou dohlížet experti, kteří se v těchto technologiích dokonale orientují.

Kvalitní podpora a dokumentace

AWS vyniká skvělou technickou podporou. Základní podpora pro obecné dotazy je zákazníkům k dispozici zdarma, technická podpora je zpoplatněna. Reakce bývá velmi rychlá a technici se vám mohou věnovat i mailem nebo po telefonu.

Zejména vývojáři nebo náročnější uživatelé ocení i kvalitní dokumentaci pro všechny služby a funkce. Další tipy a informace ohledně implementace běžných architektur najdete v příspěvcích na blogu.

Bezpečnost

Platforma AWS je velmi bezpečná. Bezplatná služba Identity and Access Management (IAM) umožňuje nastavení podrobných bezpečnostních pravidel pro uživatele v rámci daného účtu AWS – jednotlivým uživatelům lze například povolit nebo omezit provádění určitých akcí. Dodržování bezpečnostních zásad lze sledovat pomocí další služby: AWS Config

Dodatečnou vrstvu ochrany zajišťuje nástroj AWS CloudTrail, se kterým budete mít přehled o všech změnách v účtu AWS a voláních API, která tyto změny iniciovala. Pokud například uvidíte, že někdo odstranil vaše zdroje, můžete s pomocí konzole CloudTrail snadno zjistit, kdo akci inicioval.

Ochranu dat zajistí například služba AWS Key Management Service (AWS KMS), s níž můžete citlivá data šifrovat nebo digitálně podepisovat ve všech svých aplikacích na AWS. Nástroj nabízí praktické funkce centrální správy klíčů, definování zásad šifrování a digitálního podepisování, ale také třeba generování a ověřování MAC (message authentication codes).

Pro náročnější uživatele, kteří mají zájem o komplexní ochranu celé své infrastruktury, je zde služba AWS Network Firewall. Ta automaticky škáluje vysoce flexibilní síťový firewall, který umožňuje definování tisíců vlastních pravidel. Dále můžete například centrálně spravovat bezpečnostní zásady na všech účtech a virtuálních soukromých cloudech (VPC) nebo nástroj propojit s další bezpečnostní službou, AWS Firewall Manager.

O automatizaci bezpečnostních kontrol a výstrah se postará AWS Security Hub. S tímto nástrojem budete mít přehled o stavu zabezpečení všech vašich AWS účtů z jednoho místa a v případě potřeby budete moct efektivně přijmout nápravná opatření.

Srovnání s konkurenčními cloudovými službami

Když se budete rozhodovat, kterého poskytovatele cloudových služeb si pro svou příští aplikaci vyberete, velmi pravděpodobně se vám konečný výběr zúží na tři největší hráče: AWS, Microsoft Azure a Google Cloud. Tito tři giganti dosahují dohromady téměř dvoutřetinového podílu na trhu poskytovatelů cloudové infrastruktury a každý z nich jistě stojí za zvážení. Podle nás však z jejich srovnání vychází nejlépe AWS a na následujících řádcích vám prozradíme, proč si to myslíme.

Microsoft Azure
Microsoft Azure

AWS vs. Microsoft Azure

Největším konkurentem AWS je Microsoft Azure. Tento poskytovatel nabízí shodně s AWS přes 200 služeb a pokrývá prakticky stejnou škálu aplikací (analytika, umělá inteligence, databáze, strojové učení, IoT, úložiště a mnoho dalších). Atraktivní je také možnost trvale bezplatného používání více než 55 cloudových služeb (v rámci měsíčních limitů).

Z provozního hlediska je hlavní výhodou AWS oproti Azure vlastní nástroj pro IaC (CDK), o kterém jsme se již zmínili. Azure ho má sice také (Azure Resources Manager), avšak na rozdíl od CDK jej není možné psát v klasických programovacích jazycích. AWS dále nabízí vlastní procesory s lepším poměrem cena/výkon (https://blog.pythian.com/comparing-cpu-throughput-of-azure-and-aws-ec2/). Díky většímu počtu datových center může AWS poskytnout svým zákazníkům lepší dostupnost a nižší latenci než Azure. Historicky se navíc AWS může pochlubit daleko menším počtem výpadků než Azure.

Další výhodou AWS pro uživatele je delší archivování dat a také možnost jejich zpětného získání, což bohužel v případě Azure možné není. Zejména podnikatelé ocení také kvalitnější podporu pro business intelligenceanalytické služby. K dispozici je také výrazně rozsáhlejší ekosystém partnerů (mezi něž patříme i my). V neposlední řadě se na AWS specializuje více vývojářů a dalších IT expertů než na Azure, takže máte vyšší šanci narazit na odborníka, který si vezme vaše řešení na starost.

AWS vs. Google Cloud

Google Cloud
Google Cloud

Google Cloud je o něco mladší konkurent AWS, takže jeho nabídka zatím není natolik bohatá a strukturovaná jako například u Microsoft Azure. Portfolio Google Cloud zahrnuje v současné době asi 100 produktů a specializuje se spíše na náročnější aplikace typu zpracování velkých dat (big data). Oproti AWS navíc dochází u Google Cloud častěji k problémům se zabezpečením a hrozí zde více rizik. Jelikož se jedná o veřejnou cloudovou službu sdílenou s ostatními uživateli, nelze vyloučit úniky dat nebo neoprávněný přístup k datům.

Uživatelé Google Cloudu mohou bohužel narazit také na problémy s horší spolehlivostí služeb, častějšími výpadkynižší dostupností. Ačkoli je Google Cloud levnější, z hlediska bezplatných služeb je výrazně méně štědrý než jeho konkurenti. Novým zákazníkům nabízí menší počet produktů zdarma (20+) a kredity pouze do výše 300 dolarů.

Co všechno garantujeme

Chcete, aby vaše příští aplikace byla napojena na cloudovou infrastrukturu AWS? Nyní, když již znáte všechny výhody, dává takové rozhodnutí smysl. Pokud stále hledáte partnera, který vás celým procesem provede a pomůže vám sestavit řešení přímo na míru, rádi se do vašeho projektu pustíme. Při vývoji pomocí AWS garantujeme:

  • Vysokou expertízu: V týmu máme specialisty přímo na AWS, kteří si váš projekt vezmou na starost. Navrhnou pro vás to nejlepší řešení a následně se o prostředí budou starat, abyste se mohli naplno soustředit pouze na zdokonalování vašich služeb a produktů. 
  • Jednoduché nasazování nových verzí: Řešení napojená na cloudové služby AWS se vyznačují vynikající škálovatelností a snadnými možnostmi úprav, takže ani časté nasazování nových verzí nepředstavuje problém.
  • Dostupnost 99,9 %: Cloudové služby AWS potěší perfektní dostupností a minimálními výpadky. Vaše aplikace bude uživatelům k dispozici ve dne v noci.
  • Neomezenou škálovatelnost výkonu a úložiště: Možnosti škálování, které AWS nabízí, jsou prakticky neomezené. Vaše řešení poroste spolu s vámi a nebude brzdit rozvoj vašeho byznysu.
  • Programovatelnou infrastrukturu (IaC): Automatizovaná správa IT infrastruktury prostřednictvím nástroje AWS CDK znamená nižší cenu, vyšší rychlost a méně bezpečnostních hrozeb pro vaše řešení. Pro nasazování IaC používáme vlastní připravenou šablonu, která celý proces urychluje. Navíc postupujeme v souladu se standardy zabezpečení podle zásad AWS Well-Architected (případně odkaz? https://aws.amazon.com/architecture/well-architected/)
  • Běh ve vašem prostředí: Aplikace poběží ve vašem účtu AWS, nad kterým máte po celou dobu plnou kontrolu. My jsme pouze poduživatelem s přístupem ke správě a nasazení. Nestane se vám tak, že byste třeba přišli o svůj kód nebo se nedostali k datům aplikace.
  • Maximální bezpečnost: Základní úroveň zabezpečení AWS je již sama o sobě velmi vysoká. Pokud by vám to nestačilo, napojíme vaši aplikaci na další bezpečnostní služby AWS, abyste se nemuseli obávat úniku dat nebo neoprávněného přístupu.
  • Optimalizaci nákladů: Posvítíme si na vaše provozní náklady a díky našim dlouholetým zkušenostem s AWS vám poradíme, kde všude můžete ušetřit. Pomůžeme vám s vyřízením žádosti o kredity AWS a postaráme se o to, abyste zbytečně neplatili ani korunu navíc.