Elektroda.pl
Elektroda.pl
X
Servizza
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Usługi hostingowe serwerów VPS. Część 1. VPS - pojęcia, porady i mity

magic9 24 Sty 2018 09:08 2208 2
  • #1 24 Sty 2018 09:08
    magic9
    Redaktor

    Z cyklu: Servizza odsłania kulisy branży
    Usługi hostingowe serwerów VPS
    Część 1. VPS - podstawowe pojęcia, porady i mity



    Zapewne dopiero zaczynasz przygodę w świecie hostingu / IT, ale lubisz wiedzieć co w trawie piszczy lub jesteś już na pewnym etapie poznawczym, ale szukasz wiedzy uzupełniającej. W obu przypadkach dobrze trafiłeś.

    Dlaczego dzisiaj każdy sądzi, że musi mieć VPS’a?

    Skąd to lawinowe zainteresowanie? Czy nagle wszyscy potrzebują izolowanego środowiska, na którym mogą instalować co chcą, a każdy stał się fanem spędzania wolnego czasu na administracji swoim prywatnym mini serwerem?
    Niezwykle skutecznym działaniem specjalistów od marketingu było utworzenie z VPS jakoby projekt premium, który stał się panaceum na wszystkie bolączki hostingu współdzielonego czy nawet hostingu dedykowanego. Na ogromne zainteresowanie wpłynęły marketingowe zapewnienia, że aby mieć swoje wirtualne miejsce w sieci o niesamowitej wydajności, do tego w pełni prywatne, bez podglądania przez inne osoby, wystarczy kupić swojego VPS’a.
    Niestety, pomimo wielu zalet VPS współdzielonych czy nawet gwarantowanych, marketingowe slogany nie mają nic wspólnego z rzeczywistością. Poniżej podamy garść przydatnych informacji, porad i mitów na temat VPS.

    Czym jest wirtualizacja?

    W standardowym modelu, serwer fizyczny ma zainstalowany system operacyjny, na którym instaluje się dodatkowo aplikacje, które wykonują powierzone im zadania. W związku z różnymi czynnikami (np. izolacja środowisk, bezpieczeństwo, różne zależności bibliotek itd.), zaistniała potrzeba utworzenia możliwości dzielenia serwera fizycznego na mniejsze jednostki. W tym celu opracowano oprogramowanie, które symuluje fizyczny serwer, umożliwiając instalację kilku odrębnych systemów operacyjnych/środowisk.
    Technik wirtualizacji jest kilka, ale najbardziej znane to: izolacja, kontenery, parawirtualizacja, HVM (pełna wirtualizacja z symulacją urządzeń sprzętowych).
    Przykładowe porównanie pełnej wirtualizacji vs docker (kontenery) zaprezentowano na rysunku:

    Usługi hostingowe serwerów VPS. Część 1. VPS - pojęcia, porady i mity

    Na rynku hostingu najczęściej znajdziemy: KVM, OpenVZ i coraz częściej pojawiające się: Docker, LXC, Joyent (zony). Każda z ofert ma swoje plusy i minusy, ale o tym w dalszej części artykułu.





    Co lepsze - parawirtualizacja, kontenery czy pełna wirtualizacja?

    Parawirtualizacja obecnie powoli odchodzi do lamusa. W momencie powstania wsparcia sprzętowego dla pełnej wirtualizacji czy przy stosowaniu mapowania urządzeń PCI/storage 1do1 (pass-through), różnice zanikają. Kiedyś w konkurencji Xen para vs KVM to było nawet 15% na korzyść Xen. W dzisiejszych czasach KVM potrafi zejść z tzw. karą za wirtualizację do 3%.
    Jak wspomniałem wcześniej, wirtualizacja to tak naprawdę kolejny program (hypervisor - hipernadzorca), który działa na głównym systemie operacyjnym (tzw. host OS). W związku z tym, iż tak naprawdę VPS emuluje urządzenia, program musi skonsumować czas procesora i inne zasoby na swoje potrzeby. Jak widać - nie ma szans na taką samą wydajność jak na systemie hosta, ponieważ część zasobów musi obsłużyć inne zadania.

    Brak hipernadzorcy w kontenerach i izolacji

    Narzut-kara w izolacji/kontenerach praktycznie nie występują, ale wszystko ma swoją cenę, tzn. mniejsze bezpieczeństwo w stosunku do pełnej wirtualizacji, jak również mniejsza elastyczność. O ile w przypadku HVM możemy instalować praktycznie każdy system operacyjny (który daje się wirtualizować), o tyle w przypadku izolacji/kontenera jesteśmy zlimitowani do architektury/systemu operacyjnego/jądra i tych jego ustawień, które oferuje nam system operacyjny hosta.

    KVM vs OpenVZ vs CloudLinux

    W przypadku KVM, największym minusem jest kara wydajności, natomiast w zamian mamy pełny dostęp root, pełną kontrolę nad jądrem systemu gościa (nasz VPS), możemy sterować ruchem sieciowym i zaporami, możemy zainstalować, co tylko chcemy. Z tym narzutem też można powalczyć (np. w ofercie servizza.com -> Super VPS, stosujemy techniki akceleracji sprzętowej i odciążania systemów przez przekazywanie funkcji karty sieciowej bezpośrednio do gościa, jak również nie obciążamy podwójnym buforowaniem w operacjach dyskowych).
    OpenVZ to taki trochę twór - ani kontener, ani parawirtualizacja, jednak często jeszcze spotykany w sprzedaży model VPS. Jego plusem jest niewątpliwie mała strata na wydajności. Minusów niestety jest sporo (o szczegółach w następnych odcinkach), np. brak możliwości instalacji innego systemu operacyjnego, ociężały system rozliczania zasobów procesora (szczególnie w architekturze NUMA). Należy również wspomnieć, iż wraz z rozwojem technologii przestrzeni nazw (na której bazuje większość rozwiązań kontenerowych), przyszłość OpenVZ stoi pod znakiem zapytania.
    CloudLinux to jeszcze dość świeży gracz na rynku, ale nie należy go wiązać stricte z techniką wirtualizacji. Jest to raczej zestaw narzędzi, łatek pozwalających na kontrolę zasobów i prywatności z dedykacją dla środowiska hostingowego. Produkt świetnie się skaluje i zapewnia dodatkową warstwę bezpieczeństwa dla użytkowników serwerów współdzielonych i byłoby dobrze, żeby Twój dostawca go używał (chyba, że ma swój system izolacji).

    Usługi hostingowe serwerów VPS. Część 1. VPS - pojęcia, porady i mity

    Jak to jest z mityczną szybkością i tzw. "oversellingiem"?

    Być może właśnie przeżyjesz szok, ale to, że masz VPS nie oznacza, że Twoje zasoby są gwarantowane i dedykowane. W sieci można spotkać się z opinią, iż nie da się sprzedać więcej, niż daje sam KVM. Otóż, można i jest to częsta praktyka, a ja osobiście nie widzę nic w tym złego. O ile klient jest świadomy tego faktu, dostawca nie unika opisywania tego faktu w ofercie (w myśl zasady, że „gdy nie napiszemy, a klient nie zapyta, to nie kłamiemy, prawda?”).
    W oversellingu prym wiedzie OpenVZ. Przeglądając oferty, można stwierdzić, że większość, poza dostępem root i separacją systemu plików nie oferuje nic więcej, a swoim kontenerem nadal musisz zarządzać sam (choć niektórzy za opłatą zrobią to za Ciebie).

    Parametry – obietnice a rzeczywistość

    Można się spotkać z bełkotem reklamowym: „2GHz, 4GHz, damy ci 8 wątków vCPU i tonę RAMu, a to wszystko w cenie 1/4 serwera dedykowanego (o podobnych parametrach)!” Każdego powinno tutaj zastanowić, jak to jest możliwe. Otóż jest. Wystarczy sprzedać więcej, niż ma się fizycznie do dyspozycji. Co z tego, że będziesz mieć 4 vCPU po 2GHz, jak w tym samym czasie na komputerze hosta, na tych samych rdzeniach będą wykonywać się operacje z innych VPS.
    Niestety pamięci RAM też mogą sprzedać więcej niż mają. Generują ją z zasobów dyskowych, a do sieci stosują techniki kolejkowania ruchu.
    Czy to oznacza, że VPSy współdzielone nie mają sensu i właściwie przepłacamy? Absolutnie nie, to wszystko jest kwestią Twoich potrzeb i budżetu. Jeśli chcesz mieć np. wysoko zindywidualizowane środowisko pod JAVĘ, ale tylko do testów, to nie będzie Ci absolutnie przeszkadzać fakt, iż tak naprawdę współdzielisz te zasoby i w rzeczywistości masz przy pełnym obciążeniu często 10% deklarowanej mocy. W servizza.com oferujemy dwa rodzaje serwerów: niskobudżetowe współdzielone (KVM) oraz gwarantowane i dedykowane Super VPS (w których masz na sztywno przypisane vCPU, pamięć RAM, fizyczną część karty sieciowej oraz natywne operacje IO z pełną akceleracją sprzętową (zalety tego rozwiązania opiszę w kolejnych odcinkach).

    Mit - VPS jest najlepszy, nie to co ten dziadowski hosting

    Wystawiając powyższą ocenę zapomina się o dwóch istotnych faktach:
    1. Musisz zarządzać swoim VPS, a to wymaga wiedzy.
    Jeśli wiesz co robisz i lubisz to, wtedy nie ma problemu. Dokonałeś świadomego wyboru i nie trzeba tu nic więcej pisać. W innym wypadku, uległeś właśnie czarowi marketingu i teraz, albo dopłacisz do usługi administracji, albo Twój operator dostarczy gotowe rozwiązania (np. webmin/plesk/cpanel) z zarządzaniem (ale tu również czeka Cię dodatkowa opłata). Niestety ostatecznie wcale nie oznacza, że serwer będzie zarządzany prawidłowo.
    2. Część zasobów zostanie skonsumowana przez operacje systemowe i Twoje demony.
    Twój hosting miał limit 756MB, ale teraz masz VPS z 1GB RAMu. Czar pryska po instalacji systemu i konfiguracji choćby podstawowego LAMP. Nagle masz mniej pamięci na PHP niż miałeś. U nas w servizza.com, np. w usłudze Solidny Hosting, czy Turbo Hosting, zasoby klienta pod PHP i procesy jego hostingu nie są mieszane np. z serwerem MySQL, WWW,, pocztą od strony systemowej. Pamiętaj więc, że często po przesiadce na współdzielony VPS może okazać się, że 4 x vCPU będzie wolniejsze niż kontener z dostępem do jednego rdzenia.

    Chmura czy zwykły VPS?

    Najlepszą odpowiedzią będzie tutaj trójpodział: koszt/zysk/potrzeba. Niewątpliwą przewagą chmur, z założenia jest ich mniejsza awaryjność (przynajmniej w teorii, bo szereg awarii w 2017 niestety nie rzuca dobrego światła na istniejące systemy). Na przykład, gdy padnie serwer host, to nadzorca chmury jest w stanie automatycznie zmigrować nasz VPS na inny serwer host, a często nawet nie zauważymy braku dostępu do usługi. Możliwe są tzw. żywe migracje, jeśli serwer matka jest przeciążony albo automatycznie skalujemy naszą usługę w górę.
    Środowiska takie można budować samodzielnie np. z pomocą OpenStack, ale można również wykorzystać gotowe infrastruktury, jak AWS czy Azure. Niemniej, niestety nie są to z założenia tanie rozwiązania i trzeba dobrze zaplanować swoje zużycie. Inna sprawa to to, jak w rzeczywistości wyglądają te chmury (ale na tym skupimy się w następnych częściach serii, podając argumenty za i przeciw).

    Kącik porad

    • Sprawdź swój typ wirtualizacji komendami: lshw, dmidecode,
    • Zacznij monitorować wydajność VPS, aby wiedzieć jak duży w przybliżeniu jest overselling (np. w servizza.com na Super VPS 0, korzystając z najprostszego skryptu (https://github.com/odan/benchmark-php) otrzymujemy średnią Total -> 0.573 w ciągu całego dnia). Możesz również wykorzystać oprogramowanie monit dla ładnych wykresów.
    • Sprawdź, czy Twój hosting wspiera szybką emulację: lspci |grep -i virtio.
    • Wykonaj testy I/O np. programem Fio, ale zanim to zrobisz, upewnij się, że nie jest podwójnie buforowany po stronie host (zapytaj usługodawcę, jaki masz limit danych odczytanych/zapisanych na dzień/godzinę (aby Cię nie zablokowali!)).
    • Zapytaj swojego usługodawcę, czy jest możliwość uzyskania informacji na temat virtio, pass-thru, cpu-pass, czy Twój RAM nie jest emulowany.

    Cóż, na dzisiaj to wszystko. Mamy nadzieję, że artykuł zachęci Cię do pozostania z nami do końca tej serii. W tym artykule poruszyliśmy tylko
    podstawy VPS i istniejącej oferty na rynku, ale następne odcinki poprowadzą nas przez meandry całej technologii wraz z mapowaniem tego
    na istniejące oferty. Zachęcamy do lektury kolejnych części, no i...
    liczymy na interakcję w komentarzach!

    ServizzaTeam

    0 2
  • Servizza
  • #2 25 Sty 2018 14:58
    jacekEL
    Poziom 2  

    Witam. Przydatne, dzięki.
    Ale mam pytanie: Jak zatem sprawdzić, czy dany sprzedawca oferuje dedykowane/gwarantowane zasoby? Czy jest jakakolwiek możliwość wiarygodnej weryfikacji?
    Pozdrawiam

    1
  • Servizza
  • #3 25 Sty 2018 15:49
    Servizza
    Poziom 1  

    jacekEL napisał:
    Witam. Przydatne, dzięki.
    Ale mam pytanie: Jak zatem sprawdzić, czy dany sprzedawca oferuje dedykowane/gwarantowane zasoby? Czy jest jakakolwiek możliwość wiarygodnej weryfikacji?
    Pozdrawiam


    Witam,
    Pewien obraz da przynajmniej 2-tygodniowy benchmark (np. phpbechmark). Najlepiej co sekundę sprawdzać na pustym serwerze.
    Przy czym proszę pamiętać, że on da tylko minimalny obraz, aby mieć pełny, trzeba wykonać więcej testów.
    Proponuję też zacząć od czegoś prostszego i szybszego - weryfikacji oferty. Na ile marketing odpowiada zapisom w regulaminie danej promocji. Dlaczego? Otóż, słowo marketingowe zniesie wiele i - w rzeczywistości - niestety nie pociąga za sobą zbyt dotkliwych konsekwencji. Ale już potwierdzenie tego w zapisach prawnych, nie jest takie obojętne. Stąd najczęściej tzw. gwiazdki i drobny druk. Proszę przejrzeć istniejące na rynku oferty w rodzaju 'XYZ bez limitów' - większość z nich nie wytrzymuje konfrontacji z 'gwiazdkami' (patrz wyżej: "gdy nie napiszemy, a klient nie zapyta, to nie kłamiemy, prawda?").

    Pozdrawiam,
    Piotrek
    Servizza Team

    2