14 usług aws

14 usług AWS, które musisz znać w 2019 roku to nasze subiektywne zestawienie najciekawszych funkcjonalności AWS, które nie powinny umknąć uwadze żadnemu architektowi chmury. Specjalnie dla Was przygotowaliśmy przegląd usług i funkcjonalności Amazon Web Services, którym koniecznie trzeba się przyjrzeć, projektując infrastruktury serwisów i aplikacji. Nie będziemy wchodzić w szczegóły, raczej dokonamy bardzo subiektywnego przejrzenia wszystkich ciekawych rzeczy, które się pojawiły w ostatnim czasie.

 

Amazon Aurora Serverless

Automatyczna skalowalna konfiguracja silnika bazy danych Amazon Aurora (kompatybilna z MySQL 5.6), w której baza danych automatycznie uruchamia się, zamyka i skaluje w górę lub w dół w zależności od potrzeb aplikacji w zakresie przez nas zdefiniowanym. Umożliwia nam uruchamianie bazy danych w chmurze bez potrzeby zarządzania instancjami bazy danych. Jest to prosta, opłacalna opcja dla nieczęstych, sporadycznych lub nieprzewidywalnych obciążeń.

Trochę technicznej wiedzy
Aurora Serverless jest dostępna tylko dla Aurory z kompatybilnością MySQL 5.6. Bazę Aurora Serverless możemy sobie postawić w każdym regionie, gdzie teraz jest dostępna Aurora. Pojawia się nowa jednostka podczas tworzenia tej bazy, nazywa się Amazon Aurora Capacity Unit (ACU) i dzięki temu możemy wyznaczyć minimalne i maksymalne potrzeby. Każdy ACU ma około 2 GB pamięci z odpowiednimi zasobami procesora i sieci, które są podobne do wyposażonych instancji Aurory, maksymalnie można sobie przypisać 256 ACU, czyli ponad 400 GB RAMu. Jeśli ustawimy sobie taki przedział, gdy nie wiemy jak ta aplikacja będzie się zachowywała, ilu będzie użytkowników i jaki będzie ruch, to Aurora będzie nam się automatycznie skalować w górę i w dół, w zależności od ruchu, jaki będzie przechodził do bazy danych przez aplikację. Dodatkowo, jeśli tego ruchu nie będzie w ogóle, nie trzeba płacić za zasoby i Aurora się zatrzyma automatycznie i można ustawić, po jakim czasie od ostatniego zapytania do bazy danych Aurora ma się wygasić. Aby nie działo się to co chwilę, możemy zaplanować, ile chcemy poczekać od ostatniego zapytania do zatrzymania. Można to sprawnie zaplanować obserwując ruch, jaki pojawia się w aplikacji. Jeśli tego nie wiemy, to pozostaje metoda prób i błędów. Główną zaletą tego rozwiązania jest fakt, że nie płacimy, gdy nie używamy bazy i nie ma klientów.
ACU są naliczane sekundowo według stałej stawki 0,06 USD za godzinę. Chociaż naliczana jest tylko opłata za sekundę użytkowania, za każdym razem, gdy baza danych jest aktywna, naliczane są co najmniej 5 minut. Istnieje również minimalna obsada 2 ACU (z 4 GB pamięci). Można przeskalować do maksymalnie 256 ACU z około 488 GB pamięci. Jeśli chcemy używać Aurorę działającą 24 godziny na dobę przy 2 ACU, kosztowałoby to 2,88 $ (0,06 $ * 2 * 24) dziennie (lub około 86 $ miesięcznie).

Dla kogo i jakich zastosowań rekomendujemy to rozwiązanie?

Jest to bardzo ważna funkcjonalność dla firm, dająca oszczędności, ponieważ kiedy mamy opcję automatycznego skalowania i dopasowywania zasobów do potrzeb, to nie przepłacamy za zasoby i funkcjonalności.

  • dla małych klientów, których aplikacja/serwis są używane tylko kilka minut kilka razy dziennie lub tygodniowo (na przykład niewielka strona blogowa),z Aurora Serverless płaci się tylko za zużyte zasoby bazy danych,
  • dla prowadzenia testów,
  • dla infrastruktur, które są podzielone na mniejsze usługi, gdy usługa nie korzysta w danej chwili z tej bazy, to można ją z bazy wyłączyć automatycznie, na potrzeby generowania złożonych raportów,
  • dla dużych klientów, którzy nie wiedzą, ile tak naprawdę ruchu wygenerują (i chcą przerzucić odpowiedzialność na AWS’a).

