Zwiększ swoją produktywność dzięki usługom internetowym Amazon
Opublikowany: 2022-03-11W ciągu ostatnich kilku lat najgorętszym słowem na ustach wszystkich było „produktywność”. W szybko zmieniającym się świecie Internetu szybkie wykonanie czegoś zawsze zyskuje na popularności. Pomimo konieczności szybkiego i dokładnego zaimplementowania prawdziwej logiki biznesowej, jako doświadczony programista PHP nadal spędzałem setki godzin na innych zadaniach, takich jak konfigurowanie bazy danych lub pamięci podręcznych, wdrażanie projektów, monitorowanie statystyk online i tak dalej. Wielu programistów od lat zmaga się z tak zwanymi różnymi zadaniami, marnując czas zamiast skupiać się na logice projektu.
Moje życie zmieniło się, gdy cztery lata temu przyjaciel wspomniał o Amazon Web Services (AWS). Otworzyło to nowe drzwi i doprowadziło do ogromnego wzrostu produktywności i jakości projektu. Wszystkim, którzy nie korzystali z AWS, zapraszamy do przeczytania tego artykułu, który z pewnością okaże się wart swojego czasu.
Tło AWS
Amazon Web Services został oficjalnie uruchomiony w 2006 roku. Wiele osób słyszało o nim, ale prawdopodobnie nie wie, co może zaoferować. Tak więc pierwsze pytanie brzmi: Co to jest AWS?
Amazon Web Services (AWS) to zbiór usług przetwarzania w chmurze, zwanych również usługami sieciowymi, które tworzą platformę przetwarzania w chmurze oferowaną przez Amazon.com.
Wikipedia
Z tej definicji wiemy dwie rzeczy: AWS jest oparty na chmurze, a AWS to zbiór usług, a nie pojedyncza usługa. Ponieważ to niewiele mówi, moim zdaniem, dla początkującego lepiej zrozumieć AWS jako:
- AWS to zbiór usług w chmurze, jak mówi definicja.
- AWS zapewnia szybkie zasoby obliczeniowe online (na przykład potrzebujesz 10 minut na skonfigurowanie serwera Linux).
- AWS oferuje przystępne opłaty.
- AWS zapewnia łatwe w użyciu usługi, co pozwala zaoszczędzić mnóstwo czasu na ręczne konfigurowanie bazy danych, pamięci podręcznej, pamięci masowej, sieci i innych usług infrastrukturalnych.
- AWS jest zawsze dostępny i wysoce skalowalny.
Oczywiście, korzystanie z AWS ma o wiele więcej zalet, więc przyjrzyjmy się, jak może zwiększyć Twoją produktywność.
Utwórz konto AWS za darmo
Aby zacząć korzystać z dowolnej usługi, musisz mieć konto. Założenie konta w AWS powinno zająć nie więcej niż pięć minut. Upewnij się, że masz pod ręką następujące informacje:
- Adres e-mail, który służy do otrzymywania wiadomości e-mail z potwierdzeniem.
- Karta kredytowa, która nie zostanie obciążona, ponieważ proces konfiguracji jest zawsze bezpłatny.
- Numer telefonu, który otrzyma automatyczne połączenie systemowe w celu identyfikacji użytkownika
Otóż to. Po przygotowaniu powyższych informacji odwiedź stronę internetową AWS i utwórz konto, postępując zgodnie z prostymi instrukcjami.
Zwróć uwagę na następujące kwestie:
- Większość usług AWS oferuje co miesiąc mnóstwo bezpłatnych zasobów poziomu. Oznacza to, że testowanie AWS zazwyczaj kosztuje niewiele lub nic.
- Z mojego doświadczenia wynika, że numer telefonu i inne dane osobowe nie zostały nadużyte
Uzyskaj pierwszą konfigurację serwera EC2
Jedną z zalet usługi w chmurze jest możliwość uzyskania współdzielonych zasobów na żądanie. Amazon zapewnił użytkownikowi cztery poziomy usług, aby uzyskać dostęp do swoich usług, wymienione w kolejności łatwości:
- Konsola Zarządzania,
- Narzędzie wiersza poleceń,
- SDK,
- RESTful API.
W tym artykule będziemy używać Konsoli Zarządzania. Tak więc po zalogowaniu się do konsoli zobaczysz taki ekran jak poniżej:
Należy zwrócić uwagę na dwa obszary:
- W prawym górnym rogu znajdziesz selektor regionu. AWS świadczy usługi w 11 różnych regionach świata i wciąż się rozwija. Wybierz region jako swój wybór lub pozostaw go domyślnie na wschodnie stany USA (Płn. Wirginia). Różne regiony mogą różnić się cenami, o czym należy pamiętać w miarę wzrostu użytkowania.
- Większość ekranu wypełniona jest listą usług. W tej sekcji omówimy EC2. Rzuć okiem na to, co zapewnia AWS. Nie martw się, jeśli nie mają sensu, wszystkie usługi będą działać samodzielnie. Jednak uzyskasz większą produktywność, używając ich kombinacji.
Najbardziej podstawową potrzebą zasobu w chmurze jest serwer wirtualny. EC2 lub Elastic Compute Cloud, to nazwa wybrana przez Amazon dla swojej usługi serwera wirtualnego. Przyjrzyjmy się, jak łatwo jest uruchomić serwer linuksowy online.
- W konsoli zarządzania EC2 rozpocznij proces uruchamiania jak poniżej:
- Wybierz obraz maszyny (w skrócie AMI), aby rozpocząć. To jest system operacyjny, który będzie obsługiwał twoją maszynę. Wybierz dowolny system według własnych preferencji. Polecam zacząć od Amazon Linux, który używa
yum
do zarządzania pakietami:
- Następnie wybierz typ wystąpienia. Można to rozumieć jako specyfikację sprzętową serwera wirtualnego. Możesz zacząć od t2.micro , ponieważ będziesz mieć 750 godzin bezpłatnego użytkowania każdego miesiąca z tą instancją przez pierwszy rok. Pamiętaj , że jest to ważne tylko przez pierwszy rok od daty rejestracji i tylko w przypadku wystąpienia t2.micro . To dobra okazja, jeśli chcesz tylko posmakować AWS.
- Dzięki możliwości bardziej szczegółowej konfiguracji serwera możesz go uruchomić. Przy pierwszym użyciu EC2 zobaczysz ekran podobny do tego poniżej. Ostrzeżenie o bezpieczeństwie mówi nam, jak bardzo Amazon kładzie nacisk na aspekt bezpieczeństwa. Możemy jednak zignorować to ostrzeżenie, dopóki nie odwiedzimy sekcji poświęconej usługom zarządzanym.
- Wreszcie, aby uzyskać dostęp do zdalnego serwera, potrzebujemy tożsamości. AWS poprosi nas o wybranie pary kluczy SSH, jak na poniższym obrazku. Pobierz plik klucza prywatności i kliknij przycisk uruchamiania. I tak, skończyliśmy; nowy serwer wirtualny jest konfigurowany i będzie gotowy za kilka minut.
- Gdy instancja jest gotowa, możesz zalogować się do systemu jako domyślny użytkownik
ec2-user
, używając swojego klucza prywatności.ec2-user
to domyślny AWS, który ma również możliwość sudo. Chociaż nie jest możliwa zmiana domyślnej nazwy użytkownika, możesz utworzyć dowolnego użytkownika i przypisać mu odpowiednie uprawnienia zgodnie ze swoimi preferencjami. Adres Twojego serwera znajdziesz tutaj:
Powyższy proces powinien zająć mniej niż pięć minut i tak łatwo możemy uruchomić i uruchomić serwer wirtualny. W kolejnej sekcji dowiemy się, jak AWS pomaga nam zarządzać właśnie utworzoną instancją.
Rozliczenia na żądanie
Większość zasobów AWS jest rozliczana w godzinach, co zapewnia dużą elastyczność. Na przykład, biorąc właśnie utworzoną instancję EC2, istnieją dwa sposoby na jej wyłączenie: zatrzymaj i zakończ. Obie czynności zatrzymają naliczanie opłat. Różnica polega na tym, że zatrzymując instancję, możemy ją ponownie uruchomić później z zapisaną całą naszą pracą. W przeciwieństwie do tego, zamykając instancję, oddajemy instancję AWS do recyklingu i nie ma możliwości odzyskania informacji. Konieczność zakończenia instancji wynika z domyślnego ustawienia przez AWS limitu 20 instancji na region na konto, a zatrzymana instancja nadal jest liczona do momentu jej zakończenia.
Możemy szybko zatrzymać instancję poprzez:
Kiedy zatrzymasz instancję EC2, Twój rachunek również przestanie rosnąć. Jest to szczególnie przydatne w następujących scenariuszach:
- Jeśli chcesz wypróbować coś nowego, jest to bardziej opłacalne, jeśli musisz zapłacić tylko za kilka godzin i prawdopodobnie nie przekroczysz poziomu bezpłatnego w przypadku niektórych usług.
- Gdy Twoja potrzeba obliczeniowa dotyczy wagi środowiska produkcyjnego. Na przykład w przeszłości musiałem rezerwować zasoby obliczeniowe, które zwykle są o 30-50 procent większe niż zużycie szczytowe. Dzięki AWS mogłem udostępniać zasoby w bardziej elastyczny sposób:
Informacje o cenach dla AWS są dostępne online. Po dokonaniu pewnych obliczeń możesz zadać pytanie: Czy AWS rzeczywiście jest tańszy? Mnożąc stawkę godzinową przez miesięczny czas, wygląda na to, że w ogóle nie jest konkurencyjna. Odpowiedź brzmi tak i nie.
AWS nie jest tańszy, jeśli po prostu obliczysz stawkę godzinową dla zasobu na żądanie w ciągu miesiąca. Jednak nadal mamy opcje rozliczeń za wystąpienia zarezerwowane, jak pokazano poniżej:
W przypadku minimalnych wymagań dotyczących zasobów możemy uzyskać rabat od 30 do 70 procent, korzystając z wystąpienia zarezerwowanego wraz z innymi różnymi zasobami rozliczanymi jako wystąpienie na żądanie. W praktyce będzie to od 30 do 40 procent tańsze przy rocznym zobowiązaniu, a nawet więcej przy trzyletnim zobowiązaniu z wykorzystaniem wystąpień zarezerwowanych. Dlatego zagłosuję „Tak” na powyższe pytanie. AWS jest jeszcze tańszy, jeśli uwzględnisz korzyści związane z bezpieczeństwem i monitorowaniem.
Usługi zarządzane
Jednym z celów AWS jest wyeliminowanie jak największej części kosztów operacyjnych. Tradycyjnie potrzebujemy dużego zespołu inżynierów systemowych do utrzymania bezpieczeństwa i kondycji naszej infrastruktury, zarówno online, jak i na miejscu. Doświadczone zespoły napiszą i wdrożą swoje zautomatyzowane narzędzia, aby uprościć proces. Jednak zarządzanie usługami również w praktyce staje się skomplikowanym projektem. AWS ratuje życie, pomagając nam zarządzać naszymi zasobami. Poniżej wymieniłem niektóre z najczęściej używanych usług świadczonych przez AWS:
- Grupa Bezpieczeństwa AWS,
- IAM, zarządzanie dostępem do tożsamości,
- CloudWatch,
- Oraz lista usług automatycznego wdrażania, takich jak OpsWorks (które nie zostaną omówione w tym artykule).
Grupa bezpieczeństwa AWS
Sposób, w jaki AWS obsługuje kontrolę dostępu do usług, odbywa się na dwóch osobnych warstwach. Na poziomie sieci osiąga się to za pomocą idei znanej jako „grupy bezpieczeństwa”. Wszystkie usługi AWS znajdują się w grupach bezpieczeństwa. A grupa bezpieczeństwa określa, kto może przejść. Biorąc naszą instancję EC2, AWS automatycznie stworzył dla nas grupę bezpieczeństwa:
Możemy zdecydować, co może wejść, a co może wyjść, konfigurując reguły ruchu przychodzącego/wychodzącego. Reguły TCP, UDP i ICMP są obsługiwane przez usługę EC2. Grupa bezpieczeństwa działa jak zewnętrzna zapora na poziomie sprzętowym i nigdy nie musimy myśleć o jej łataniu.
Kolejną zaletą korzystania z grupy zabezpieczeń jest to, że można ją ponownie wykorzystać. Jedna grupa zabezpieczeń może być współużytkowana przez wiele zasobów. W praktyce znacznie poprawia wydajność konserwacji, usuwając kłopoty z ustawianiem polityki bezpieczeństwa pojedynczo dla każdego zasobu. Ponadto udostępniany charakter grupy zabezpieczeń pozwala nam skonfigurować ją w jednym miejscu i zastosować tę politykę bezpieczeństwa do dowolnych innych zasobów, bez kłopotów z ręcznym ustawianiem, pojedynczo dla każdego zasobu.
Zarządzanie tożsamością i dostępem
AWS udostępnia inną metodę obsługi kontroli dostępu przy użyciu uprawnień. Jest to kontrola bezpieczeństwa na poziomie aplikacji, gdy potrzebujesz uzyskać dostęp do interfejsów RESTful. Każde żądanie REST musi być podpisane, aby AWS wiedział, kto uzyskuje dostęp do usługi. Ponadto, sprawdzając wstępnie skonfigurowaną listę zasad, AWS określi, czy akcja powinna zostać odrzucona, czy przepuszczona.
W tym artykule nie będziemy szczegółowo omawiać IAM. Pamiętaj jednak, że AWS poświęca wiele uwagi bezpieczeństwu, dzięki czemu możesz mieć pewność, że nikt nieupoważniony nie będzie miał dostępu do Twoich poufnych danych.
CloudWatch
CloudWatch to usługa świadczona przez AWS do zbierania i śledzenia wszelkiego rodzaju metryk z Twoich zasobów AWS. Jest silniejszy ze względu na zdolność reagowania na określone zdarzenia (lub alarmy). Za pomocą CloudWatch możemy monitorować stan naszej nowo utworzonej instancji EC2.

