Hopp til innhold

Usługi chmurowe i wirtualizacja

Skip to content

To jest tekst przetłumaczony maszynowo, który może zawierać błędy!

Wirtualizacja umożliwia wielu maszynom lub ograniczonym środowiskom współdzielenie fizycznej infrastruktury sprzętowej. Usługi chmurowe oferują zasoby jako usługi przez sieć, zazwyczaj z samodzielną obsługą oraz możliwością skalowania. Możesz wirtualizować sprzęt, który posiadasz na własność, a środowisko wirtualizacji nie jest automatycznie chmurą obliczeniową.

Tutaj należy wyjaśnić, co wirtualna maszyna (VM) i kontener dzielą z systemem gospodarza, oraz rozróżnić IaaS, PaaS i SaaS za pomocą własnych przykładów. Nie musisz kupować usługi chmurowej. Użyj VM, do której już masz dostęp, lub podanych w tekście przykładów.

Miejsce w materiałach dydaktycznych: Ten poziom wyjaśnia wirtualizację w architekturze operacyjnej. Rdzeń systemu operacyjnego wyjaśnia, które elementy ma odrębną wersję gośćowy system operacyjny. Mapa przeglądowa przedstawia relacje części–całości, powiązania techniczne oraz ścieżki do zadań praktycznych.

Czym jest wirtualizacja?

Wirtualizacja oznacza uruchamianie wielu „wirtualnych” maszyn na tej samej maszynie fizycznej. Zamiast posiadania osobnego serwera fizycznego dla serwera WWW, jednego dla bazy danych i jeszcze jednego dla serwera plików, możesz uruchomić wszystkie trzy jako maszyny wirtualne na jednej i tej samej maszynie.

Oprogramowanie umożliwiające to nazywa się hiperwisorem:

Typ Wyjaśnienie Przykład
Typ 1 (bare-metal) Platforma wirtualizacji instalowana bezpośrednio na serwerze Proxmox VE (KVM), VMware ESXi
Typ 2 (gościowy) Działa nad zwykłym systemem operacyjnym VirtualBox, VMware Workstation

Type 1 vs. Type 2

  • Type 1 to to, czego używamy w produkcji i w serwerowni. Proxmox działa bezpośrednio na serwerze.
  • Type 2 to to, czego używasz na swoim komputerze do testów. VirtualBox działa na Windows lub macOS.

Czym jest wirtualna maszyna (VM)?

Wirtualna maszyna to urządzenie z wirtualnym procesorem (CPU), pamięcią i dyskiem. Uruchamia system gościa z własnym jądrem, podczas gdy hypervisor zapewnia dostęp do sprzętu fizycznego. Proxmox VE używa systemu Linux oraz KVM do uruchamiania maszyn wirtualnych; fraza „bezpośrednio na serwerze” nie oznacza braku jądra systemu operacyjnego w platformie.

Zalety maszyn wirtualnych:

  • Izolacja – Błąd w jednym systemie gościa zazwyczaj nie musi zatrzymywać innych maszyn wirtualnych. Współdzielą jednak hosta, magazynowanie danych i inne zasoby, co może prowadzić do wspólnych awarii lub niedoboru zasobów.
  • Elastyczność – Możesz uruchomić różne systemy operacyjne na tym samym komputerze (np. Ubuntu i Windows Server).
  • Migawka/kopia zapasowa – Możesz wykonać migawkę maszyny wirtualnej i przywrócić poprzedni stan, jeśli coś pójdzie nie tak.
  • Wykorzystanie zasobów – Fizyczny komputer wyposażony w dużą ilość RAM i CPU może obsługiwać wiele maszyn wirtualnych.

Czym są kontenery?

Kontener Linuksa uruchamia aplikację w odizolowanym środowisku i współdzieli jądro systemu operacyjnego Linuksa, na którym działa. Maszyna wirtualna ma własny system gościa z własnym jądrem.

Conteinery i maszyny wirtualne zawiera zilustrowane porównanie oraz pokazuje również, jak wiele kontenerów może być uruchamianych wewnątrz jednej maszyny wirtualnej. Użyj tego do wyjaśnienia, co jest współdzielone przez jądro i co się dzieje, gdy maszyna wirtualna zostanie wyłączona. Następnie Poziom 0 Dockera wprowadza konkretny narzędzie do aplikacji kontenerowych.

