Porównanie kontenerów z maszynami wirtualnymi
Wirtualizacja sprzętu umożliwia jednoczesne uruchamianie wielu izolowanych wystąpień systemów operacyjnych na tym samym sprzęcie fizycznym. Kontenery reprezentują kolejny etap wirtualizacji zasobów obliczeniowych.
Wirtualizacja oparta na kontenerach umożliwia wirtualizację systemu operacyjnego. Takie podejście umożliwia uruchamianie wielu aplikacji w tym samym wystąpieniu systemu operacyjnego przy zachowaniu izolacji między aplikacjami. Kontenery na maszynie wirtualnej zapewniają funkcje podobne do tych maszyn wirtualnych na serwerze fizycznym.
Informacje o kontenerach a maszynach wirtualnych
Aby lepiej zrozumieć wirtualizację opartą na kontenerach, porównajmy kontenery i maszyny wirtualne.
Compare | Kontenery | Maszyny wirtualne |
---|---|---|
Izolacja | Kontener zwykle zapewnia uproszczoną izolację od hosta i innych kontenerów, ale kontener nie zapewnia tak silnej granicy zabezpieczeń jak maszyna wirtualna. | Maszyna wirtualna zapewnia pełną izolację od systemu operacyjnego hosta i innych maszyn wirtualnych. Ta separacja jest przydatna, gdy silna granica zabezpieczeń ma kluczowe znaczenie, takie jak hostowanie aplikacji od konkurencyjnych firm na tym samym serwerze lub klastrze. |
System operacyjny | Kontenery uruchamiają część systemu operacyjnego w trybie użytkownika i można je dostosować tak, aby zawierały tylko potrzebne usługi dla aplikacji. Takie podejście ułatwia korzystanie z mniejszej liczby zasobów systemowych. | Maszyny wirtualne uruchamiają kompletny system operacyjny, w tym jądro, które wymaga większej ilości zasobów systemowych (procesora CPU, pamięci i magazynu). |
Wdrożenie | Poszczególne kontenery można wdrożyć przy użyciu platformy Docker za pośrednictwem wiersza polecenia. Wiele kontenerów można wdrożyć przy użyciu orkiestratora, takiego jak usługa Azure Kubernetes Service. | Poszczególne maszyny wirtualne można wdrożyć przy użyciu Programu Windows Admin Center lub Menedżera funkcji Hyper-V. Można wdrożyć wiele maszyn wirtualnych przy użyciu programu PowerShell lub programu System Center Virtual Machine Manager. |
Magazyn trwały | Kontenery używają dysków platformy Azure dla magazynu lokalnego dla jednego węzła lub usługi Azure Files (udziałów SMB) dla magazynu współużytkowanego przez wiele węzłów lub serwerów. | Maszyny wirtualne używają wirtualnego dysku twardego (VHD) dla magazynu lokalnego dla jednej maszyny lub udziału plików SMB dla magazynu współużytkowanego przez wiele serwerów. |
Odporność na uszkodzenia | Jeśli węzeł klastra ulegnie awarii, koordynator w innym węźle klastra szybko ponownie utworzy wszystkie kontenery uruchomione w węźle. | Maszyny wirtualne mogą przejść w tryb failover na inny serwer w klastrze, gdzie system operacyjny maszyny wirtualnej jest uruchamiany ponownie na nowym serwerze. |
Kwestie do rozważenia podczas korzystania z kontenerów
Kontenery oferują kilka zalet w porównaniu z maszynami fizycznymi i wirtualnymi. Zapoznaj się z poniższymi korzyściami i zastanów się, jak można zaimplementować kontenery dla aplikacji wewnętrznych w firmie.
Rozważ elastyczność i szybkość. Uzyskaj większą elastyczność i szybkość podczas tworzenia i udostępniania kodu aplikacji konteneryzowanej.
Rozważ przetestowanie. Wybierz kontenery dla konfiguracji, aby umożliwić uproszczone testowanie aplikacji.
Rozważ wdrożenie aplikacji. Zaimplementuj kontenery w celu uzyskania usprawnionego i przyspieszonego wdrażania aplikacji.
Rozważ gęstość obciążenia. Obsługa większej gęstości obciążeń i ulepszanie wykorzystania zasobów przez pracę z kontenerami.