Táboa de contidos
Se traballas na industria do software ou na súa contorna, probablemente xa escoitou falar de máquinas virtuais. Se non, podes estarte preguntando que son e para que se usan.
Como enxeñeiro de software, uso máquinas virtuais a diario. Son ferramentas potentes no desenvolvemento de software, pero tamén teñen outros usos. Tamén coñecidas como máquinas virtuales, moitas empresas utilízanas pola súa flexibilidade, fiabilidade e rendibilidade; tamén evitan desastres derivados das probas de software desbocadas.
Vexamos que son as máquinas virtuais e por que se usan.
Que é unha máquina virtual?
Unha máquina virtual é unha instancia dun sistema operativo (SO) como Windows, Mac OS ou Linux que se executa no sistema operativo principal dun ordenador.
Normalmente, execútase nunha xanela de aplicación no teu escritorio. Unha máquina virtual ten unha funcionalidade completa e actúa como unha computadora ou máquina separada. En esencia, unha máquina virtual é unha computadora virtual que se executa dentro doutra computadora coñecida como máquina host.
Imaxe 1: máquina virtual que se executa nun portátil.
Unha máquina virtual non non ten hardware (memoria, disco duro, teclado ou monitor). Usa hardware simulado da máquina host. Debido a isto, pódense executar varias máquinas virtuales, tamén chamadas "invitados", nunha única máquina host.
Imaxe 2: máquina host que executa varias máquinas virtuales.
O host tamén pode executar varias máquinas virtuales con diferentes operaciónssistemas, incluíndo Linux, Mac OS e Windows. Esta capacidade depende do software chamado hipervisor (consulte a imaxe 1 anterior). O hipervisor execútase na máquina host e permítelle crear, configurar, executar e xestionar máquinas virtuais.
O hipervisor asigna espazo no disco, programa o tempo de procesamento e xestiona o uso da memoria para cada máquina virtual. Isto é o que fan aplicacións como Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V e moitas outras: son hipervisores.
Un hipervisor pode executarse nun portátil, PC ou servidor. Pon as máquinas virtuais a disposición do ordenador local ou dos usuarios distribuídos nunha rede.
Os diferentes tipos de máquinas virtuais e ambientes requiren diferentes tipos de hipervisores. Vexamos algúns deles.
Tipos de máquinas virtuais
Máquinas virtuais do sistema
As máquinas virtuales do sistema, ás veces chamadas virtualización completa, son executadas por un hipervisor e proporcionan o funcionalidade dun sistema informático real. Usan o sistema operativo nativo do host para xestionar e compartir os recursos do sistema.
As máquinas virtuais do sistema adoitan necesitar un host potente con CPU rápidas ou múltiples, grandes cantidades de memoria e toneladas de espazo en disco. Algúns, que funcionan en ordenadores persoais ou portátiles, poden non requirir a potencia informática que necesitan os servidores virtuais das grandes empresas; non obstante, funcionarán lentamente se o sistema host non é o adecuado.
Procesar VirtualMáquinas
Procesar as máquinas virtuais son bastante diferentes das SVM; pode que se executen na súa máquina e nin sequera o saiba. Tamén se coñecen como máquinas virtuais de aplicacións ou ambientes de execución xestionados (MRE). Estas máquinas virtuais execútanse nun sistema operativo host e admiten aplicacións ou procesos do sistema.
Por que usar un PVM? Realizan servizos sen depender de sistemas operativos ou hardware específicos. Teñen o seu propio pequeno sistema operativo con só os recursos que necesitan. O MRE está nun ambiente separado; non importa se se executa en Windows, Mac OS, Linux ou calquera outra máquina host.
Unha das máquinas virtuais de procesos máis comúns é aquela da que probablemente escoitou falar e que pode ver en execución. o teu ordenador. Úsase para executar aplicacións Java e chámase Java Virtual Machine ou JVM para abreviar.
Tipos de hipervisores
A maioría das máquinas virtuais que nos ocupan usan un hipervisor porque emulan todo un sistema informático. Hai dous tipos diferentes de hipervisores: hipervisores bare metal e hipervisores aloxados. Botámoslles unha ollada rápida a ambos.
Bare Metal Hypervisor
Os BMH tamén se poden chamar hipervisores nativos e execútanse directamente no hardware do host en lugar de executarse no sistema operativo do host. De feito, ocupan o lugar do sistema operativo do host, a programación exestionando o uso de hardware por cada máquina virtual, eliminando así o "hombre intermedio" (o SO do host) no proceso.
Os hipervisores nativos úsanse normalmente para máquinas virtuales de empresas a gran escala, que as empresas usan para proporcionar aos empregados recursos do servidor. Microsoft Azure ou Amazon Web Services son máquinas virtuales aloxadas neste tipo de arquitectura. Outros exemplos son KVM, Microsoft Hyper-V e VMware vSphere.
Hipervisor aloxado
Os hipervisores aloxados execútanse en sistemas operativos estándar, como calquera outra aplicación que executamos nas nosas máquinas. Usan o sistema operativo do host para xestionar e distribuír recursos. Este tipo de hipervisor é máis adecuado para usuarios individuais que precisan executar varios sistemas operativos nas súas máquinas.
Estes inclúen aplicacións como Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop e moitas outras. Podes atopar información máis detallada sobre os hipervisores aloxados no noso artigo, Best Virtual Machine Software.
Por que usar máquinas virtuais?
Agora que tes unha comprensión básica do que é unha máquina virtual, é probable que poidas pensar nalgunhas aplicacións excelentes. Estas son algunhas das principais razóns polas que a xente usa máquinas virtuais.
1. Rentable
As máquinas virtuais son rendibles en numerosas situacións. Un dos máis destacados está no mundo corporativo. Usar servidores físicos para proporcionar recursos aos empregados podeser moi caro. O hardware non é barato e mantelo é aínda máis custoso.
O uso de máquinas virtuais como servidores empresariais converteuse na norma. Con máquinas virtuales dun provedor como MS Azure, non hai compras iniciais de hardware nin taxas de mantemento. Estas máquinas virtuales pódense configurar, configurar e usar por só un centavo por hora. Tamén se poden apagar cando non se usan e non supoñer ningún custo.
Usar unha máquina virtual na túa máquina tamén pode ser un gran aforro. Se necesitas traballar en varios sistemas operativos ou en diferentes configuracións de hardware, podes
utilizar varias máquinas virtuais nun mesmo host, sen necesidade de comprar un ordenador separado para cada tarefa.
2. Escalable e flexible
Se se trata de servidores empresariais ou máquinas virtuales que se executan no teu portátil, as máquinas virtuais son escalables. É doado axustar os recursos ás túas necesidades. Se necesitas máis memoria ou espazo no disco duro, só tes que ir ao hipervisor e reconfigurar a máquina virtual para ter máis. Non é necesario comprar hardware novo e o proceso pódese completar rapidamente.
3. Configuración rápida
Pódese configurar rapidamente unha máquina virtual nova. Tiven casos nos que necesitaba unha nova configuración de VM, chamei ao meu compañeiro de traballo que a xestiona e tíñaa lista para usala en menos dunha hora.
4. Recuperación ante desastres
Se intenta evitar a perda de datos e prepararse para a recuperación ante desastres, as máquinas virtuales poden ser unferramenta estupenda. Son fáciles de facer copias de seguranza e pódense distribuír en diferentes lugares se é necesario. Se un terceiro como Microsoft ou Amazon aloxa as máquinas virtuais, estarán fóra do sitio, o que significa que os teus datos están seguros se a túa oficina se queima.
5. Fácil de reproducir
A maioría dos hipervisores permítenche facer unha copia, ou imaxe, dunha máquina virtual. A imaxe permíteche reproducir facilmente reproducións exactas da mesma máquina virtual base para calquera situación.
No entorno no que traballo, ofrecémoslle a cada programador unha máquina virtual para que o utilice para o desenvolvemento e as probas. Este proceso permítenos ter unha imaxe configurada con todas as ferramentas e software necesarios. Cando temos un programador novo incorporado, todo o que temos que facer é facer unha copia desa imaxe e eles teñen o que necesitan para traballar.
6. Perfecto para Dev/Test
Unha das mellores vantaxes do uso de máquinas virtuais é que son unha ferramenta perfecta para o desenvolvemento e probas de software. As máquinas virtuales permiten aos desenvolvedores desenvolverse en varias plataformas e ambientes nunha mesma máquina. Se esa máquina virtual se corrompe ou se destrúe, pódese crear unha nova rapidamente.
Permiten que un probador teña un novo ambiente limpo para cada ciclo de proba. Traballei en proxectos nos que configuramos scripts de proba automatizados que crean unha nova máquina virtual, instalamos a versión máis recente do software, executamos todas as probas necesarias e, a continuación, eliminamos a máquina virtual unha vez que as probas se completaron.
As máquinas virtuales funcionan de xeito excelente paraprobas de produtos e revisións como as que facemos aquí en SoftwareHow.com. Podo instalar aplicacións nunha máquina virtual que se executa na miña máquina e probalas sen desordenar o meu ambiente principal.
Cando remate a proba, sempre podo eliminar a máquina virtual e, a continuación, crear unha nova cando o necesite. Este proceso tamén me permite probar en varias plataformas aínda que só teño unha máquina Windows.
Final Words
Como podes ver, as máquinas virtuais son unha ferramenta versátil e rentable que pode ser usado para moitas aplicacións. Xa non necesitamos comprar, configurar e manter hardware caro para proporcionar acceso ao servidor para probadores, desenvolvedores e outros. As máquinas virtuales ofrécennos a flexibilidade para crear de xeito sinxelo e rápido os sistemas operativos, o hardware e os ambientes que necesitamos, en calquera momento.