W praktyce często używamy obu: maszyn wirtualnych jako hostów dla kontenerów Dockera.

Usługi chmurowe

W publicznej chmurze dostawca posiada i utrzymuje infrastrukturę, a Ty zamawiasz zasoby przez sieć. Prywatna chmura jest przeznaczona dla jednej organizacji i może być utrzymywana bezpośrednio przez tę organizację lub przez dostawcę. Samodzielne zarządzanie, współdzielone magazyny zasobów, skalowanie oraz mierzenie zużycia są kluczowymi cechami chmury.

Modele usługowe

Istnieją trzy główne modele usług chmurowych:

Model Pełna nazwa Co otrzymujesz Czym zarządzasz samodzielnie Przykład
IaaS Infrastruktura jako usługa (Infrastructure as a Service) Wirtualne maszyny, sieci i magazynowanie System operacyjny, aplikacje, konfiguracja Azure VM, AWS EC2
PaaS Platforma jako usługa (Platform as a Service) Gotowa platforma do uruchamiania Twojego kodu Tylko aplikacji Azure App Service, Heroku
SaaS Oprogramowanie jako usługa (Software as a Service) Gotowe aplikacje używane przez przeglądarkę lub aplikację Użytkownicy, dostęp, dane i dostępne ustawienia Microsoft 365, Google Docs

Prosty sposób, aby to zapamiętać

  • IaaS = Wynajmujesz pustą maszynę. Sam instalujesz i konfigurujesz wszystko.
  • PaaS = Wynajmujesz gotowe środowisko. Musisz tylko wstawić swój kod.
  • SaaS = Wynajmujesz gotową aplikację. Musisz tylko się zalogować i z niej korzystać.

Modele dostawy

Usługi chmurowe mogą być świadczone na różne sposoby:

Model Opis Przykład
Chmura publiczna Współdzielona infrastruktura dostępna dla wszystkich Azure, AWS, Google Cloud
Chmura prywatna Środowisko chmurowe dla jednej firmy Wewnętrzne środowisko z samodzielną obsługą, współdzieleniem zasobów i skalowaniem
Chmura hybrydowa Kombinacja publicznej i prywatnej Niektóre usługi lokalnie, niektóre w Azure

VPS: Rozwiązanie chmurowe

VPS (wirtualny serwer prywatny) to jedno z najpopularniejszych rozwiązań typu IaaS. Wynajmujesz maszynę wirtualną u dostawcy usług chmurowych i masz nad nią pełną kontrolę, tak jak gdybyś posiadał własny serwer.

Typowe zastosowania:

  • Uruchamianie serwera WWW
  • Konfigurowanie usługi VPN
  • Hosting aplikacji (np. Flask + baza danych)
  • Testowanie funkcji bez ryzyka dla własnego sprzętu

Przykłady dostawców oferujących serwery wirtualne:

  • Akamai (Linode)
  • DigitalOcean
  • Hetzner
  • Microsoft Azure

Koszty w chmurze

Sprawdź ceny i ustaw powiadomienia o kosztach przed zamówieniem zasobów. Zatrzymana maszyna wirtualna może nadal generować koszty, np. za przechowywanie danych lub zarezerwowane adresy IP. Zweryfikuj, co dostawca pobiera opłaty, i usuń zasoby, których nie zamierzasz już używać.

Lokalnie vs. w chmurze

Wiele firm korzysta z połączenia serwerów lokalnych i usług chmurowych. Oto kilka czynników do rozważenia:

Czynnik Lokalnie (on-premises) Chmura
Kontrola Pełna kontrola nad sprzętem i danymi Zależność od dostawcy
Koszt Duża inwestycja na początku Bieżące miesięczne koszty
Skalowalność Ograniczona fizycznym sprzętem Możliwość skalowania w górę i w dół w zależności od potrzeb
Utrzymanie Musisz wszystko naprawiać sam Dostawca zarządza sprzętem
Prywatność Wiesz, gdzie znajdują się dane Dane mogą być przechowywane w innych krajach

Łatwo Zadanie 1 – Badzenie maszyny wirtualnej

