Co to jest automatyczne skalowanie w AWS? - Jak to działa - Różne elementy

Spisie treści:

Anonim

Omówienie automatycznego skalowania w AWS

Automatyczne skalowanie, określane również jako automatyczne skalowanie lub czasami automatyczne skalowanie, jest techniką obliczeń w chmurze, w której ilość zasobów potrzebnych do wydajnej pracy farmy serwerów, zwykle mierzona jako liczba aktywnych serwerów skaluje się w górę lub w dół, gdy jest to wymagane na obciążenie całej farmy serwerów. Możemy to ściśle powiązać z równoważeniem obciążenia. Zwykle automatyczne skalowanie jest rodzajem automatyzacji procesu ręcznego. Weźmy scenariusz, w którym masz witrynę e-commerce, która działa skutecznie i obsługuje klientów, żaden z twoich klientów nie narzeka na opóźnienie w witrynie ani nie tracisz użytkowników z powodu wydajności witryny. W miarę rozwoju firmy zajmowałeś się marketingiem, a ludzie z dnia na dzień stawali się coraz bardziej świadomi Twojej witryny. Z jednej strony cieszyłeś się z rozwoju biznesu, ale musisz także wiedzieć, że strona internetowa powinna obsługiwać każdego klienta, a nie opóźniać się. Załóżmy, że obecnie może obsługiwać 100 klientów jednocześnie, jeśli 100 użytkowników zaloguje się do Twojej witryny, wszyscy będą mogli płynnie nawigować i dokonywać zakupów, a wszystko to działa w pewnej stałej konfiguracji przypuszczalnej instancji t2.micro AWS. Teraz, gdy witryna staje się popularna, oczekujesz około 250 - 300 użytkowników jednocześnie, oczywiście potrzebujesz 2 kolejnych serwerów, na których możesz podzielić ruch, a następnie wszyscy będą mogli poprawnie nawigować.

Ręczna praca polegająca na obliczeniu zasobów potrzebnych do obsługi klientów oraz skalowanie systemu na podstawie obciążenia farmy serwerów i podziału ruchu odbywa się ręcznie dla powyższego scenariusza. Można powiedzieć, że jest to w rzeczywistości skalowanie, ale nie automatyczne skalowanie, ponieważ zostało to wykonane ręcznie, ale można skorzystać z usługi AutoScaling z modułem równoważenia obciążenia w AWS, który zautomatyzuje powyższe zadanie i to właśnie nazywamy Autoskalowaniem lub automatycznym skalowaniem w kategoriach chmury przetwarzanie danych.

Jak działa automatyczne skalowanie w AWS?

W AWS w proces automatycznego skalowania zaangażowanych jest wiele podmiotów, a mianowicie: - Load Balancer i AMI są dwoma głównymi składnikami zaangażowanymi w ten proces. Po pierwsze, musisz utworzyć AMI swojego obecnego serwera. Mówiąc prościej, możemy powiedzieć, że szablon twojej bieżącej konfiguracji składa się ze wszystkich ustawień systemu i bieżącej strony internetowej. Można to zrobić w sekcji AMI AWS. Jeśli pójdziemy zgodnie z powyższym scenariuszem i skonfigurowałeś automatyczne skalowanie, aby Twój system był przygotowany na przyszły ruch.

Gdy ruch zacznie się zwiększać, usługa automatycznego skalowania AWS automatycznie zainicjuje uruchomienie innej instancji z tą samą konfiguracją bieżącego serwera za pomocą AMI twojego serwera.

Następnie pojawia się kolejna część, w której musimy równo podzielić lub skierować nasz ruch między nowo uruchamiane instancje, którym zajmie się moduł równoważenia obciążenia w AWS. Moduł równoważenia obciążenia dzieli ruch na podstawie obciążenia w danym systemie, wykonują one wewnętrzny proces, aby zdecydować, gdzie kierować ruch.

Utworzenie nowej instancji zależy wyłącznie od zestawu reguł zdefiniowanych przez użytkownika konfigurującego automatyczne skalowanie. Reguły mogą być tak proste, jak na przykład wykorzystanie procesora, możesz skonfigurować automatyczne skalowanie, gdy wykorzystanie procesora osiągnie 70-80%, a następnie chcesz uruchomić nową instancję do obsługi ruchu. Mogą istnieć zasady zmniejszania skali.

Automatyczne skalowanie komponentów w AWS

Proces automatycznego skalowania obejmuje wiele elementów, niektóre z nich już wcześniej wymieniliśmy, takie jak AMI, moduły równoważenia obciążenia, a także kilka innych.

Elementy zaangażowane w automatyczne skalowanie: -

  • AMI (Amazon Machine Image)
  • Moduł równoważenia obciążenia
  • Migawka
  • Instancja EC2
  • Grupy skalowane automatycznie

Może być więcej komponentów, ale można powiedzieć, że większość komponentów, które można skalować, może być częścią skalowania automatycznego.

1. AMI

AMI to plik wykonywalny Twojej instancji EC2, którego możesz użyć do tworzenia nowych instancji. Aby skalować zasoby, nowy serwer musi mieć całą konfigurację witryn i być gotowy do uruchomienia. W AWS można to osiągnąć za pomocą AMI, który jest niczym innym, jak identycznym plikiem wykonywalnym systemu, którego można użyć do tworzenia nowych obrazów, a to samo byłoby wykorzystywane przez AWS w przypadku automatycznego skalowania w celu uruchomienia nowych instancji.

2. Moduł równoważenia obciążenia

