Amazon Web Services (AWS) to platforma usług znajdująca się w chmurze (cloud). Oferuje wiele rodzajów usług, w tym m.in. hosting baz danych, usługi obliczeniowe, z zakresu contentu (dostarczania treści) oraz inne produkty oraz usługi ułatwiające skalowanie i rozrost biznesu. Z platformy tej chętnie korzystają przedsiębiorcy poszukujący nowych i skutecznych rozwiązań technologicznych odpowiednich dla ich działalności. Co warto wybrać i na które z rozwiązań AWS postawić podczas pracy z chmurą i w trakcie projektowania infrastruktury aplikacji oraz serwisów online? Poznaj zestawienie 14 najciekawszych usług Amazon Web Services. 

 

AWS

 

Amazon Aurora Serverless

Amazon Aurora Serverless umożliwia zwiększenie skali działania silnika bazy danych Amazon Aurora. Jest kompatybilna z MySQL 5.6. Dzięki temu narzędziu baza danych uruchamia się i zamyka automatycznie. Ponadto skaluje się w górę i w dół, zależnie od potrzeb aplikacji, które zdefiniujesz. Jak działa w praktyce? Pozwala na uruchomienie bazy danych w chmurze bez konieczności zarządzania jej instancjami. 

 

Bazę Aurora Serverless możesz postawić w każdym regionie dostępności Aurora. Pojawi się wtedy nowa jednostka w trakcie tworzenia tej bazy. Będzie nazywać się Amazon Aurora Capacity Unit (ACU). Dzięki niej wyznaczysz sobie swoje minimalne i maksymalne potrzeby. ACU posiada ok. 2 GB pamięci wraz z właściwymi zasobami sieci i procesora. Możesz przypisać sobie maksymalnie 256 ACU, czyli aż ponad 400 GB RAM-u. Ogromnym plusem działania Aurory jest to, że kiedy ustawisz sobie powyższy przedział, jednak nie wiesz, jak będzie zachowywać się aplikacja, ilu będzie miała użytkowników i jak duży będzie w niej ruch, Aurora automatycznie będzie skalować w górę i w dół, uwzględniając wszystkie powyższe parametry. Co więcej, jeśli okaże się, że ruchu nie będzie wcale, nie musisz płacić za zasoby. Aurora sama zatrzyma się i po odpowiednim czasie, który minął od ostatniego zapytania do bazy danych, wygasi się. Samemu możesz zaplanować, ile czasu ma upłynąć od ostatniego zapytania do zatrzymania Aurory. Aby określić i odpowiednio zaplanować ten przedział czasowy, obserwuj ruch, który pojawia się w aplikacji lub przyjmij założenie, które będziesz weryfikować w trakcie działania aplikacji. 

 

Ogromną zaletą tego rozwiązania jest to, że jeśli nie używasz bazy lub po prostu nie masz klientów, nie płacisz. ACU nalicza się sekundowo zgodnie ze stałą stawką – 0,06 USA / 1h. Jednak, mimo że opłata naliczana jest za sekundę korzystania, gdy baza jest aktywna, naliczanych jest co najmniej 5 minut. Producent ustawił też minimalną obsadę 2 ACU z 4 BG pamięci. Można przeskalować ją do maksymalnie 256 ACU z ok. 488 GB pamięci. Jeśli jesteś zainteresowany używaniem Aurory przez 24h na dobę przy 2 ACU, kosztuje to ok. 86 USD na miesiąc.

 

Kiedy warto skorzystać z Bazy Aurora Serverless?

Przede wszystkim, jeśli zależy Ci na oszczędnościach. Ponieważ kiedy posiadasz możliwość automatycznego skalowania i dostosowywania zasobów do własnych potrzeb i nie musisz przepłacać za dodatkowe funkcje. Aurora Serverless przydaje się podczas prowadzenia testów. Jest dedykowana niewielkim serwisom, np. niedużym blogom używanym kilka razy dziennie lub kilka razy w tygodniu. Płaci się w niej tylko za zużyte zasoby bazy danych. Aurora nadaje się także dla infrastruktur podzielonych na mniejsze usługi. Ponieważ kiedy dana usługa nie korzysta z bazy, można ją automatycznie z niej wyłączyć. To także dobry system dla dużych klientów, którzy nie są zorientowani co do wielkości ruchu, który wygenerują w przyszłości. 

 

