CZY WIRTUALNE MASZYNY TO RELIKT PRZESZŁOŚCI?
Wirtualna maszyna jest oprogramowaniem zachowującym się zupełnie jak zwykły komputer. Emuluje procesor wraz z kilkoma innymi podzespołami, co umożliwia programom wykonywanie ich zadań, obliczeń, odczytywanie i zapis w pamięci oraz współpracę z gadżetami I/O, zupełnie jak tradycyjny komputer. W szczególności potrafi zrozumieć język maszynowy, który jest wynikiem wytworzonego oprogramowania.
Wirtualne maszyny stały się bardzo popularne za sprawą ewolucji wirtualizacji. Istnieje wiele różnych zadań, które mogą być wykonywane przez wirtualne maszyny i są to zadania zgoła inne niż te wykonywane w środowisku hosta. Dzięki technikom wirtualizacji sprzętu i emulacji warstwy hardwarowej, wdrażanie wirtualnych maszyn przebiega dużo sprawniej.
Jakie mamy inne możliwości poza użytkowaniem wirtualnych maszyn?
Tutaj do gry przystępuje Docker. Kontenery działają na tym samym systemie i nie mają tylu warstw do pokonania jak typowa wirtualna maszyna. Zwiększa to ich szybkość i skalowalność. Nie musimy marnować cennych zasobów do działania kilku systemów operacyjnych.
Docker ponadto używa warstwowego systemu plików (AuFS) i zarządzania siecią.
Ale o co chodzi z tą wirtualizacją?
Kiedy przestaniemy mieć dostęp do zalet wirtualnych maszyn, odczujemy ich wyraźny brak. Tym właśnie sposobem dochodzimy do głównego tematu dyskusji.
Maszyna wirtualna umożliwia jednoczesne działanie różnorodnych systemów operacyjnych na jednym serwerze. Wyobraź sobie, że jednocześnie uruchamiasz Windows Server, Linux, Windows 10. Wykorzystanie mocnych stron każdego z tych systemów wielokrotnie usprawni twoją pracę.
Wirtualne maszyny mają wiele zalet, gdy są używane do funkcjonowania systemów biznesowych. Niektórzy administratorzy boją się umieszczania wielu aplikacji na swoich serwerach, ponieważ uważają, że te przestaną działać dostatecznie szybko, co w efekcie zniechęci użytkowników. W przypadku maszyn wirtualnych problem ten rozwiązano poprzez możliwość przydzielania odpowiednich zasobów wystarczających do sprawnego działania oprogramowania.
Maszyny wirtualne mają dużą rolę w procesie odzyskiwania danych. Oznacza to, że umożliwiają one wycofanie zmian, gdy w ich efekcie nastąpi katastrofa. Wzbudza to zaufanie do firmowych systemów i poprawia komfort pracy administratorów. Przełączanie pomiędzy działającymi instancjami aplikacji jest natychmiastowe i może być niezauważalne dla użytkowników.
Cała moc chmury opiera się na wirtualizacji. Na serwerach AWS została od niedawna wykorzystana technologia KVM (Kernel-based Virtual Machine), pozwalająca na płynny dostęp do złożonych profili sprzętowych i sieciowych, jakie mogą zostać wykorzystane w infrastrukturze serwerowni.
Oczywistym jest, że do sprawnego funkcjonowania środowiska serwerów potrzebne jest posiadanie wirtualnych maszyn. Usprawniają one zarządzanie wprowadzonymi do firmy rozwiązaniami w różnych modelach biznesowych.
No i co z tego?
Moc i realizacja idei maszyny wirtualnej wynika z możliwości, jakie mają ich użytkownicy w zakresie wykorzystania sprzętu i jego funkcjonalności. Można odnieść wrażenie, że wśród programistów to Docker jest głównym systemem wirtualizacji. Jednakże jeśli spojrzeć na statystyki wykorzystania usług w chmurach to maszyny wirtualnie (np: EC2 w AWS) są na pierwszym miejscu list zakupów.
Zmiana tego stanu rzeczy może nastąpić w sytuacji, gdy popularność zyskają rozwiązania typu SaaS – Software as a Service, ale do tego czasu VM są pierwszą usługą kupowaną w chmurze.