AWS, czyli Amazon Web Services oferuje nam wiele usług, które możemy połączyć w zestaw realizujący zadania przed nim postawione. Wykorzystując już kilka z najpopularniejszych narzędzi, np. Lambda, RDS, VPC czy też S3 jesteśmy w stanie stworzyć zaawansowany system, nie wymagający armii ludzi odpowiedzialnych za infrastrukturę.
AWS Free Tier
Mało tego, dzięki programowi AWS Free Tier możemy znacząco obniżyć koszty funkcjonowania systemu w pierwszym roku korzystania z wielu usług, a warto zaznaczyć, że część z tych benefitów pozostaje po 12 miesiącach.

Cennik
Przy decyzji o wyborze oferty konkretnego dostawcy usług w chmurze warto przestudiować cennik pod kątem usług które zamierzamy wykorzystać. Pierwszym krokiem jednak jest zaznajomienie się z usługami, które mamy do wyboru, a trochę ich jest.
Popularne usługi
EC2 (Elastic Compute Cloud).
To nic innego niż serwer wirtualny, który można wykorzystać w dowolny sposób do uruchamiania naszych i nie tylko naszych aplikacji. Często może być wykorzystywany jako forma przejściowa dla usług uruchamianych na naszych serwerach, które chcemy przenieść do chmury. Podstawowymi plusami EC2 są: możliwość auto-skalowania, dostosowywania typu maszyny do software-u który będziemy na niej uruchamiali (optymalizacja pod kątem mocy obliczeniowej, pamięci RAM, GPU bądź też operacji dyskowych I/O). Płacimy za wykorzystany czas.
Lambda
Jest to niewielka (zazwyczaj) aplikacja mogąca wykonywać operacje w przypadku wystąpienia jakiegoś zdarzenia. Skąd się bierze to zdarzenie? Jest publikowane przez inną usługę i w zależności od tego przez jaką to inny jest też charakter tej wiadomości. Przykładowo, możemy mieć do czynienia z informacją o nowym obiekcie w usłudze S3 czy też zmianą elementu w tabeli. Potrzebujesz wywołać pewną operację w określonym czasie, z określonym interwałem? Także tutaj, nie ma problemu.
RDS (Relational Database Service)
Usługa za pośrednictwem, której mamy dostęp do relacyjnej bazy danych. Jakie silniki mamy do wyboru? Od MS SQL Server, Oracle i MySQL do MariaDB, PostreSQL i Amazon Aurora. A dlaczego używać RDSa zamiast własnego serwera z bazą danych? Amazon ułatwia nam zarządzania poprzez możliwość łatwiejszego skalowania, backupowania czy też patchowania.
VPC (Virtual Private Cloud)
Wszystko to co związane z sieciowością. Możemy tworzyć tu nasze sieci, podsieci, VPNy, grupy bezpieczeństwa, tablice routingu oraz wiele więcej 🙂
ELB (Elastic Load Balancer)
Dzięki tej usłudze podzielimy zapytania do naszej aplikacji. Po co? W celu zapewnienia niezawodności oraz określonej wydajności naszego systemu.
DynamoDB
Zarządzana baza danych typu NoSQL. Nie martwisz się o brak miejsca, cache, enkrypcję. Jeżeli struktura danych w twojej aplikacji na to pozwala to DynamoDB może być ciekawą alternatywą dla RDSa.
S3 (Simple Storage Service)
Można o tej usłudze myśleć jako o serwerze FTP. Umieszczamy tu wszelkiego rodzaju pliki, w przypadku aplikacji webowych możemy tu hostować np. obrazki czy mp3 do pobrania przez użytkowników.
SNS (Simple Notification Service)
Niby „prosty” z nazwy serwis, ale pozwala na wiele sposobów rozgłaszania wiadomości. Dzięki niemu zrealizujemy powiadomienia SMS, e-mail czy też opublikujemy zdarzenie dostępne dla usługi Lambda.
SQS (Simple Queue Service)
Kolejka dla twoich aplikacji. Pozwala na komunikację między usługami poprzez wysyłkę wiadomości. Komponent produkujący wysyła wiadomości na kolejkę i wraca do przetwarzania. Komponent konsumujący przetwarza wiadomości i zdejmuje je z kolejki.
API Gateway
Swego rodzaju fasada stojąca pomiędzy klientami twojego API a twoim systemem. W najprostszym wypadku integrujemy API Gateway z Lambdą i mamy działające API bez potrzeby stawiania jakichkolwiek serwerów. API gateway może zapenić cache, wersjonowanie czy też łatwe zarządzanie definicją zasobów dostępnych poprzez API.
Cognito
Zarządzanie użytkownikami naszego systemu. Pozwala na autoryzację przy pomocy Facebooka i Googla. Ogromną zaletą jest prosta integracja z innymi serwisami np. API Gateway.
Cloud Formation
Serwis pozwalający na tworzenie zasobów w innych serwisach. Zasada jest prosta, w Cloud Formation mamy możliwość opisu i setupu innych serwisów. Wszystko w jednym miejscu.
Cloud Watch
Centrum monitoringu naszego systemu. Możemy tu sprawdzać status alertów, metryki czy też logi z innych serwisów AWS.
Cloud Trail
Akcje wywoływane przez użytkowników pozostawiają po sobie ślad. Nie wiesz kto usunął twoją bazę danych? Sprawdzisz to w Cloud Trail!
IAM (Identity and Access Management)
Pozwala na zarządzanie użytkownikami, kluczami (KMS – Key Management Service) i dostępem do określonych zasobów (przy użyciu polityk)

Czubek góry
To oczywiście tylko czubek góry, AWS posiada ogromną bazę serwisów i pracując na co dzień z AWS sam odkrywam często serwisy o których wcześniej nie słyszałem. W następnych wpisach postaram się przybliżyć więcej z tej bazy serwisów.