2. Amazon Aurora Parallel Query GA

Baza danych Amazon Aurora umożliwia złożenie szybkiego zapytania analitycznego operującego na bieżących danych. Dzięki temu nie trzeba kopiować danych do osobnego systemu. Optymalizator zapytań Aurora sam decyduje, czy skorzystać z Pararell Query przy danym zapytaniu. Decyzję opiera o oczekiwane zyski wydajności. Aplikacja Parallel Query dzięki specyficznej budowie Aurory wykorzystuje ją do przesyłania i równoległego (paralelnego) przetwarzania zapytań na wielu różnych procesorach warstwy sprzętowej Aurora. Dzięki takiemu działaniu przyspiesza się szybkość wykonania zadania, a także wykorzystuje się moc obliczeniową fizycznego sprzętu zarządzanego przez Amazon z zainstalowanym oprogramowaniem Aurora. 

 

Jaki efekt zyskujesz, korzystając z Amazon Aurora Parallel Query GA? Przede wszystkim zmniejsza się zużycie procesora i pamięci w Twojej bazie. Mniej obciążona jest również sieć. Z k kolei zwiększa się wydajność operacji wejścia i wyjścia (IOPS). Warto jednak pamiętać, że opcja ta jest dostępna w wersji dla Aurory z kompatybilnością MySQL 5.6. Tak samo, jak przy wielu innych konfiguracjach Aurory, płacisz jedynie za dokonane wejścia i wyjścia. 

 

3. Amazon Elastic Container Service dla Kubernetes

Czym jest Amazon Elastic Container Service dla Kubernetes (EKS)? To usługa ułatwiająca wdrażanie, zarządzanie i skalowanie kontenerowych aplikacji przy pomocy Kubernetes na AWS. Można korzystać z niej w regionach AWS w Europie (Paryż, Londyn, Frankfurt) oraz w Azji i obszarze Pacyfiku (Sydney, Tokio, Bombaj, Singapur). Warto wiedzieć, że Amazon EKS uruchamia upstream Kubernetes. Jest też jego certyfikowanym koncesjonariuszem. Dzięki temu aplikacje obsługiwane właśnie przez Amazon EKS są kompatybilne z aplikacjami ze środowiska Kubernetes. Ponadto AWS stale współpracuje ze społecznością Kubernetes. W wyniku czego użytkownicy Amazon EKS otrzymują wsparcie społeczności.

 

Największą korzyścią, którą niesie ze sobą usługa Amazon EKS, jest łatwe zarządzanie. Uruchamia ona infrastrukturę zarządzania Kubernetes w licznych strefach dostępności AWS. Następnie automatycznie wykrywa i zastępuje nieprawidłowo działające węzły kontrole, po czy zapewnia uaktualnienia i wprowadzanie poprawek zgodnie z Twoimi żądaniami. Kanały komunikacyjne są zaszyfrowane i dzięki temu w pełni bezpieczne. Konfigurują się automatycznie między węzłami roboczymi a zarządzaną płaszczyzną kontrolną. Dzięki temu cała infrastruktura w usłudze Amazon EKS jest domyślnie zabezpieczona. 

  

4. AWS Storage Gateway Hardware Appliance

AWS Storage Gateway Hardware Appliance jest hybrydowa usługą pamięci masowej. Umożliwia ona lokalnym aplikacjom wykorzystywanie pamięci masowej w chmurze AWS. Możesz więc używać tej usługi do robienia kopii zapasowych, odzyskiwania utraconych informacji, archiwizacji danych i ich przetwarzania w chmurze, a także do tworzenia różnych warstw pamięci i migracji informacji. 

 