Korzyści
Prostota
Usuwa złożoność zarządzania instancjami i pojemnością bazy danych. Baza danych automatycznie uruchomi się, zamknie i zeskaluje, aby dopasować się do potrzeb aplikacji.

Skalowalność
Płynne skalowanie mocy obliczeniowej i pamięci w razie potrzeby bez zakłócania połączeń z klientami.

Efektywność kosztowa
Płatność tylko za zużyte zasoby bazy danych na sekundę.

Wysoka dostępność
Zbudowana na rozproszonym, odpornym na awarie, samonaprawiającym się magazynie Aurora z 6-krotną replikacją w celu ochrony przed utratą danych.

Amazon Aurora Parallel Query GA

Jedna z najnowszych opcji Aurory to funkcja bazy danych Amazon Aurora, która zapewnia szybsze zapytania analityczne operujące na bieżących danych, bez konieczności kopiowania danych do osobnego systemu. Optymalizator zapytań Aurora automatycznie decyduje, czy użyć Parallel Query dla każdego konkretnego zapytania, w oparciu o oczekiwane zyski wydajności. Parallel Query wykorzystuje unikalną architekturę Aurory do przesyłania i równoległego przetwarzania zapytań na tysiącach procesorów w warstwie sprzętowej Aurora. To pozwala nawet dwukrotnie przyspieszyć szybkość wykonania takiego zadania, wykorzystując moc obliczeniową sprzętu fizycznego zarządzanego przez Amazona, na którym zainstalowana jest Aurora. Zmniejszone jest zużycie procesora i pamięci na naszej bazie, obciążenie sieci, natomiast zwiększona jest wydajność operacji wejścia / wyjścia (IOPS). Co ważne – ta opcja jest dostępna w wersji dla Aurory z kompatybilnością MySQL 5.6. Podobnie, jak w przypadku innych konfiguracji Aurory, płacimy za faktyczne używane wejścia / wyjścia.

Amazon EKS

Usługa Amazon Elastic Container Service dla Kubernetes (Amazon EKS) ułatwia wdrażanie, zarządzanie i skalowanie kontenerowych aplikacji za pomocą Kubernetes na AWS. Dostępna jest w regionach AWS w Azji i Pacyfiku (Singapur, Mumbaj, Sydney, Tokio), w Europie (Frankfurt, Londyn, Paris). AWS opublikowało umowę o poziomie usług (SLA) dla usługi (EKS) , która zapewnia gwarancje dostępności dla Amazon EKS.

Korzyści

Łatwe zarządzanie
Amazon EKS uruchamia infrastrukturę zarządzania Kubernetes w wielu strefach dostępności AWS, automatycznie wykrywa i zastępuje uszkodzone węzły kontrolne oraz zapewnia uaktualnienia i poprawki na żądanie. Po prostu zapewnia węzły robocze i łączy je z podanym punktem końcowym Amazon EKS.

Bezpieczeństwo
Bezpieczne i szyfrowane kanały komunikacyjne są automatycznie konfigurowane między węzłami roboczymi a zarządzaną płaszczyzną kontrolną, dzięki czemu infrastruktura działająca w usłudze Amazon EKS jest domyślnie zabezpieczona.

Wsparcie społeczności
AWS aktywnie współpracuje ze społecznością Kubernetes, włączając w to wkład do bazy kodu Kubernetes, która pomaga użytkownikom Amazon EKS korzystać z usług i funkcji AWS.

Kompatybilność
Amazon EKS uruchamia upstream Kubernetes i jest certyfikowanym koncesjonariuszem Kubernetes, więc aplikacje zarządzane przez Amazon EKS są w pełni kompatybilne z aplikacjami zarządzanymi przez dowolne standardowe środowisko Kubernetes.

