Ga je een nieuw project starten of sta je op het punt om een aantal nieuwe functies te ontwikkelen? Voordat je acties onderneemt, is het de moeite waard om zoveel mogelijk te weten te komen over verschillende externe tools die nuttig voor je kunnen zijn.
Twee basisvarianten en waarschijnlijk de populairste AWS services zijn EC2 en S3. In een notendop: met EC2 kun je je project en het aan de wereld laten zien, terwijl S3 wordt gebruikt om allerlei soorten gegevens op te slaan. In dit artikel wil ik echter kijken naar andere min of meer populaire AWS-tools die we hier bij Codest normaal gesproken gebruiken.

Cloudfront
Het is een tool die speciaal is gemaakt voor een zeer snelle levering van bronnen aan veel gebruikers. En veel betekent niet honderden of duizenden, maar miljoenen aanvragen voor een enkele bron. Je wilt bijvoorbeeld je afbeelding, css, html of javascript bestand op elke pagina. Je wilt ook een volledige impact hebben op de inhoud van de bron - je moet iets veranderen en je wilt dat deze verandering op alle pagina's met je bestand gebeurt. En hier komt AWS Cloudfront, met al zijn mogelijkheden, die ervoor zorgen dat de eindgebruiker je bron zo snel mogelijk ontvangt.
Cloudfront biedt ook een aantal statistieken. Bijvoorbeeld - pagina's die het meest zijn opgevraagd, apparaten waarmee de resource is opgevraagd, http-statussen, enz.
Natuurlijk is deze tool vrij duur, maar hoe meer aanvragen er worden gedaan bij cloudfront, hoe minder je betaalt voor de service. Daarom zou je deze oplossing moeten overwegen als je de bron op websites met echt veel of zelfs enorm verkeer wilt plaatsen.
Batch
To put it in simple terms, it’s a service that allows to execute of a large number of jobs directly on the AWS. All you have to prepare is an execution script and a dokwerker image, whilst AWS Batch will do the rest. Batch will dynamically create instances on EC2, allocate a suitable place for jobs and launch them at the same time. You do not have to worry that your EC2 instance will be run out of space or memory, or that you have to constantly think about when and how the job can be started. For communication between the script in the docker image and your service you can just create the API and here you go. If you want to use Batch you should also prepare your docker repository in Amazon Elastic Container Registry (ECR) service.
Een andere service die de voordelen van docker-containers plukt, is ook het vermelden waard. Het heet Elastic Container Service (ECS). Het belangrijkste verschil met Batch is dat je zelf EC2-instanties moet opzetten en schalen, terwijl Batch al het werk voor je doet. De kosten van Batch zijn afhankelijk van welke EC2-instanties je mag gebruiken, omdat je in dit geval alleen betaalt voor draaiende instanties.
Lambda
AWS Batch doet het werk door docker-images te lanceren, terwijl je met de volgende service - AWS Lambda - het script direct kunt uitvoeren. Je hoeft geen server in te stellen, de code virtueel wordt uitgevoerd, en wat nog beter is, je kunt ook een waarde retourneren op de manier die jij wilt.
Wanneer kan het worden gebruikt? Laten we zeggen dat je een aantal berekeningen wilt maken op onze website op basis van parameters uit de browser, en misschien vereisen deze berekeningen bovendien een aantal extra queries naar andere plaatsen op het web. In dit geval hoef je alleen maar een eindpunt aan te maken in Lambda, je script toe te voegen en dit eindpunt te gebruiken op de website. Het is echt eenvoudig.
De Lambda-kosten worden alleen geteld als het script wordt uitgevoerd, als het eindpunt niet wordt gebruikt, betaalt u niets.
SNS
Simple Notification Service is, zoals de naam al doet vermoeden, een tool die speciaal is ontwikkeld om notificaties te versturen. Het kan gemakkelijk worden gebruikt voor communicatie tussen verschillende AWS-services. Je hebt bijvoorbeeld een groep microservices en je wilt dat een van hen de anderen leidt - sommige ervan starten of bepaalde acties uitvoeren. In dit specifieke geval kun je een notificatie sturen vanuit de hoofdservice en de ontvangst van berichten afhandelen in een andere microservice die je verkiest. Overigens is het ook de moeite waard om de Amazon Simple Queue Service (SQS) te noemen, die samen met SNS een zeer interessante verbinding kan maken.
In het geval van SNS (en SQS) wordt alleen betaald voor uitgevoerde verzoeken: het verzenden van berichten naar SNS, het verzenden van berichten van SNS naar andere services en andere aanvullende verzoeken vanuit de SNS API pool.
RDS
Amazon Relational Database Service is gewoon een externe database. Met deze service maakt AWS het mogelijk om een relationele database eenvoudig op te zetten, te gebruiken en te schalen. Als je bijvoorbeeld verwacht dat je database een behoorlijke omvang zal hebben en elke dag zal groeien, en je bent van plan om er regelmatig min of meer complexe bewerkingen mee uit te voeren, zoals het verwerken en kopiëren van gegevens naar een andere database, dan is deze oplossing het overwegen waard. Beschikbare database-engines zijn PostgreSQL, MySQL en MariaDB.
Het is makkelijk te raden dat de kosten van RDS gerelateerd zijn aan de grootte van de database en het gebruik ervan, dus het is moeilijk te zeggen of het erg duur gaat worden of niet.

Samenvatting
AWS verandert voortdurend, of het nu gaat om het verbeteren van bestaande services of het creëren van iets nieuws. Het is niet alleen beter om op de hoogte te blijven van hun technologische innovaties, maar ook om de reeds bestaande dingen te leren kennen.
Nuttige links