Storage Gateway Hardware Appliance pomaga w zmniejszeniu i uproszczeniu centrum danych i infrastruktury pamięci masowej zdalnej lub odgałęzionej. Jeśli chcesz skorzystać z tej możliwości, musisz wybrać dwa punkty dostępu. Pierwszym z nich powinna być konsola zarządzania AWS, z kolei drugim brama dostępna jako VM – maszyna wirtualna lub w postaci fizycznego urządzenia sprzętowego. 

 

W tej chwili AWS oferuje Storage Gateway Hardware Appliance jako urządzenie sprzętowe. Dodając do niego obsługę Amazon EC2, ESXi, Vmware oraz Microsoft Hyper-V. Co to dla Ciebie oznacza? Możesz korzystać z bramy pamięci masowej nawet wtedy, kiedy nie masz sprzętu klasy serwerowej, zatrudnionych informatyków o odpowiednich kwalifikacjach do zarądzania pamięcią, a nawet nie posiadasz wirtualnego środowiska. Wystarczy, że zamówisz gotowe urządzenie AWS Storage Gateway do swojego centrum danych, które zagwarantuje Ci przechowywanie danych na plikach, wolumenach i taśmach. W ich skład wchodzi:

  • File Gateway, czyli interfejs plików do Amazon S3. Jest on dostępny przez NFZ i SMB. Pliki są przechowywane jako obiekty S3. Dzięki czemu możesz używać ich specjalnych funkcji, np. zarządzać cyklem życia oraz replikacją pomiędzy różnymi regionami. 

  • Volume Gateway, czyli woluminy magazynowane w chmurze. Są one lokalnymi woluminami iSCSI. Możesz skonfigurować je, żeby lokalnie buforowały często odwiedzane dane. A także przechowywać całościową kopię dostępnych danych. Możesz również tworzyć migawki EBS woluminów i w razie awarii lub migracji danych, użyć ich do odzyskania utraconych danych. 

  • Tape Gateway, czyli wirtualna biblioteka taśmowa (VTL). Jest ona oparta również na chmurze i dostępna w iSCSI. Dzięki temu masz możliwość zastąpienia lokalnej infrastruktur taśmowej bez konieczności zmiany przepływu pacy kopii zapasowej.  

 

5. AWS System Manager Session Manager

Session Manager to usługa, dzięki której możesz zarządzać funkcją managera systemów AWS. Pozwala ona na kierowanie instancjami Amazon EC2, dzięki interaktywnej powłoce opierającej się na przeglądarce lub wykorzystaniu interfejsu AWS. System Session Manager umożliwia Ci bezpieczne dysponowanie instancjami bez konieczności otwierania portów przychodzących, zarządzania kluczami SSH, czy utrzymywania hostów bastionowych. Pomaga także w przestrzeganiu zasad firmy, umożliwiając kontrolowany dostęp do instancji i dzienników z informacjami o dostępnie do niej. Nie musisz więc używać hostów bastionowych, ponieważ Session Manager pomoże Ci dostać się do tego typu serwera prywatnej podsieci bezpośrednio z konsoli AWS. Istnieje także drugi sposób. W tym celu możesz wykorzystać interfejs CLI i plugin do interfejsu CLI. Wymaga to jednak zainstalowania AWS System Manager Session Manager bezpośrednio na serwerach. 

 

6. Amazon Data LifeCycle Manager for EBS snapshots

Amazon Data LifeCycle Manager for EBS snapshots (DLM) to bardzo przydatne rozszerzenie, które  umożliwia zarządzanie cyklem życia zasobów AWS (backupów). Służą one do automatyzacji operacji na określonych zasobach.  Rozszerzenie to obsługuje woluminy i migawki Amazon EBS. 

 
Możesz więc skomponować kilka prostych i podstawowych polityk, które będziesz używać. Może to być np. backup codzienny z retencją roczną w przypadku, kiedy wymagane jest przechowywanie danych dłużej niż rok. Stworzonym buckupom należy przypisać odpowiednie tagi. Dzięki nim możesz łatwo je zidentyfikować, znaleźć i szybko wykorzystać w momencie, gdy jest Ci to potrzebne.

 

7. SMB file shares dla AWS File Gateway