AWS Storage Gateway Hardware Appliance

To hybrydowa usługa pamięci masowej, która umożliwia lokalnym aplikacjom bezproblemowe korzystanie z pamięci masowej w chmurze AWS. Możemy użyć tej usługi do tworzenia kopii zapasowych i archiwizacji, odzyskiwania po awarii, przetwarzania danych w chmurze, tworzenia warstw pamięci i migracji. Usługa ta pomaga zmniejszyć i uprościć centrum danych oraz infrastrukturę pamięci masowej odgałęzionej lub zdalnej.
Do korzystania z usługi można użyć dwóch punktów dostępu: konsoli zarządzania AWS i bramy dostępnej jako maszyna wirtualna (VM) lub jako fizyczne urządzenie sprzętowe.
Obecnie AWS udostępnia Storage Gateway jako urządzenie sprzętowe, dodając do istniejącej obsługi VMware ESXi, Microsoft Hyper-V i Amazon EC2. Oznacza to, że można teraz korzystać z bramy pamięci masowej w sytuacjach, gdy nie mamy wirtualnego środowiska, sprzętu klasy serwerowej lub personelu IT o wyspecjalizowanych umiejętnościach, które są potrzebne do zarządzania nimi. Możemy zamówić urządzenia z Amazon.com, do naszego Data Center. Urządzenie sprzętowe AWS Storage Gateway jest oparte na specjalnie skonfigurowanym serwerze Dell EMC PowerEdge R640, który jest wstępnie załadowany oprogramowaniem AWS Storage Gateway. Posiada 2 procesory Intel® Xeon®, 128 GB pamięci, 6 TB użytecznej pamięci SSD do lokalnie buforowanych danych, redundantne zasilacze.
AWS Storage Gateway oferuje oparte na plikach, wolumenach i taśmach rozwiązania do przechowywania danych:
File Gateway – interfejs plików do Amazon S3, dostępny przez NFS lub SMB. Pliki są przechowywane jako obiekty S3, co umożliwia korzystanie ze specjalnych funkcji S3, takich jak zarządzanie cyklem życia i replikacją między regionami.
Volume Gateway – woluminy magazynowane w chmurze, dostępne jako lokalne woluminy iSCSI. Bramki można skonfigurować tak, aby lokalnie buforowały dane często odwiedzane lub aby lokalnie przechowywać pełną kopię wszystkich danych. Można tworzyć migawki EBS woluminów i używać ich do odzyskiwania po awarii lub migracji danych.
Tape Gateway – wirtualna biblioteka taśmowa (VTL) oparta na chmurze, dostępna za pośrednictwem iSCSI, dzięki czemu można zastąpić lokalną infrastrukturę taśmową bez zmiany przepływu pracy kopii zapasowej.

AWS System Manager Session Manager

To w pełni zarządzalna funkcja menedżera systemów AWS, która pozwala zarządzać instancjami Amazon EC2 za pośrednictwem interaktywnej powłoki opartej na przeglądarce lub z interfejsu AWS. Session Manager zapewnia bezpieczne i kontrolowane zarządzanie instancjami bez potrzeby otwierania portów przychodzących, utrzymywania hostów bastionowych lub zarządzania kluczami SSH. Menedżer sesji ułatwia również przestrzeganie zasad firmy, które wymagają kontrolowanego dostępu do instancji, rygorystycznych praktyk bezpieczeństwa i w pełni audytowalnych dzienników z informacjami o dostępie do instancji. Teraz dzięki Session Manager’owi nie potrzebujemy już używać hostów bastionowych, bo możemy się dostać do takiego serwera podsieci prywatnej, nawet niedostępnych z Internetu, bezpośrednio z konsoli AWS’owej, albo jest opcja zrobienia tego przez interfejs CLI, czyli tak, jakbyśmy robili to przez usługę SSH, ale za pomocą plugin’u do interfejsu CLI. Ta funkcja wymaga zainstalowania agenta AWS Systems Manager Session Manager na serwerach. Działa dla Windows i Linux.