Tworzenie instancji to tylko jedna część automatycznego skalowania, której potrzebujesz, aby podzielić ruch między nowe instancje, a tą pracą zajmuje się moduł równoważenia obciążenia. Moduł równoważenia obciążenia może automatycznie identyfikować ruch w systemach, z którymi jest połączony, i może przekierowywać żądania na podstawie reguł lub w klasyczny sposób do instancji o mniejszym obciążeniu. Proces dzielenia ruchu między przypadki, które nazywamy równoważeniem obciążenia. Usługi równoważenia obciążenia służą do zwiększenia niezawodności aplikacji i wydajności w zakresie obsługi równoczesnych użytkowników.

Moduł równoważenia obciążenia odgrywa bardzo ważną rolę w automatycznym skalowaniu. Zazwyczaj moduły równoważące obciążenie mogą być dwojakiego rodzaju:

  • Klasyczny moduł równoważenia obciążenia.
  • Moduł równoważenia obciążenia aplikacji.

Klasyczny moduł równoważenia obciążenia: - Klasyczny moduł równoważenia obciążenia stosuje bardzo proste podejście, po prostu rozłoży ruch równo na wszystkie instancje. Jest to bardzo podstawowe i obecnie nikt nie używa klasycznego modułu równoważenia obciążenia. Może to być dobry wybór dla prostej strony statycznej strony HTML, ale w obecnych scenariuszach istnieją aplikacje hybrydowe lub aplikacje wieloskładnikowe i aplikacje o wysokiej wydajności obliczeniowej, które zawierają wiele komponentów dedykowanych do konkretnego zadania.

Moduł równoważenia obciążenia aplikacji

  • Najczęściej stosowany typ modułu równoważenia obciążenia, w którym ruch jest przekierowywany na podstawie pewnych prostych lub złożonych reguł, które mogą być oparte na „ścieżce” lub „hoście” lub zdefiniowane przez użytkownika.
  • Byłoby lepiej, gdybyśmy przyjęli scenariusz aplikacji do przetwarzania dokumentów.
  • Załóżmy, że masz aplikację opartą na architekturze mikrousługowej lub monolitycznej, a ścieżka „/ dokument” jest specyficzna dla usługi przetwarzania dokumentów i innych ścieżek „/ raporty”, która pokazuje tylko raporty z dokumentów przetwarzanych i statystyki dotyczące przetwarzanych danych. Możemy mieć grupę automatycznego skalowania dla jednego serwera, który jest odpowiedzialny za przetwarzanie dokumentów, a drugi tylko do wyświetlania raportów.
  • W module równoważenia obciążenia aplikacji możesz skonfigurować i ustawić regułę zgodnie ze ścieżką, która jeśli ścieżka pasuje do „/ document”, wówczas przekierowuje do grupy skalowania automatycznego dla serwera 1 lub jeśli pasuje do ścieżki „/ raporty”, a następnie przekierowuje ją do grupy skalowania automatycznego dla serwer 2. Wewnętrznie jedna grupa może mieć wiele instancji, a obciążenie zostanie rozdzielone w postaci klasycznej równomiernie między instancje.

3. Migawka

Kopia danych przechowywanych na dysku twardym jest zwykle obrazem pamięci. Typowa różnica między migawką a AMI to plik wykonywalny, którego można użyć do utworzenia nowej instancji, ale migawka to tylko kopia danych przechowywanych w instancji. Jeśli masz przyrostową migawkę swojego wystąpienia EC2, migawka byłaby kopią tych bloków, które zostały zmodyfikowane od poprzedniej migawki.

4. Instancja EC2 (Elastic Compute Cloud)

Instancja EC2 to wirtualny serwer w elastycznej chmurze obliczeniowej Amazon (EC2), który służy do wdrażania aplikacji w infrastrukturze Amazon Web Services (AWS). Usługa EC2 pozwala połączyć się z serwerem wirtualnym za pomocą klucza uwierzytelniającego za pośrednictwem połączenia SSH i umożliwia zainstalowanie różnych składników aplikacji wraz z aplikacją.

5. Grupa skalowania automatycznego

Jest to grupa instancji EC2 i rdzeń Amazon EC2 AutoScaling. Podczas tworzenia grupy skalowania automatycznego musisz podać informacje o podsieciach i początkowej liczbie instancji, od których chcesz zacząć.

Wniosek

Z powyższej treści mamy dobre wyobrażenie o tym, czym jest automatyczne skalowanie i jak ważne jest w dzisiejszym świecie.

  • Widzimy, że wymagania technologii i użytkowników rosną z dnia na dzień, a także ich oczekiwania dotyczące szybkiej i wydajnej aplikacji.
  • Świetna aplikacja jest szybka, zapewnia dobre wrażenia użytkownika i robi rzeczy, dla których została zbudowana. Aby to osiągnąć, potrzebujesz bardzo solidnego zaplecza i stosu technologii.
  • Po rozpoczęciu działalności i uderzeniu Twoja baza użytkowników najprawdopodobniej powiększy się i pojawią się sytuacje, aby poradzić sobie z równoczesnymi użytkownikami, że będziesz potrzebować automatycznego skalowania w celu skalowania w górę i w dół w zależności od sytuacji, aby zapewnić użytkownikom bezproblemową obsługę.

Z mojego punktu widzenia skalowanie jest bardzo ważnym aspektem w dzisiejszym świecie i dziś lub jutro musimy to zrobić, skorzystaj z automatycznego skalowania AWS i skaluj swoje produkty.

Polecane artykuły

To jest przewodnik po tym, co to jest automatyczne skalowanie w AWS? Tutaj omówiliśmy jego definicję, działanie i różne elementy automatycznego skalowania w AWS. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Co to jest AWS RedShift?
  2. Co to jest StringBuilder w C #
  3. Kompletny przewodnik po testach funkcjonalnych
  4. Co to jest programista zaplecza?
  5. Usługi pamięci masowej AWS