Użyj maszyny wirtualnej, do której już masz dostęp. Jeśli korzystasz z Proxmoxa, strona [[Instalacja serwera poziom 3 - Nawigowanie po Proxmox VE|Nawiguj w Proxmox VE]] pokazuje, jak odczytać informacje o procesorze, pamięci operacyjnej i dysku. Aby utworzyć maszynę wirtualną, postępuj zgodnie z [[Instalacja serwera poziom 2 - Maszyna wirtualna w Proxmox|instrukcją instalacji]]. Nie musisz instalować dodatkowego hipervizora na własnym komputerze dla tego zadania.

  • Ile zasobów CPU, RAM i miejsca na dane przypisano do tej maszyny wirtualnej?
  • Jakie zasoby są współdzielone z innymi maszynami wirtualnymi na fizycznym hoście?
  • Co może się stać, jeśli kilka maszyn wirtualnych łącznie potrzebuje więcej pamięci niż jest dostępne u hosta? Wyjaśnij to bez zmiany przydziału zasobów.

Jeśli nie masz dostępu do żadnej maszyny wirtualnej, użyj propozycji dotyczących zasobów zawartych w instrukcji instalacji jako przykładu teoretycznego. W takim przypadku oznacz odpowiedź jako wyjaśnienie przykładu, a nie jako przeprowadzoną instalację.

Łatwy Zadanie 2 – Uruchom kontener za pomocą Dockera

Wykorzystaj kontener Nginxa z [[Używanie kontenerów Poziom 1 – Uruchomienie i badanie kontenera|Uruchomienie i badanie kontenera]], jeśli już wykonałeś ćwiczenie. Jeśli go usunąłeś, utwórz go ponownie w sposób pokazany w ćwiczeniu dotyczącym kontenerów. Brakuje Ci Dockera? Zacznij od [[Poziom 1 Dockera – Wstęp do pracy|instalacji]]. Wyjaśnij, które jądro systemu operacyjnego wykorzystuje kontener, i porównaj jego uruchamianie z uruchamianiem maszyny wirtualnej. Jeśli nie masz dostępu do Dockera, użyj [[Wirtualizacja kontenerowa Poziom 1 – Kontenery i maszyny wirtualne|rycin ilustrujących konteneryzację]], aby wyjaśnić różnicę bez udawania, że przeprowadzono praktyczny test.

Łatwy Zadanie 3 – Jakie usługi chmurowe już używasz?

Pomyśl o usługach, których codziennie korzystasz:

  • Microsoft 365 (Word, Teams, OneDrive) to usługa SaaS
  • GitHub Pages do hostowania strony internetowej to usługa PaaS
  • Wirtualna maszyna w Proxmoxie pokazuje wirtualizację. Nie jest ona automatycznie usługą IaaS; zależy od tego, jak zasoby są dostarczane i zarządzane jako usługa.

Czy potrafisz sklasyfikować inne usługi, z których korzystasz?

Easy Zadanie 4 - Gdzie znajdują się Twoje dane?

Przejdź do Microsoft Privacy Dashboard i sprawdź, co Microsoft przechowuje o Tobie. Sprawdź również warunki korzystania z usługi w chmurze, z której korzystasz:

  • Gdzie na świecie przechowywane są dane?
  • Co się stanie z danymi, jeśli usuniesz swoje konto?
  • Czy jesteś właścicielem swoich danych, czy dostawca?

Te pytania są szczególnie ważne w kontekście RODO i prywatności.

Sprawdź wyjaśnienie

Wyjaśnij ustnie lub na piśmie, dlaczego maszyna wirtualna (VM) w Proxmox nie jest automatycznie usługą chmurową. Wybierz następnie po jednym przykładzie dla modeli IaaS, PaaS oraz SaaS i opisz, co klient i dostawca zarządzają w każdym przypadku. Jeśli jedynie wymieniasz nazwy, użyj tabeli z modelami serwisowymi, aby wyjaśnić podział odpowiedzialności.

Podsumowanie

  • Wirtualizacja pozwala uruchamiać wiele usług na tym samym sprzęcie, zarówno jako maszyny wirtualne, jak i kontenery
  • Usługi chmurowe oferują zasoby przez sieć, z takimi funkcjami jak samoobsługa i skalowalność
  • IaaS, PaaS oraz SaaS opisują zakres Twojej odpowiedzialności
  • W praktyce wielu użytkowników stosuje rozwiązanie hybrydowe, łączące usługi lokalne i oparte o chmurę
  • Wybór między rozwiązaniem lokalnym a chmurowym zależy od kontroli, kosztów, skalowalności i ochrony prywatności

Źródła: NIST: definicja usług chmurowych oraz Proxmox VE: KVM i maszyny wirtualne.