Amazon Data LifeCycle Manager for EBS snapshots

Jest to rozszerzenie, które przyspiesza pracę i ułatwia zarządzanie backup’ami wolumenów Amazon EBS, całym ich cyklem życia. Czyli tworzymy sobie kilka łatwych, podstawowych polityk, które używamy np.: backup codzienny z retencją siedmiodniową; backup codzienny, ale z retencją roczną, ponieważ te dane są bardziej ważne i np. ustawodawca wymusza na nas, by te dane były trzymane rok lub dłużej. Tagujemy tego typu backup’y i w ciągu kilku sekund w razie potrzeby korzystamy z tych tagów, wrzucamy podczas życia całej naszej infrastruktury aplikacji w AWS’ie, dodajemy jeden tag, który nam zajmuje kilka sekund i mamy pewność, że te backup’y będą w odpowiedni sposób tworzone i dodane bezpiecznie.

SMB file shares for AWS File Gateway

Kolejna drobna funkcjonalność, która ułatwia użytkownikom Microsoft Active Directory (AD) przechowywanie i dostęp do danych. Do przetestowania dla osób, które korzystają lub planują korzystać z rozwiązań usługi katalogowej w AWS’ie.

Provisioned Throughput for Amazon EFS

Mała funkcjonalność, która pozwala zoptymalizować przepustowość dla potrzeb wydajności aplikacji. Wcześniej szybkość odczytu i zapisu danych zależała tylko i wyłącznie od jednej wartości: od wielkości dysku, jaki był zakupiony w Amazonie w EFS’ie (Elastic File System), czyli w pewnych przypadkach, gdy danych było mało, ale wymagana była większa ilość wejścia/wyjścia danych na sekundę (IOPS), żeby zapisywać, odczytywać te dane, to trzeba było wykupić większy dysk. W tej chwili, żeby w łatwiejszy sposób zarządzać tym, jak szybko te dane mają być zapisywane i odczytywane został dodany nowy prosty suwak, gdzie jest możliwość ustalenia niezależnie od wielkości dysku EFS’owego informacji, ile tych operacji IOPS będziemy potrzebować, czyli można spokojnie np. przy bardzo małych dyskach uzyskać bardzo szybkie odczyty i zapisy. Dzięki Provisioned Throughput użytkownik będzie rozliczany osobno za ilość wykorzystanego miejsca i za udostępnioną przepustowość ponad to, do czego ma prawo, domyślnie za pomocą trybu Amazon EFS Bursting Throughput.

AWS Landing Zone

Jest to rozwiązanie, które pomaga klientom w szybszym konfigurowaniu bezpiecznego, wielodostępowego środowiska AWS opartego na najlepszych praktykach AWS. Oprócz tego, że to jest przewodnik, daje też możliwość wykorzystania szablonów, które partner/klient może sobie dostosować do własnych potrzeb. Usługa AWS Account Vending Machine (AVM), jest to zautomatyzowane w pełni tworzenie nowych kont: konto, które jest tworzone, jest automatycznie przypisywane do organizacji, do konkretnej jednostki organizacyjnej (OU), tworzone są podstawowe ustawienia dla tego konta, jeśli chodzi o bezpieczeństwo, sieć, itd. To wszystko można zautomatyzować za pomocą Landing Zone. Najlepszą praktyką jest tworzenie dla każdej funkcjonalności osobnego konta, np.. konto dedykowane dla bezpieczeństwa, do zbierania backup’ów, zbierania logów, tworzenia backup’ów. Oczywiście to zależy od rozmiaru organizacji, rozmiaru infrastruktury, jaką zarządzamy na AWS’ie, ale dla większych środowisk, jest to jedna z rekomendowanych ścieżek i właśnie Landing Zone tworzy takie środowisko w sposób zautomatyzowany.