SMB file shares dla AWS File Gateway to bardzo mała, choć ułatwiająca korzystanie z AWS funkcjonalność. Pomaga ona użytkownikom Microsoft Active Directory (AD) przechowywać i uzyskiwać szybki dostęp do danych. Jest świetnym rozwiązaniem, które warto przetestować, jeśli korzystasz lub w przyszłości planujesz skorzystać z usługi katalogowej w AWS. 

 

8. Provisioned Throughput dla Amazon EFS

Provisioned Throughput dla Amazon EFS to dodatek pozwalający na zoptymalizowanie przepustowości dla potrzeb wydajności aplikacji. Zanim powstało rozszerzenie, szybkość zapisu i odczytu danych zależała tylko od jednej wartości – wielkości dysku zakupionego w Amazonie w Elastic File System (EFS). Jeśli więc danych było mało, ale konieczne okazywało zwiększenie ilości wejść i wyjść danych na sekundę, należało zakupić większy dysk, aby w ogóle móc zapisać i je odczytać. Na szczęście dzisiaj nie trzeba zmieniać lub dokupować dodatkowego dysku. Aby zdecydować o tym, jak szybko dane mają zostać zapisane i odczytane, wystarczy użyć odpowiedniej opcji. Dzięki niej niezależnie od wielkości dysku możesz ustalić ile operacji IOPS potrzebujesz. Oznacza to, że nawet przy bardzo małym dysku, możesz dysponować szybkim zapisem i odczytem danych.  

 

9. AWS Landing Zone

Zależy Ci na szybkim konfigurowaniu bezpiecznego i wielodostępowego środowiska AWS dla wielu kont? W takim razie powinieneś skorzystać z rozwiązania, jakim jest AWS Landing Zone. Krok po kroku przeprowadzi Cię przez proces konfiguracji, a dodatkowo umożliwi Ci wykorzystanie szablonów, które możesz dostosować do swoich indywidualnych potrzeb. Dzięki temu rozwiązaniu zaoszczędzisz czas. Zautomatyzujesz konfigurację środowiska do uruchamiania bezpiecznych i skalowalnych obciążeń, jednocześnie wdrażając początkową linię bazową bezpieczeństwa poprzez tworzenie podstawowych kont i zasobów. AWS Landing Zone zapewnia również podstawowe środowisko do rozpoczęcia pracy z architekturą wielu kont. Umożliwia zarządzanie tożsamością i dostępem, zarządzanie bezpieczeństwem danych, zarządzanie projektowaniem sieci i logowaniem.

 

Rozwiązanie to przydaje się dużym firmom, którym poleca się je najbardziej. Jednak doskonale sprawdza się także w przypadku średnich i małych firm. Wynika to z tego, że dobrą praktyką jest posiadanie osobnych kont dla poszczególnych środowisk. Jeśli więc np. klienci Twoich klientów chcą mieć osobne konta, wystarczy zastosować rozwiązanie AWS Landing Zone. Ułatwi to zarządzanie, wyeliminuje przypadkowe usuwanie potrzebnych danych przez osoby za nie nieodpowiedzialne, a także tworzenie kolejnych kopii środowisk dla następnych klientów. 

 

10. Amazon EC2 T3 instances

T3 instances to instancje nowej generacji, które gwarantują podstawowy poziom wydajności procesora z możliwością przerwania jego użycia w dowolnym momencie i na określony czas. Instancje T3 zaprojektowano dla aplikacji o umiarkowanym zużyciu procesora, w których momentami pojawiają się skoki ich użycia. Gwarantują one równowagę zasobów obliczeniowych, pamięci i zasobów sieciowych dla różnego rodzaju obciążeń – w ich skład mogą wchodzić mikrousługi, małe i średnie bazy danych, wirtualne pulpity, środowiska programistyczne i inne kluczowe elementy istotne w aplikacjach. 

 

T3 instances wyposażone są w procesor Intel Xeon Platinum z serii 8000 (Skylake-SP) ze stałą częstotliwością taktowania rdzenia Turbo do 3,1 GHz. Umożliwiają one obsługę nowego zestawu instrukcji Intel Advanced Ventor  Extensions 512 (AVX-512). Ponadto wyposażone są w procesor z serii AMD EPYC 7000 z taktowaniem turbo do 2,5 GHz. Jeśli więc chcesz zoptymalizować koszty swoich środowisk obliczeniowych Amazon EC2, skorzystaj z instancji T3. 

 

