Chmura AWS nadal utrzymuje swoją dominującą pozycję, zarówno pod względem jakości, jak i zakresu oferowanych usług. W rezultacie, wiele wartościowych rozwiązań może umknąć uwadze w gąszczu dostępnych opcji.
Tempo rozwoju AWS jest niezwykle szybkie, trudne do ogarnięcia nawet dla doświadczonych specjalistów. Eksperci przyznają, że znają jedynie ułamek możliwości platformy. Choć bogactwo opcji jest korzystne, niesie ze sobą ryzyko przeoczenia naprawdę interesujących i użytecznych propozycji.
Powodem tego stanu rzeczy może być specyfika zastosowań niektórych usług, które kierowane są do węższego grona odbiorców, lub też brak intensywnej promocji tych rozwiązań w ramach strategii ekspansji Amazona.
Ten artykuł ma na celu przybliżenie pięciu takich mniej znanych, a wartościowych ofert AWS.
Bardzo możliwe, że dotąd o nich nie słyszałeś, a istnieje spora szansa, że w przyszłości nadal pozostaną w cieniu. Te nieoczywiste usługi, choć niezwykle użyteczne i opłacalne, nie są powszechnie znane.
Lightsail
Jednym z czynników, które utrudniały AWS zdobycie popularności w mniejszych wdrożeniach, poza kosztami, była jego złożoność.
Dokumentacja AWS jest tak obszerna i skomplikowana, że zrozumienie konkretnej usługi po weekendzie studiów można uznać za sukces. Dla większości z nas AWS kojarzy się z przytłaczającym poziomem skomplikowania. Nawet wyliczenie miesięcznych kosztów usługi wymaga sporego wysiłku intelektualnego i potrafi przyprawić o ból głowy. Dlatego też mniejsze wdrożenia są często domeną takich dostawców jak DigitalOcean, Kamatera czy Linode, gdzie uruchamia się instancję o stałym koszcie i nie trzeba się o nic więcej martwić.
Jednak AWS ma na to odpowiedź.
Podobnie jak wiele innych nieflagowych produktów AWS, Lightsail działa po cichu, starając się umknąć uwadze. Jest dedykowany programistom, którzy korzystają z VPS, i ma stanowić pomost do pełnowymiarowej platformy AWS. Lightsail oferuje wszystkie kluczowe funkcje, których można oczekiwać od tego typu dostawcy:
Przejrzyste i przewidywalne ceny
Lightsail oferuje VPS w cenach od 3,50 USD za 512 MB RAM do 160 USD/miesiąc za 32 GB RAM i 8-rdzeniowy procesor. Wykorzystanie przepustowości jest jasno określone i całkiem hojne, od 1 TB do 7 TB, w zależności od planu. Innymi słowy, jeśli płacisz 10 USD miesięcznie za Lightsail, tyle właśnie zapłacisz.
Idealne środowisko dla DevOps
Lightsail posiada szereg funkcji DevOps, które stały się standardem wśród dostawców usług chmurowych. Znajdziemy tu load balancery, zarządzane bazy danych, pamięć masową obiektów oraz wstępnie skonfigurowane serwery dla popularnych aplikacji webowych. Możemy wdrożyć jednym kliknięciem środowisko dla Node.js, Laravel i wielu innych.
Pełna integracja z AWS
Chociaż Lightsail jest odrębną usługą, pozostaje częścią ekosystemu AWS. Dzięki peeringowi VPC możemy korzystać z innych usług AWS, pracując w Lightsail.
Lightsail można bezproblemowo zaktualizować do EC2, gdy Twoje potrzeby wzrosną, a Ty będziesz gotowy na bardziej zaawansowane rozwiązania. Można przypuszczać, że taki był zamysł Amazona przy tworzeniu Lightsail. Biorąc jednak pod uwagę wysoką jakość tej usługi, trudno znaleźć powód do narzekań!
Neptune
Kolejnym, mało znanym elementem ekosystemu AWS jest Neptune. To wysoce dostępna, w pełni zarządzana baza danych grafów. Jest to stosunkowo nowa usługa, która prawdopodobnie pozostanie niszowa z dwóch powodów: z powodu dużej liczby usług dostępnych w AWS oraz ze względu na specyficzne zastosowanie baz danych grafowych.
Dla tych, którzy nie są zaznajomieni z tematem, grafowe bazy danych stanowią podkategorię baz danych NoSQL, które przechowują i przetwarzają dane w formie grafu. Doskonale sprawdzają się w aplikacjach, w których elementy mają wiele powiązań, szczególnie gdy te relacje posiadają różne wartości. Dobrymi przykładami zastosowań dla baz danych grafowych są wyszukiwarki, serwisy społecznościowe czy systemy rekomendacji.
Jeśli korzystasz lub planujesz korzystać z zarządzanych baz danych AWS, takich jak Aurora czy DynamoDB i potrzebujesz grafowej bazy danych, Neptune jest idealnym wyborem!
Snowball
Następną usługą na naszej liście jest zaskakująca propozycja – sprzętowa!
Amazon Snowball to klasyczne (choć bardzo efektywne) rozwiązanie, gdy musisz przetwarzać ogromne ilości danych.
Aby docenić wartość tej niepozornej usługi, zastanów się, ile danych Twoje serwery muszą przesyłać w ciągu dnia. Jeśli jesteś podobny do mnie, to prawdopodobnie będzie to kilka MB. W takim przypadku rzadko zwracamy uwagę na transfer danych, ponieważ szybkość łącza internetowego jest wystarczająca. Jednak niektóre firmy muszą przesyłać kilka GB na godzinę lub nawet kilka PB dziennie. W takim przypadku, zamiast zmagać się z transferem danych, prawdopodobnie zmieniłbym pracę!
Snowball został stworzony, aby rozwiązać takie problemy.
Działa to w następujący sposób: zamawiasz urządzenie Snowball od Amazona, które zostaje do Ciebie wysłane. Podłączasz je do swoich systemów i zapisujesz na nim duże ilości danych przez noc. Gdy proces zostanie zakończony, informujesz Amazon, który odbiera urządzenie i transportuje je do centrum danych, a wszystkie dane zostaną przesłane na Twoje konto S3.
Najlepsze w tym wszystkim jest to, że urządzenie Snowball jest bardzo wydajne, obsługuje wiele protokołów i jest zabezpieczone przed nieautoryzowanym dostępem. Jeśli więc pracujesz z naprawdę dużymi ilościami danych, zwłaszcza do archiwizacji, Snowball jest rozwiązaniem dla Ciebie!
Trusted Advisor
Mimo dość zwyczajnej nazwy, Trusted Advisor to niezwykle przydatna usługa, jeśli intensywnie korzystasz z AWS.
Trusted Advisor to narzędzie, które pomaga w projektowaniu nowej infrastruktury, optymalizacji istniejącej oraz w przeprowadzaniu audytów bezpieczeństwa wdrożeń AWS. Biorąc pod uwagę, jak trudne jest ręczne wykonanie takich zadań, nawet na jednym serwerze, Trusted Advisor jest jednym z mniej znanych skarbów w ofercie AWS.
Brzmi to nieco abstrakcyjnie, dlatego przyjrzyjmy się kilku konkretnym przykładom zastosowań Trusted Advisor.
Optymalizacja EC2
Trusted Advisor może skanować działające instancje EC2 i identyfikować przypadki niskiego wykorzystania procesora i sieci. Dzięki temu możemy zoptymalizować zużycie zasobów, redukując liczbę instancji w okresach niższego obciążenia, co prowadzi do obniżenia rachunków AWS. Samodzielne zebranie tych informacji byłoby trudne.
Bezpieczeństwo S3
Liczba incydentów związanych z niewłaściwymi uprawnieniami S3 jest zatrważająca. Często firmy nieumyślnie upubliczniają zasobniki S3, co prowadzi do wycieku wrażliwych danych.
Teoretycznie, rozwiązanie jest proste: odpowiednie zarządzanie uprawnieniami S3, ale łatwo o błędy. Szczególnie w projektach, które trwają już dłuższy czas, a ktoś przypadkowo zmieni ustawienia bezpieczeństwa na potrzeby testów i zapomni je przywrócić. Dzięki Trusted Advisor takie sytuacje zostaną wykryte i natychmiast zgłoszone.
Te dwa przykłady to tylko wierzchołek góry lodowej możliwości Trusted Advisor. Ponieważ wiele z tych analiz jest dostępnych bezpłatnie, warto skorzystać z tej usługi, bez względu na rozmiar Twojej infrastruktury AWS.
AWS X-Ray
Mikroserwisy są chętnie promowane przez ewangelistów i menedżerów, którzy zachwycają się ich korzyściami i nie muszą ich implementować. Dla programistów, mikroserwisy to jednak koszmar architektury i debugowania. Trudno jest śledzić wiadomości przesyłane między usługami i często nie wiadomo, dlaczego coś nie działa lub dlaczego wiadomość została utracona.
Problem narasta, gdy zaangażowanych jest wiele usług. Liczba możliwych interakcji jest ogromna, a śledzenie ich staje się bardzo trudne. Spójrz na poniższy diagram mikrousług i wyobraź sobie, że musisz prześledzić ten chaos.
Na szczęście, dzięki X-Ray, AWS oferuje narzędzie, które znacząco upraszcza debugowanie mikrousług. X-Ray automatycznie zbiera logi żądań z każdej wdrożonej usługi, grupuje je według usługi i łączy z innymi informacjami, takimi jak opóźnienie i przepustowość, aby przedstawić kompleksowy obraz tego, co dzieje się w Twoim systemie.
X-Ray działa zarówno w architekturze mikroserwisowej, jak i bezserwerowej. Należy pamiętać, że nie jest dostępny we wszystkich usługach AWS (w chwili pisania tego artykułu tylko Amazon EC2, Amazon EC2 Container Service (Amazon ECS), AWS Lambda i AWS Elastic Beanstalk) i obsługiwane są tylko trzy języki/środowiska programowania: Java, .NET i Node.js. Dzieje się tak, ponieważ X-Ray musi bezpośrednio współpracować z Twoim kodem, co wymaga dużego wysiłku programistycznego po stronie Amazona.
Jestem jednak przekonany, że wkrótce lista obsługiwanych języków się powiększy. Osobiscie spodziewam się szybkiego wsparcia dla Go, Scala, Kotlin i w późniejszym czasie dla języków interpretowanych.
Podsumowanie
W tym artykule chciałem pokazać, że AWS to coś więcej niż tylko EC2, ELB, RDS i S3. Oprócz infrastruktury oferuje on wiele narzędzi wsparcia, w których AWS szybko się wyróżnia. Rzadko słyszymy o tych usługach, ponieważ Amazon nie ma możliwości, aby promować je wszystkie – w chwili pisania tego artykułu istnieje blisko 100 ofert AWS!
W związku z tym jest mało prawdopodobne, że usłyszysz o tych usługach na konferencji branżowej lub znajdziesz o nich książkę czy kurs. Najlepszym rozwiązaniem jest śledzenie oficjalnych ogłoszeń AWS, aby być na bieżąco z nowymi usługami, które mogą ułatwić Ci życie!
Jeśli chcesz dowiedzieć się więcej o AWS, zajrzyj na Udemy, gdzie znajdziesz setki kursów online na wybrane tematy.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.