To jest tekst przetłumaczony maszynowo, który może zawierać błędy!
Usługi chmurowe i wirtualizacja ściśle ze sobą współpracują: obie dotyczą wykorzystywania zasobów danych bez konieczności posiadania całego sprzętu. Istnieją jednak pewne ważne różnice.
Co to jest wirtualizacja?
Wirtualizacja oznacza uruchamianie wielu „wirtualnych” maszyn na jednej fizycznej maszynie. Zamiast mieć oddzielny fizyczny serwer dla serwera WWW, jeden dla bazy danych i jeden dla serwera plików, możesz uruchomić wszystkie trzy jako maszyny wirtualne na jednej i tej samej maszynie.
Oprogramowanie, które to umożliwia, nazywane jest hypervisorem:
| Typ | Wyjaśnienie | Przykład |
|---|---|---|
| Typ 1 (bare-metal) | Uruchamia się bezpośrednio na sprzęcie, bez zwykłego systemu operacyjnego poniżej | Proxmox, VMware ESXi |
| Typ 2 (hosted) | Uruchamia się na wierzchu zwykłego systemu operacyjnego | 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.
Co to jest maszyna wirtualna (VM)?
VM to cały system operacyjny działający wewnątrz innego. Posiada własną (wirtualną) pamięć, procesor i dysk, ale współdzieli fizyczny sprzęt z innymi VM-ami.
Zalety VM-ów:
- Izolacja - Każdy VM jest niezależny. Jeśli jeden VM ulegnie awarii, nie wpływa to na inne.
- Elastyczność - Możesz uruchamiać różne systemy operacyjne na tej samej maszynie (np. Ubuntu i Windows Server).
- Snapshot/backup - Możesz zrobić migawkę VM-a i przywrócić ją w przypadku problemów.
- Wykorzystanie zasobów - Jedna maszyna fizyczna z dużą ilością pamięci RAM i procesora może uruchamiać wiele VM-ów.
Czym są kontenery?
Kontenery są lżejsze niż maszyny wirtualne (VM). Dzielą jądro systemu operacyjnego z maszyną hostującą, ale działają w izolowanych środowiskach.
| Właściwość | VM | Kontener |
|---|---|---|
| Rozmiar | Duży (cały OS) | Mały (tylko aplikacja i zależności) |
| Czas uruchomienia | Minuty | Sekundy |
| Izolacja | Silna (własny OS) | Dobra, ale współdzieli jądro OS |
| Zastosowanie | Gdy potrzebujesz całego systemu OS | Aplikacje jednoinstancyjne i mikroserwisy |
| Przykład | Proxmox VM, VirtualBox | Docker, Podman |
Kiedy używamy czego?
- Użyj VM kiedy potrzebujesz całego systemu operacyjnego, np. Windows Server lub serwera Linux z pełną kontrolą.
- Użyj kontenera kiedy potrzebujesz tylko uruchomić aplikację, np. serwer WWW, bazę danych lub Grafanę.
W praktyce często używamy obu: VM jako hostów dla kontenerów Docker.
Usługi chmurowe
Usługi chmurowe oznaczają, że ktoś inny jest właścicielem i zarządcą sprzętu, a Ty wynajmujesz to, czego potrzebujesz przez Internet. Zamiast kupować i utrzymywać fizyczny serwer, płacisz za korzystanie z maszyny wirtualnej w chmurze.
Modele usług
Istnieją trzy główne modele usług chmurowych:
| Model | Pełna nazwa | Co otrzymujesz | Co zarządzasz samodzielnie | Przykład |
|---|---|---|---|---|
| IaaS | Infrastructure as a Service | Wirtualne maszyny, sieć i pamięć masowa | OS, aplikacje, konfiguracja | Azure VM, AWS EC2 |
| PaaS | Platform as a Service | Gotowa platforma do uruchamiania kodu | Tylko aplikacja | Azure App Service, Heroku |
| SaaS | Software as a Service | Gotowe aplikacje, z których korzystasz przez przeglądarkę | Nic technicznie | 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 dostarczania
Usługi chmurowe mogą być dostarczane na różne sposoby:
| Model | Wyjaśnienie | Przykład |
|---|---|---|
| Chmura publiczna | Udostępniana infrastruktura dostępna dla wszystkich | Azure, AWS, Google Cloud |
| Chmura prywatna | Dedykowana infrastruktura dla przedsiębiorstwa | Proxmox w serwerowni szkoły |
| Chmura hybrydowa | Połączenie chmury publicznej i prywatnej | Niektóre usługi lokalnie, niektóre w Azure |
VPS: Popularne rozwiązanie w chmurze
VPS (Virtual Private Server) to jedno z najpopularniejszych rozwiązań IaaS. Wynajmujesz wirtualną maszynę od dostawcy chmury i masz nad nią pełną kontrolę, tak jakbyś posiadał własny serwer.
Typowe zastosowania:
- Uruchomienie serwera WWW
- Konfiguracja usługi VPN
- Hostowanie aplikacji (np. Flask + baza danych)
- Testowanie rzeczy bez ryzyka uszkodzenia własnego sprzętu
Popularni dostawcy VPS:
| Dostawca | Zalety |
|---|---|
| Linode (Akamai) | Prosty, dobrze wyceniony, dobre poradniki |
| DigitalOcean | Przyjazny dla użytkownika, dobra dokumentacja |
| Hetzner | Niedrogi, europejski (zgodny z RODO) |
| Azure | Zintegrowany z ekosystemem Microsoft |
Koszty w chmurze
Usługi chmurowe kosztują pieniądze i mogą szybko stać się drogie, jeśli nie będziesz uważać. Maszyna wirtualna działająca 24/7 kosztuje więcej niż ta, którą wyłączasz po użyciu. Zawsze sprawdzaj ceny i ustaw powiadomienia o kosztach.
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 |
Zadanie 1 - Uruchom maszynę wirtualną na swoim komputerze
Pobierz VirtualBox (bezpłatnie) i spróbuj zainstalować dystrybucję Linuksa, na przykład Ubuntu Desktop lub Linux Mint.
- Ile RAM i CPU wybierasz przydzielić maszynie wirtualnej?
- Czy zauważasz, że twój komputer staje się wolniejszy podczas działania maszyny wirtualnej?
- Co się stanie, jeśli spróbujesz przydzielić maszynie wirtualnej więcej RAM-u, niż posiada twój komputer?
Daje to dobre wyczucie tego, jak maszyny wirtualne dzielą zasoby fizycznego komputera.
Zadanie 2 - Uruchom kontener za pomocą Dockera
Jeśli masz zainstalowanego Dockera (lub masz dostęp do maszyny wirtualnej z Dockerem), spróbuj uruchomić:
docker run -d -p 8080:80 nginx # Kjør en nginx-container i bakgrunnen og mapp port 8080 på verten til port 80 i containeren. -> Uruchom kontener nginx w tle i odwzoruj port 8080 na hoście do portu 80 w kontenerze.
Odwiedź następnie http://localhost:8080 w przeglądarce. Uruchomiłeś teraz serwer WWW w kontenerze! Porównaj, ile to zająło w porównaniu do skonfigurowania całej maszyny wirtualnej z Nginx.
Zadanie 3 - Jakich usług chmurowych już używasz?
Zastanów się, z jakich usług korzystasz na co dzień:
- Microsoft 365 (Word, Teams, OneDrive) to SaaS
- GitHub Pages do hostowania strony internetowej to PaaS
- Jeśli tworzysz VM w Proxmox w szkole, jest to w praktyce IaaS (tylko lokalnie)
Czy potrafisz skategoryzować inne usługi, z których korzystasz?
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.
Podsumowanie
- Wirtualizacja pozwala na uruchamianie wielu usług na tym samym sprzęcie, zarówno jako VM, jak i kontenery.
- Usługi chmurowe oznaczają, że ktoś inny jest właścicielem sprzętu, a Ty wynajmujesz to, czego potrzebujesz.
- IaaS, PaaS i SaaS opisują, jak dużą odpowiedzialność ponosisz sam.
- W praktyce wielu korzysta z rozwiązania hybrydowego z usługami lokalnymi i chmurowymi.
- Wybór między lokalnie a w chmurze dotyczy kontroli, kosztów, skalowalności i prywatności.