- Możemy szybko dodać alarmy do naszej instancji EC2:
- Alarmy mogą być tworzone poprzez określenie kryteriów dla wielu różnych celów:
UWAGA : SNS to usługa tematyczna świadczona przez AWS w celu wysyłania powiadomień. Powiadomienia mogą być wysyłane przez e-mail, SMS, powiadomienia push iOS/Android i wiele innych formatów.
Od monitorowania po powiadamianie, CloudWatch próbuje zautomatyzować potrzeby monitorowania za pomocą kilku kliknięć. Istnieje mnóstwo predefiniowanych metryk dla różnych usług AWS. Dla zaawansowanych użytkowników możesz nawet tworzyć niestandardowe metryki dla swojej aplikacji.
Jeśli chodzi o koszty, bezpłatna usługa poziomu zapewniana przez CloudWatch jest zwykle wystarczająca dla projektów start-up. Jednak nawet gdy Twoja firma się rozwija, dodatkowe koszty wynoszą zwykle mniej niż 1 procent kosztów usługi. Sprawdź szczegółowy cennik, aby uzyskać więcej informacji. Biorąc pod uwagę, jak łatwo jest skonfigurować system monitorowania za pomocą CloudWatch, stało się ono najczęściej używanym narzędziem monitorującym.
Bezproblemowe usługi aplikacji
Jako programiści prawdopodobnie doświadczyliśmy następujących scenariuszy:
- Nasza aplikacja potrzebuje komponentu bazy danych, co oznacza, że musimy:
- Zdobądź serwer dla bazy danych.
- Zainstaluj oprogramowanie bazy danych.
- Skonfiguruj monitory dla serwera i bazy danych.
- Zaplanuj schematy tworzenia kopii zapasowych.
- W razie potrzeby zaktualizuj oprogramowanie.
- I wiele innych nie wymienionych tutaj.
- Nasza aplikacja potrzebuje rozproszonego przechowywania plików, co oznacza, że musimy:
- Znajdź istniejące rozwiązania typu open source (lub komercyjne) do rozproszonego przechowywania plików.
- Przygotuj potrzebne serwery.
- Zainstaluj i skonfiguruj wybrane rozwiązanie, co zwykle nie jest proste.
- Skonfiguruj monitory dla serwera i bazy danych
- I wiele innych niewymienionych tutaj
- Nasza aplikacja potrzebuje pamięci podręcznej.
- Nasza aplikacja potrzebuje kolejki wiadomości.
- I wiele innych problemów do rozwiązania, a ponadto musimy wykonać prace prekonfiguracyjne i pomonitoringowe.
Jak już zapewne zgadłeś, jest to kolejny ważny obszar, w którym pomaga AWS. Dostępnych jest wiele usług na poziomie aplikacji, więc nie musisz brać pod uwagę niczego innego.
Omówmy niektóre z nich, aby uzyskać szybki obraz.
RDS, baza danych zarządzana za Ciebie, ale nie przez Ciebie
Relacyjne bazy danych (RDBMS) są szeroko stosowane przez wiele aplikacji. W środowisku produkcyjnym szczególna uwaga jest zawsze potrzebna podczas wdrażania aplikacji przy użyciu RDBMS, zaczynając od sposobu instalacji i konfiguracji bazy danych, a następnie kiedy i jak kopie zapasowe są tworzone i przywracane.
W naszym zespole nasz administrator bazy danych (DBA) spędzał co najmniej 30 procent swojego czasu na pisaniu skryptów konfiguracyjnych i konserwacyjnych. Wraz z wprowadzeniem AWS RDS, nasz DBA miał więcej czasu na dostrajanie wydajności SQL, co jest preferowanym obszarem, w który warto inwestować DBA.
Co więc oferuje RDS? W skrócie:
- RDS zapewnia obsługę większości popularnych silników baz danych, w tym MySQL, SQLServer, PostgreSQL.
- Bazę danych, węzeł lub klaster, można utworzyć za pomocą kilku kliknięć.
- RDS oferuje wbudowaną obsługę wspólnych parametrów bazy danych w ramach usługi o nazwie „Grupa parametrów”.
- RDS zapewnia wbudowaną obsługę zarządzania dostępem za pomocą Security Group , która jest dość podobna do tej, którą omówiliśmy dla EC2.
- RDS oferuje dodatkowe usługi, włączając Multi-AZ jednym kliknięciem. Całe monitorowanie, przełączanie w trybie czuwania i przełączania awaryjnego odbywa się automatycznie.
- Konserwacja i tworzenie kopii zapasowych RDS są zautomatyzowane.
Podsumowując, RDS oszczędza znaczną ilość czasu, jeśli chodzi o konfigurację i utrzymanie usług baz danych. W zamian zapłacisz około 40 procent więcej niż odpowiedni serwer EC2. Tak więc decyzja biznesowa, czy wybrać RDS, czy samodzielnie wdrożyć odpowiedni serwer, jest decyzją biznesową. Pozwala to jednak zainwestować więcej czasu w pracę związaną z prawdziwym biznesem, a nie w stabilność i skalowalność infrastruktury. Dodatkowo szybko zauważysz, że jest to sposób prowadzenia biznesu przez zwolenników AWS.
Dynamo DB, kluczowa pamięć masowa skaluje się do miliardów rekordów
NoSQL stał się w ostatnich latach ulubionym tematem. Ponieważ wiele rzeczywistych projektów nie wymaga obsługi różnych relacyjnych DBMS, na rynek wprowadzono listę baz danych NoSQL. Amazon nie pozostaje w tej kwestii w tyle. DynamoDB (https://aws.amazon.com/dynamodb) to kluczowy sklep ogłoszony przez Amazon w 2012 roku, a głównym współtwórcą tej usługi jest Werner Vogels, CTO Amazon, jeden z najlepszych światowych ekspertów w dziedzinie ultra- skalowalne systemy.
Nie jest tajemnicą, że Amazon obsługuje ogromny ruch. DynamoDB wywodzi się z Dynamo, które było wewnętrznym silnikiem pamięci masowej dla wielu firm Amazon, w tym usługi koszyka na zakupy, która obsługuje miliardy żądań w każde Boże Narodzenie. DynamoDB nie ma ograniczeń w skalowaniu.
Co więcej, w porównaniu z innymi rozwiązaniami NoSQL, takimi jak Cassandra lub MongoDB, DynamoDB ma ogromną przewagę ekonomiczną; jest rozliczany w jednostce zarezerwowanej przepustowości (ile dozwolonych zapisów/odczytów na sekundę), która może być zwiększana lub zmniejszana w czasie rzeczywistym. Poniżej znajduje się tabela porównawcza kosztów między DynamoDB a innym samodzielnym rozwiązaniem NoSQL:
Potrzeba biznesowa | Usługa DynamoDB | Koszt DynamoDB | Korzystanie z innej usługi | Koszt korzystania z innej usługi |
Mały biznes (mniej niż 1000 DAU, 16 GB danych) | 10 jednostek zapisu 10 jednostek odczytu | 9,07 USD/miesiąc • | t1.mikro •• 16 GB EBS ••• | 14,64 USD/miesiąc |
Średni biznes (mniej niż 100 tys. DAU, 160 GB danych) | 100 jednostek zapisu 100 jednostek odczytu | 101,62 USD/miesiąc | m4.xduży 160 GB EBS | 190,95 USD/miesiąc |
Duża firma (do 1m DAU, 1TB danych) | 1000 jednostek zapisu 1000 jednostek odczytu | 852,58 USD/miesiąc | Klastrowy c4.4xduży • 512 GB EBS • | 1329,24 USD/miesiąc |
• aby być uczciwym, cena jest obliczana na podstawie cen na żądanie w regionie USA-Wschód
•• Instancje AWS EC2 są wybrane do hostowania innych usług NoSQL
••• EBS to usługa trwałego przechowywania danych świadczona przez AWS
Jak możemy wyczytać z tabeli, DynamoDB dostarcza swoją usługę po wyjęciu z pudełka i zwykle po niższej cenie w porównaniu do budowania własnego magazynu wartości klucz-wartość. Dzieje się tak, ponieważ jeśli nie osiągniesz maksymalnej pojemności klastra MongoDB/Cassandra, płacisz więcej za coś, czego nigdy nie używasz.
Amazon oferuje swoje usługi w sposób w pełni zarządzany. Oznacza to, że nie musisz się martwić, jak skonfigurować, skalować lub monitorować swoją DynamoDB; wszystkie są wykonywane przez AWS. W rzeczywistości odczytywanie i zapisywanie elementów DynamoDB jest zawsze mierzone ze stałą złożonością czasową, niezależnie od wielkości manipulowanych danych. Dlatego niektóre aplikacje zdecydowały się odrzucić warstwy pamięci podręcznej po przejściu na DynamoDB. Rzeczywiście niesamowite.
SQS, usługa kolejki rozproszonej
Podczas pracy z dużymi wolumenami danych często dystrybuujemy obliczenia do wielu węzłów obliczeniowych. Prowadząc działalność na całym świecie, często potrzebujemy potoku do przetwarzania danych zebranych z węzłów rozproszonych w szerokim zakresie geograficznym. Aby pomóc spełnić wymagania dla takich wydarzeń, AWS wprowadza SQS, Simple Queue Service. Podobnie jak wiele uznanych usług kolejek, SQS oferuje sposób trwałego przekazywania komunikatów/zadań między różnymi komponentami logicznymi.
Jak sama nazwa wskazuje, SQS jest podstawową usługą dostępną na początku AWS. Jednak Amazon stale rozwija SQS i w zależności od potrzeb SQS może być tak prosty lub tak potężny, jak potrzebujesz, z wieloma konfigurowalnymi parametrami. Niektóre z zaawansowanych funkcji SQS to:
- Przechowywanie wiadomości do 14 dni.
- Mechanizm widoczności pozwalający uniknąć utraty wiadomości w przypadku awarii.
- Opóźnienie dostawy na wiadomość.
- Redrive polityka do obsługi nieudanych wiadomości (tzw. martwy list).
Usługi kolejkowe nie powinny być zbyt skomplikowane. Możesz się zastanawiać, dlaczego warto wykorzystać całą sekcję tylko do wprowadzenia SQS. Być może już odgadłeś powód; podobnie jak inne usługi AWS, SQS jest usługą w pełni zarządzaną, co oznacza:
- Kolejka jest wysoce skalowalna; mogą to być dziesiątki wiadomości, przez które przechodzisz, lub miliony na sekundę, więc SQS skaluje się w locie.
- Kolejka jest trwała i rozproszona, co oznacza, że krytyczne dane nie zostaną utracone, dopóki nie wygasną.
- Nie musisz konfigurować serwera, aby wdrożyć oprogramowanie kolejki. I oczywiście nie musisz też konfigurować kompleksowego monitorowania usługi
S3, magazyn plików, ale nie tylko magazyn plików
S3 oznacza Simple Storage Service i jest jak Dropbox jako usługa dla użytkownika końcowego, ale dotyczy to aplikacji. Z definicji S3 to obiektowa pamięć masowa z prostym interfejsem sieciowym.
S3 jest prosty dla użytkownika, ale zawiera również wiele zaawansowanych funkcji. I S3 stał się standardem branżowym, zwłaszcza dla aplikacji korzystających z innych usług AWS. Dzieje się tak głównie dlatego, że S3 jest tak łatwy do zintegrowania, że stał się popularnym miejscem do przechowywania danych zewnętrznych dla większości usług AWS. Ponadto wiele usług, takich jak DynamoDB, SQS i tak dalej, intensywnie wykorzystuje S3 wewnętrznie.
Zrozumienie S3 powinno zwiększyć korzyści płynące z korzystania z innych usług zarządzanych przez AWS. Dzieje się tak, ponieważ większość usług przechowuje swoje kopie zapasowe na S3. Ponadto S3 jest powszechnym miejscem eksportu/importu usług, w tym między innymi DynamoDB, RDS i Redshift.
Wreszcie, S3 jest jak inne usługi AWS; jest w pełni zarządzany, więc możemy po prostu zacząć korzystać z usługi bez konfigurowania żadnego serwera lub mechanizmów przełączania awaryjnego. Jeśli chodzi o ekonomię, S3 jest również usługą płatną w miarę korzystania z usługi, więc zawsze możesz ją wypróbować bez większych kosztów.
Bardziej zaawansowane usługi i SDK
Na uwagę zasługuje również wiele innych usług AWS. Ze względu na ograniczoną przestrzeń podajemy tutaj tylko kilka ciekawych:
- Redshift: baza danych oparta na kolumnach, która może być używana do przetwarzania bilionów danych w bardzo szybki sposób. Musisz spróbować, jeśli jesteś odpowiedzialny za ETL dużej ilości danych.
- Data Pipeline: IUmożliwia szybkie przesyłanie danych między usługami AWS, a ponadto umożliwia okresowe przetwarzanie danych w mniejszym fragmencie.
- ElastiCache: zarządzany serwer Memcache, prosty, ale doskonale spełnia swoje zadanie.
- Lambda: Następna generacja przetwarzania w chmurze. Lambda uruchamia przesłany fragment kodu w sposób sterowany zdarzeniami, który otwiera nowe drzwi do projektowania aplikacji rozproszonych.
- Route53: Potężne rozwiązanie DNS z obsługą odpowiedzi ważonej, odpowiedzi opartej na geolokalizacji, będącej uzupełnieniem innych standardowych rozwiązań DNS w przemyśle.
- SNS: Prosta w obsłudze usługa powiadamiania, zaprojektowana we wzorcu subskrybent/wydawca.
- Wiele więcej.
Myślę, że dobrym zwyczajem jest sprawdzanie AWS za każdym razem, gdy wprowadzasz nowy komponent do swojej aplikacji. Najczęściej AWS sprawi ci słodką niespodziankę, ponieważ będzie miał do zaoferowania gotową alternatywę SaaS.
Ponadto, aby ułatwić dostęp do interfejsów RESTful, Amazon udostępnił pakiety SDK w prawie wszystkich popularnych językach programowania. Nie powinieneś mieć problemu ze znalezieniem swojego ulubionego pakietu SDK.
Streszczenie
W tym artykule omówiliśmy niektóre z najczęściej używanych usług AWS. Na pewno są obszary, w których AWS pomoże Twojej firmie. Możesz zdecydować się na migrację istniejącego składnika usługi do jego odpowiednika AWS, na przykład bazy danych MySQL do RDS. Możesz zapytać, czy są jakieś usługi AWS dla tego składnika mojego oprogramowania? Więc załóż konto AWS już dziś i uzyskaj wzrost produktywności w ciągu kilku minut.
Dalsza lektura na blogu Toptal Engineering:
- Programowanie dla chmury w chmurze: tworzenie BigData za pomocą Dockera w AWS
- Odrób swoją pracę domową: 7 wskazówek egzaminacyjnych dla architektów rozwiązań z certyfikatem AWS
- Logowanie SSH i zarządzanie sesją za pomocą AWS SSM
- Praca z obsługą TypeScript i Jest: samouczek AWS SAM