Características de la virtualización – Part 1

Requisito previo: virtualización en computación en la nube y tipos 

1. Mayor seguridad – 

La capacidad de controlar la ejecución de un programa invitado de manera completamente transparente abre nuevas posibilidades para ofrecer un entorno de ejecución seguro y controlado. Todas las operaciones de los programas invitados generalmente se realizan contra la máquina virtual, que luego las traduce y las aplica a los programas host. 
Un administrador de máquinas virtuales puede controlar y filtrar la actividad de los programas invitados, evitando así que se realicen algunas operaciones dañinas. Los recursos expuestos por el host pueden ocultarse o simplemente protegerse del invitado. El aumento de la seguridad es un requisito cuando se trata de código que no es de confianza. 
Ejemplo-1: el código que no es de confianza se puede analizar en el entorno de sandbox de Cuckoo. 
El término sandbox identifica un entorno de ejecución aislado donde las instrucciones pueden filtrarse y bloquearse antes de traducirse y ejecutarse en el entorno de ejecución real. 
Ejemplo-2: La expresión sandboxed version of the Java Virtual Machine (JVM) hace referencia a una configuración particular de la JVM donde, mediante una política de seguridad, se pueden bloquear instrucciones que se consideren potencialmente dañinas. 

2. Ejecución gestionada – 

En particular, compartir, agregar, emular y aislar son las características más relevantes. 

Functions enabled by a managed execution 

Funciones habilitadas por una ejecución administrada 

3. Compartir – 

La virtualización permite la creación de un entorno informático independiente dentro del mismo host. Esta característica básica se utiliza para reducir la cantidad de servidores activos y limitar el consumo de energía. 

4. Agregación – 

Es posible compartir recursos físicos entre varios invitados, pero la virtualización también permite la agregación, que es el proceso opuesto. Un grupo de hosts separados se puede vincular y representar a los invitados como un único host virtual. Esta funcionalidad se implementa con un software de gestión de clústeres, que aprovecha los recursos físicos de un grupo homogéneo de máquinas y las representa como un único recurso. 

5. Emulación – 

Los programas invitados se ejecutan dentro de un entorno controlado por la capa de virtualización, que en última instancia es un programa. Además, se puede emular un entorno completamente diferente con respecto al host, lo que permite la ejecución de programas invitados que requieren características específicas que no están presentes en el host físico. 

6. Aislamiento – 

La virtualización permite proporcionar a los invitados, ya sean sistemas operativos, aplicaciones u otras entidades, un entorno completamente separado en el que se ejecutan. El programa invitado realiza su actividad interactuando con una capa de abstracción, que proporciona acceso a los recursos subyacentes. La máquina virtual puede filtrar la actividad del invitado y evitar operaciones dañinas contra el host. 

Además de estas características, otra capacidad importante habilitada por la virtualización es el ajuste del rendimiento. Esta característica es una realidad en la actualidad, dados los considerables avances en hardware y software que soportan la virtualización. Se vuelve más fácil controlar el rendimiento del invitado ajustando con precisión las propiedades de los recursos expuestos a través del entorno virtual. Esta capacidad proporciona un medio para implementar de manera efectiva una infraestructura de calidad de servicio (QoS). 

7. Portabilidad – 

El concepto de portabilidad se aplica de diferentes maneras según el tipo específico de virtualización que se considere.
En el caso de una solución de virtualización de hardware, el invitado se empaqueta en una imagen virtual que, en la mayoría de los casos, se puede mover y ejecutar de forma segura sobre diferentes máquinas virtuales. 
En el caso de la virtualización a nivel de programación, implementada por JVM o el tiempo de ejecución de .NET, el código binario que representa los componentes de la aplicación (jars o ensamblados) puede ejecutarse sin ninguna recompilación en ninguna implementación de la máquina virtual correspondiente. 
 

Publicación traducida automáticamente

Artículo escrito por Madhurkant Sharma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *