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ć

  • Co to jest chmura prywatna i jak działa?

    Co to jest chmura prywatna i jak działa?
    Co to jest chmura prywatna i jak działa?
    Cloud 14 marca 2023

    Cloud

    Dzisiejsze organizacje potrzebują bezpiecznej i sprawdzonej technologii do przechowywania oraz przetwarzania danych. Powinna być łatwa do wdrożenia i pozwalać na skalowanie wraz ze zmieniającym się zapotrzebowaniem. Z pomocą […]

  • Co to jest chmura publiczna i jak działa?

    Co to jest chmura publiczna i jak działa?
    Co to jest chmura publiczna i jak działa?
    Cloud 7 marca 2023

    Cloud

    Chmury obliczeniowe rozwiązują wiele problemów związanych z wydajnością działającego w firmie systemu informatycznego. Pomagają wykorzystać najnowocześniejsze technologie i osiągnąć wysokie zyski bez ponoszenia kosztów. […]

  • Co to jest IaaS? Czym jest chmura elastyczna i jakie ma zalety?

    Co to jest IaaS? Czym jest chmura elastyczna i jakie ma zalety?
    Co to jest IaaS? Czym jest chmura elastyczna i jakie ma zalety?
    Cloud 21 lutego 2023

    Cloud

    IaaS (Infrastructure as a Service) to nowoczesny sposób wykorzystania usług chmurowych do zapewnienia infrastruktury IT oferowanej użytkownikowi końcowemu przez zewnętrznego dostawcę. Dowiedz się, jakie zalety […]

  • SECaaS – co oznacza Security as a Service?

    SECaaS – co oznacza Security as a Service?
    SECaaS – co oznacza Security as a Service?
    Cloud 16 listopada 2022

    Cloud

    Coraz więcej firm zdaje sobie sprawę z korzyści, jakie zapewnia chmura. Wybierając rozwiązania typu cloud computing, można usprawnić wiele kluczowych procesów […]