11. Optimize CPUs dla Amazon EC2

Jak obniżyć ponoszone koszty? Amazon oferuje ogromną ilość rodzin instancji. Oprócz wspomnianych wyżej instancji T3 pojawiają się także C5 i M4. W każdej z tych rodzin istnieje od kilku do kilkunastu różnych instancji Amazon Elasic Computer Cloud (EC2), które możesz dobrać w zależności od swoich potrzeb. Jednak mimo dużego wyboru instancji, może okazać się, że nie jesteś w stanie dobrać ilości rdzeni procesora, pamięci RAM i dysków. Z tego powodu Amazon opracował kolejne rozwiązanie, które obniży Twoje koszty. Ich obniżenie dotyczy przede wszystkim infrastruktur i aplikacji wymagających dodatkowych licencji. Wśród nich są bazy danych Orcale i bazy danych Microsoft SQL, których koszty licencji są bardzo wysokie, a dodatkowo bazują na ilości rdzeni, na których działa Twoja aplikacja. Zdarza się więc, że posiadasz 10-rdzeniową instancję, a Twoja paczka licencyjna zawiera jedynie 8 licencji. W związku z tym musisz kupić kolejną paczkę. Powoduje to dodatkowe koszty i niewykorzystanie 6 nowych licencji. By wyeliminować ten problem, AWS nie wymusza kupna kolejnych licencji, a oferuje możliwość wyłączenia dwóch niepotrzebnych rdzeni. 

 

12. AWS Lambda, AWS SQS

AWS Lambda to funkcja dzięki, której możesz przetwarzać wiadomości w standardowej kolejce Amazon Simple Queue Service (Amazon SQS). Tym samym odciążasz zadania z jednego elementu aplikacji, wysyłając je do kolejki oraz asynchronicznie je przetwarzając. AWS Lambda wywołuje z kolejki Twoje zapytania synchronicznie ze zdarzeniem zawierającym komunikat. Lambda przeprowadza cały proces partiami, wywołując osobną funkcję dla każdej z nich. Kiedy pomyślnie przetworzy partię, usuwa komunikaty z kolejki. 

 

13. Amazon ElastiCache dla funkcji Redis

Amazon ElastiCache dla funkcji Redis jest to zgodna z Redis funkcjonalność, którą możesz używać jako magazyn danych lub pamięć podręczną. ElastiCache dla Redis (Remote Dictionary Service) łączy w sobie zalety pamięciowej bazy Redis, przechowującej dane jako pary klucz-wartości, z łatwością zarządzania, bezpieczeństwem i skalowalnością Amazon. Jest to niezwykle przydatne w zasilaniu najbardziej wymagających aplikacji. W tym tych działających w czasie rzeczywistym, np. w grach komputerowych, technologiach reklamowych, handlu online, usługach finansowych, czy w opiece zdrowotnej

 

14. Share Your Directory AWS Managed Microsoft AD

Share Your Directory AWS Managed Microsoft AD to usługa ściśle integrująca jednostki organizacyjne AWS. Umożliwia ona sprawne i bezproblemowe udostępnianie katalogów na wielu kontach AWS. Dzięki niej możesz więc udostępnić wybrany katalog innym uprawnionym użytkownikom AWS w obrębie tej samej organizacji. Umożliwi Ci ona także udostępnienie katalogu innym kontom AWS, także tym znajdującym się poza Twoją organizacją.  

 

Jak widać po wymienionych 14 przykładach usług, Amazon Web Services podlega ciągłemu rozwojowi i udoskonaleniom. Pojawiają się dodatkowe funkcjonalności, których zadaniem jest usprawnienie systemu, a przede wszystkim Twojej pracy. Architektury chmurowe to prawdopodobnie przyszłość Twojego biznesu. Dlatego też warto już z nich korzystać i testować najnowsze rozwiązania technologiczne.