Chystáte se zahájit nový projekt nebo se chystáte vyvíjet nové funkce? Než se pustíte do nějaké činnosti, je vhodné zjistit si co nejvíce informací o různých externích nástrojích, které vám mohou být užitečné.
Dva základní a pravděpodobně nejoblíbenější AWS jsou služby EC2 a S3. Stručně řečeno: s EC2 můžete nastavit své projekt a ukázat je světu, zatímco S3 slouží k ukládání dat jakéhokoli druhu. V tomto článku bych se však chtěl podívat na další více či méně populární nástroje AWS, které u nás v Codestu běžně používáme.

Cloudfront
Jedná se o nástroj speciálně vytvořený pro velmi rychlé poskytování zdrojů mnoha uživatelům. A mnoho neznamená stovky nebo tisíce, ale miliony požadavků na jeden zdroj. Například chcete umožnit umístění grafiky, css, html nebo javascript na libovolné stránce. Chcete také plně ovlivnit obsah, který zdroj poskytuje - potřebujete něco změnit a chcete, aby se tato změna projevila na všech stránkách s vaším souborem. A tady přichází AWS Cloudfront se všemi svými možnostmi, díky nimž konečný uživatel dostane váš zdroj co nejdříve.
Cloudfront nabízí také řadu statistik. Například - stránky, které byly nejvíce vyžádány, zařízení, s nimiž byl požadavek na zdroj proveden, stavy http atd.
Tento nástroj je samozřejmě poměrně drahý, ale čím více požadavků na cloudfront bude provedeno, tím méně za službu zaplatíte. Proto byste měli toto řešení zvážit v případě, že chcete umístit zdroj na webové stránky s opravdu velkou nebo dokonce obrovskou návštěvností.
Dávka
Zjednodušeně řečeno se jedná o službu, která umožňuje provádět velké množství úloh přímo v systému AWS. Jediné, co musíte připravit, je prováděcí skript a docker a o zbytek se postará služba AWS Batch. Batch dynamicky vytvoří instance na EC2, přidělí vhodné místo pro úlohy a současně je spustí. Nemusíte se obávat, že by instanci EC2 došlo místo nebo paměť, ani že byste museli neustále přemýšlet, kdy a jak úlohu spustit. Pro komunikaci mezi skriptem v obrazu dockeru a vaší službou stačí vytvořit rozhraní API a je to tady. Pokud chcete používat dávku, měli byste si také připravit úložiště docker ve službě Amazon Elastic Container Registry (ECR).
Za zmínku stojí i další služba, která využívá výhod kontejnerů docker. Nazývá se Elastic Container Service (ECS). Jejím hlavním rozdílem oproti dávce je, že instanci EC2 musíte nastavit a škálovat sami, zatímco dávka udělá všechnu práci za vás. Náklady na Batch závisí na tom, které instance EC2 smíte používat, protože v tomto případě platíte pouze za spuštěné instance.
Lambda
Služba AWS Batch provádí práci tak, že spouští obrazy dockerů, zatímco další služba - AWS Lambda - umožňuje spustit skript přímo. Nemusíte nastavovat žádný server. kód je spuštěn virtuálně, a co je ještě lepší, můžete také vrátit nějakou hodnotu způsobem, který se vám líbí.
Kdy ji lze použít? Řekněme, že chceme na našich webových stránkách provádět některé výpočty na základě parametrů z prohlížeče a možná tyto výpočty navíc vyžadují některé další dotazy na jiná místa na webu. V takovém případě stačí vytvořit koncový bod v Lambdě, přidat svůj skript a tento koncový bod na webu použít. Je to opravdu snadné.
Náklady na lambdu se počítají pouze v době, kdy je skript spuštěn, pokud se koncový bod nepoužívá, neplatíte nic.
SNS
Jednoduchá oznamovací služba, jak už název napovídá, je nástroj speciálně vyvinutý pro zasílání oznámení. Lze ji snadno použít pro komunikaci mezi různými službami AWS. Máte například skupinu mikroslužeb a chcete, aby jedna z nich vedla ostatní - spustila některou z nich nebo provedla nějakou akci. V tomto konkrétním případě můžete odesílat oznámení z hlavní služby a vyřizovat příjem zpráv v jiné mikroslužbě, kterou preferujete. Mimochodem, za zmínku stojí také služba Amazon Simple Queue Service (SQS), která může spolu s SNS vytvořit velmi zajímavé spojení.
V případě SNS (stejně jako u SQS) je platba poskytována pouze za provedené požadavky: odesílání zpráv do SNS, odesílání zpráv z SNS do jiných služeb a další dodatečné požadavky z fondu SNS API.
RDS
Služba relační databáze Amazon je pouze externí databáze. Díky této službě umožňuje AWS snadné nastavení, používání a škálování relační databáze. Pokud například předpokládáte, že vaše databáze bude mít poměrně značnou velikost a bude se každým dnem více a více rozrůstat, a plánujete s ní pravidelně provádět více či méně složité operace, např. zpracování a kopírování dat do jiné databáze, stojí toto řešení za zvážení. Mezi dostupné databázové stroje patří PostgreSQL, MySQL a MariaDB.
Je snadné odhadnout, že náklady na RDS souvisejí s velikostí databáze a jejím využitím, takže je těžké říci, zda bude velmi drahá, nebo ne.

Souhrn
Společnost AWS se neustále mění, ať už jde o vylepšování stávajících služeb, nebo vytváření nových. Je nejen výhodné sledovat jejich technologické novinky, ale také se seznámit s již existujícími věcmi.
Užitečné odkazy