Zwróćmy uwagę, że jest to również ciekawe rozwiązanie dla małych i średnich firm, ponieważ dobrą praktyką jest posiadanie osobnych kont dla poszczególnych środowisk. Czyli jeśli mamy środowisko produkcyjne, jakieś testowe, deweloperskie, dobrze jest to zrobić na osobnych kontach, żeby ominąć software’owe i hardware’owe limity, jak również zwiększyć poziom bezpieczeństwa, żeby przypadkiem ktoś na produkcji nie skasował czegoś, co miało być usunięte tylko w jakiejś wersji deweloperskiej. Jest to dobre rozwiązanie dla tego typu klientów, których i my mamy jako Hostersi – gdzie klienci naszych klientów nalegają, aby ich konto było osobne, uniezależnione od konta innych klientów. Przy niektórych środowiskach tego typu narzędzie ułatwia tworzenie kolejnych kopi środowiska dla kolejnego klienta.

Amazon EC2 T3 instances

Nowe typy instancji z rodziny T, czyli T3. Wspominamy o nich, ponieważ tak naprawdę od samego początku są bardzo popularne dla mniejszych i czasami nawet średnich projektów. Sama rodzina T jest dość stara, wystartowała w 2010 r. Pierwsze trzęsienie ziemi w rodzinie T to był zeszły rok, kiedy została uruchomiona opcja unlimited, czyli można było używać T2 w pełni produkcyjnej linii i nie martwić się o kredyty, które mogły się skończyć, bo zawsze mieliśmy opcję dopłacenia. Instancje T3 są wyposażone w procesor Intel Xeon Platinum 8000 (Skylake-SP) z rdzeniem procesora Turbo do 3,1 GHz i zapewniają do 30% poprawę wydajności w porównaniu do T2. Instancje T3 zapewniają obsługę nowego zestawu instrukcji Intel Advanced Vector Extensions 512 (AVX-512), oferując do 2x FLOPS na rdzeń w porównaniu z instancjami T2 poprzedniej generacji.
Instancje T3 są budowane na systemie AWS Nitro, bogatej kolekcji klocków, które odciążają wiele tradycyjnych funkcji wirtualizacji na dedykowany sprzęt. Dzięki temu system AWS Nitro zapewnia wysoką wydajność, wysoką dostępność i wysokie bezpieczeństwo, a także zmniejsza obciążenie wirtualizacyjne.

Jeżeli chodzi o kolejne zmiany w instancjach to warto zwrócić uwagę na R5 są dobrze dostosowane do aplikacji intensywnie wykorzystujących pamięć, takich jak wysokowydajne bazy danych dla potrzeb korporacyjnych. R5d mają pamięć lokalną, oferując do 3,6 TB dysków SSD opartych na NVMe.

Z1 to z kolei nowa rodzina instancji, która ma specjalną wersję procesora Intel Xeon® Scalable z utrzymywaną częstotliwością rdzenia do 4.0 GHz, najszybszą instancją w chmurze. Instancje Z1d są dostępne w 7 różnych rozmiarach, w tym w wersji bare metal, i zapewniają do 48 procesorów wirtualnych i obsługują interfejs (NVMe) SSD 2 x 900.

Instancje X1E oferują najwyższą pamięć na vCPU wśród typów instancji Amazon EC2 i jedną z najniższych cen za GB pamięci. Instancje X1e są zasilane przez cztery procesory Intel Xeon E7 8880 v3, które oferują dużą przepustowość pamięci i większe pamięci podręczne L3 w celu zwiększenia wydajności aplikacji w pamięci. Podstawowa instancja x1e.xlarge (4 vCPU, 120 GB RAM, 120 SSD), a najwyższa x1e.32xlarge (128 vCPU, 3,8TB RAM, 2x 1,8TB SSD) – czyli potwór. Ten typ instancji jest wykorzystywany głównie do instalacji SAPa, a tak dokładniej bazy danych HANA na AWS’ie.

Optimize CPUs for Amazon EC2

