Skalowanie aplikacji
Cloud 5 czerwca 2021 <1 minuta czytania

Skalowanie aplikacji

Lepiej rozbudować istniejące lokum, czy postawić obok drugie? Takie pytanie może sobie zadawać nie tylko właściciel domku z rosnącą wielopokoleniową rodziną, dotyczy ono również twórców serwisów internetowych zarządzających serwerami. I jak zobaczymy – odpowiedź na nie ma daleko idące konsekwencje.

 

Sukces, wzrost popularności serwisu, nowi użytkownicy – to scenariusz, którego życzy sobie chyba każdy autor lub właściciel aplikacji internetowej. Ci zaś, których życzenie się spełni, szybko dostrzegą, że za rosnącą popularnością usługi idzie większe obciążenie infrastruktury. Procesor jest coraz bardziej zajęty przetwarzaniem kolejnych żądań, w pamięci operacyjnej musi zmieścić się coraz więcej danych. W pewnym momencie zaczyna robić się „ciasno”, strony ładują się coraz wolniej, istnieje ryzyko, że usługa całkiem się zatrzyma. I tu dochodzimy do wspomnianego wcześniej pytania: powiększyć istniejący „dom” czy postawić obok kolejny. Tym domem dla aplikacji są różne formy: od serwerów fizycznych, przez maszyny wirtualne, po kontenery. Stoimy więc na przykład przed wyborem: rozbudować posiadany serwer, albo dokupić kolejny.

 

Piąć się wzwyż

 

W czasach, kiedy jedyną opcją był fizyczny serwer obie opcje wiązały się z osobistą ingerencją człowieka w serwerownię. Intuicja podpowiada w takich warunkach pierwszą z opcji, czyli rozbudowę istniejącego komputera. Tę opcję nazywamy skalowaniem wertykalnym (scale up, skalowanie wzwyż) – co pasuje do analogii dobudowywania kolejnych pięter w budynku. Zainstalowanie dodatkowej kości pamięci albo wymiana procesora w posiadanym już serwerze wydaje się opcją szybszą i tańszą niż nabywanie osobnego urządzenia, jego instalacja i konfiguracja. Przynajmniej dopóki jest jeszcze miejsce na płycie głównej. Poza tym jeśli oprogramowanie pozostaje na tym samym komputerze co wcześniej, to nie trzeba wprowadzać w nim zmian. Co innego dostosowanie aplikacji do pracy równolegle na wielu maszynach – to wymaga sposobu na podział zadań i zachowanie spójności danych.

 

Chmury rosną wszerz

 

Pojawianie się wirtualizacji i platform chmurowych każe spojrzeć na sytuację inaczej. Utworzenie nowej maszyny wirtualnej z przygotowanego wcześniej szablonu staje się proste i może ograniczać się nawet do pojedynczych kliknięć. Podejście polegające na dodawaniu kolejnych instancji aplikacji nazywamy skalowaniem horyzontalnym (scale out, skalowanie wszerz), co można skojarzyć z rozrastającym się osiedlem małych domków. W odróżnieniu od zwiększenia istniejącej maszyny, co może okazać się znacznie trudniejsze, zwłaszcza jeśli dane środowisko wirtualizacyjne nie posiada przewidzianych do tego narzędzi. Co więcej, jeśli mamy już do dyspozycji usługę chmurową, to zapewne dostępna jest opcja rozliczeń Pay as You Go, czyli płacenia tylko za uruchomione zasoby. Warto zatem pomyśleć nie tylko o rozrastaniu się, ale i cofaniu, wtedy kiedy zapotrzebowanie na naszą aplikację jest mniejsze – w wakacje, w wybrane dni tygodnia, czy nawet w danych godzinach. Tutaj różnica w łatwości wykonania będzie jeszcze bardziej widoczna: usunięcie niektórych instancji (scale in) będzie dużo prostsze niż odjęcie zasobów z jednej dużej maszyny wirtualnej (scale down).

 

Coś dla każdego

 

Ciekawym przypadkiem chmury jest Integrated Computing Standard. Dzięki technologii VMware dla tradycyjnych aplikacji oferuje funkcję sprawiającą, że skalowanie wertykalne (wzwyż) staje się jeszcze prostsze. Jest to „hot add” czyli zwiększenie zasobów maszyny wirtualnej „w locie”, bez zatrzymywania aplikacji. I to do pokaźnych rozmiarów, nawet 128 vCPU. Znajdziemy również udogodnienia dla skalowania horyzontalnego (wszerz), ale o tym w następny artykule.

 

Jak w praktyce użyć „hot add”? Opisuje to odcinek 9 Wideo Przewodnika po Integrated Computing Standard

 

Oceń artykuł

Masz pytania? Wypełnij formularz. Nasz zespół ekspertów służy pomocą.

Popularne tagi

Tagi

Mogą Cię również zainteresować

  • Jakie są najnowsze metody szyfrowania danych w chmurze?

    Jakie są najnowsze metody szyfrowania danych w chmurze?
    Jakie są najnowsze metody szyfrowania danych w chmurze?
    Cloud 12 marca 2024

    Cloud

    Szyfrowanie w chmurze stanowi jeden z najskuteczniejszych sposobów ochrony firmowych danych. Wciąż korzysta z niego jednak tylko co trzecie polskie […]

  • Sieci programowalne komputerowo – technologia SDN

    Sieci programowalne komputerowo – technologia SDN
    Sieci programowalne komputerowo – technologia SDN
    Cloud 1 lutego 2024

    Cloud

    W ciągu ostatnich lat firmy i instytucje przeniosły do chmur i aplikacji wiele procesów, które dotąd były prowadzone offline. Klasyczne […]

  • Wszystko, co musisz wiedzieć o bezpieczeństwie natywnym w chmurze

    Wszystko, co musisz wiedzieć o bezpieczeństwie natywnym w chmurze
    Wszystko, co musisz wiedzieć o bezpieczeństwie natywnym w chmurze
    Cloud 14 listopada 2023

    Cloud

    Dynamiczna ewolucja krajobrazu teleinformatycznego zmusza organizacje do wdrażania coraz skuteczniejszych cyberzabezpieczeń. Z pomocą w rozwiązywaniu problemów z bezpieczeństwem infrastruktury IT […]

  • Mgła obliczeniowa vs chmura obliczeniowa – podobieństwa i różnice

    Mgła obliczeniowa vs chmura obliczeniowa – podobieństwa i różnice
    Mgła obliczeniowa vs chmura obliczeniowa – podobieństwa i różnice
    Cloud 4 września 2023

    Cloud

    Wraz z rozwojem technologii powstały różne modele przetwarzania danych, z których główne to mgła obliczeniowa i chmura obliczeniowa. Oba zapewniają […]