Polecamy uwadze ciekawy sposób na obniżenie kosztów. Amazon dostarcza olbrzymią ilość rodzin instancji, np. c5 m4, t3. W każdej z tych rodzin mamy kilka, czasami kilkanaście różnych instancji EC2 (Amazon Elastic Compute Cloud), które możemy dobrać jak najlepiej do naszych potrzeb. Mimo tak dużej ilości instancji, może się zdarzyć taka sytuacja, że nie da się dobrać idealnie ilości rdzeni procesora, pamięci RAM, dysków do naszych potrzeb. Dlatego Amazon wpadł jeszcze na jeden pomysł, żeby móc jeszcze bardziej obniżać koszty, przede wszystkim dla infrastruktur, czy aplikacji korzystających z aplikacji wymagających dodatkowych licencji, czyli np. baz danych takich jak Oracle czy Microsoft SQL, gdzie koszty licencji są bardzo wysokie i często bazują na ilości rdzeni, na których działa nasza aplikacja. Mamy instancję 10 rdzeniową a paczka licencyjna zawiera tylko 8 licencji, więc żeby wszystko było legalne musimy dokupić kolejną paczkę licencyjną w ilości 8 licencji, co generuje koszty i niewykorzystanie tych 6 licencji. AWS dostrzegł ten problem i zamiast wymuszać na nas zakup kolejnych licencji, daje nam możliwość wyłączenia tych dwóch rdzeni. Oprócz tego, że możemy wyłączać rdzenie, jest też opcja wyłączenia Hyper-Threading.

AWS Lambda, AWS SQS

Kolejna mała funkcjonalność do Lambdy, ułatwiająca pracę programistom poprzez wykorzystanie do przetwarzania wiadomości w standardowej kolejce Amazon Simple Queue Service (Amazon SQS). Dzięki Amazon SQS można odciążyć zadania z jednego komponentu aplikacji, wysyłając je do kolejki i przetwarzając je asynchronicznie.

Lambda sonduje kolejkę i wywołuje funkcję synchronicznie ze zdarzeniem, które zawiera wiadomości kolejkowe. Lambda odczytuje wiadomości partiami i wywołuje funkcję raz dla każdej partii. Gdy funkcja pomyślnie przetwarza partię, Lambda usuwa swoje wiadomości z kolejki.

Amazon ElastiCache dla funkcji Redis

Jest to zgodna z Redis usługa struktury danych w pamięci, która może być używana jako magazyn danych lub pamięć podręczna.
ElastiCache dla Redis łączy szybkość, prostotę i wszechstronność oprogramowania Redis typu open source z łatwością zarządzania, bezpieczeństwem i skalowalnością firmy Amazon w celu zasilania najbardziej wymagających aplikacji w czasie rzeczywistym w grach, technologiach reklamowych, handlu elektronicznym, opiece zdrowotnej, usługach finansowych czy IoT.

Share Your Directory AWS Managed Microsoft AD

Jest to usługa, która ściśle integruje się z jednostkami organizacyjnymi AWS, aby umożliwić bezproblemowe udostępnianie katalogów na wielu kontach AWS. Możemy udostępnić jeden katalog innym zaufanym kontom AWS w tej samej organizacji. Możemy też udostępnić katalog innym kontom AWS, które znajdują się poza naszą organizacją.

14 usług AWS, które musisz znać w 2019 roku. Podsumowanie

Amazon Web Services to zestaw nieustannie rozwijanych usług chmurowych, które ciągle ewoluują, a ich katalog jest coraz dłuższy. Hostersi, jako Advanced Consulting Partner i reseller AWS, bacznie spoglądają na dynamiczny rozwój AWS i dbają, aby projektowane infrastruktury były zawsze up-to-date, zgodnie ze standardami Well-Architected. Jeśli zastanawiasz się, które usługi AWS należałoby wybrać, projektując infrastrukturę lub masz jakieś wątpliwości, to chętnie wskażemy drogę najlepszych praktyk w zakresie architektur chmurowych.

 

 

 

 

Zobacz również:

Jak używać pliku stanu zdalnego remotestate w środowisku Terraform?

Rewolucja w bezpiecznych połączeniach VPN z WireGuard

Chmura obliczeniowa nie taka straszna. Wprowadzenie do Amazon Web Services

Tworzenie nowego konta AWS i zasobów przy użyciu opcji multiple provider w środowisku Terraform

Skąd się bierze wysoka dostępność (HA) w chmurze?