Virtualización basada en contenedores y SD-WAN

virtualizationDesde hace ya mÔs de una década, la tecnología de virtualización de hardware, mÔs conocida como mÔquinas virtuales, se ha convertido en la base de los sistemas en producción que hoy usamos en nuestra sociedad de la información. AdemÔs, ha hecho rentable y sostenible, en plena crisis económica, la evolución del software y los servicios conectados a la red .

Pero no olvidemos que la virtualización se puede implementar a distintos niveles, y la evolución tecnológica nunca cesa en su intento de conseguir sistemas mÔs potentes y eficientes, como la virtualización a nivel de sistema operativo, tecnología que estÔ causando furor en los últimos años.

Se define virtualización como la abstracción de algún recurso de computación, como el hardware, el sistema operativo, sistemas de almacenamiento o recursos de red, que podemos dividir mediante software, en entornos de ejecución, para aprovechar al mÔximo la capacidad del recurso subyacente. La capa de software arbitra los recursos disponibles, repartiendo dinÔmicamente los recursos reales entre todos los recursos virtuales definidos.

¿Qué es la virtualización a nivel de sistema operativo o virtualización basada en contenedores?

La virtualización a nivel de sistema operativo o contenerización, es una aproximación a la virtualización en la cual, la capa de virtualización se ejecuta como una aplicación en el sistema operativo.

En este enfoque, los contenedores son mƔquinas virtuales aisladas entre sƭ, que estƔn instaladas sobre el mismo sistema operativo

Cada contenedor dispone de su software específico, pero comparte el kernel del sistema operativo anfitrión, y usualmente también binarios y librerías. Utilizando estos componentes compartidos como de solo lectura .

 

Un contenedor se compone, principalmente, de 4 elementos:


1. Demonio: es el proceso principal de la plataforma.
2. Cliente: se trata del binario que constituye la interfaz y que permite al usuario interactuar con el Demonio.
3. Imagen: plantilla utilizada para crear el contenedor para la aplicación que se pretende ejecutar.
4. Sistema de ficheros: donde se almacena todo lo necesario (librerías, dependencias, binarios, etc.), para que la aplicación pueda ejecutarse de forma aislada.

Gracias a la contenerización se consigue una portabilidad real, que permite predecir el comportamiento de un software cuando se mueve de un servidor a otro distinto. Esto se debe a que el contenedor encapsula solamente el software específico del aplicativo que se ejecuta dentro de él, y las librerías de las cuales depende para su correcta ejecución, utilizando el sistema operativo del sistema anfitrión. De este modo abstrae el servidor en el que se va a ejecutar el software, ya sea en instalaciones físicas, en la nube pública, en la nube privada, etc.

Con la virtualización basada en contenedores, no existe la sobrecarga que implica tener a cada huésped ejecutando un sistema operativo completo. El servidor requerirÔ mÔs hardware, pero todos sus recursos serÔn aprovechados directamente por el software en ejecución. En ningún caso serÔ consumido por necesidades del sistema operativo o sus procesos asociados

Este enfoque tambiƩn puede mejorar el rendimiento, porque hay un solo sistema operativo encargƔndose de los avisos de hardware.

 

Debido a esto, los contenedores suelen ser excepcionalmente ligeros, se mueven en torno a los megabytes de tamaño en disco y necesitan pocos segundos para arrancar, contra los gigabytes de ocupación y los minutos de arranque que suelen tomar los servidores en mÔquinas físicas y virtuales.

AdemÔs, el uso de contenedores reduce la carga de trabajo en la administración de sistemas. Debido a que los contenedores usan un sistema operativo común, aunando las actualizaciones, la gestión de vulnerabilidades en paquetería y demÔs tareas administrativas.

En general, los contenedores son mƔs rƔpidos, Ɣgiles y portables que el software instalado en mƔquinas fƭsicas o virtuales.

Docker es uno de los proyectos mÔs conocidos y utilizados en este tipo de virtualización. Lejos de ser un sistema operativo como tal, esta plataforma de código abierto hace uso de las funciones de aislamiento de recursos del kernel de Linux para dar lugar a contenedores independientes.

Docker tambiƩn cuenta con una serie de repositorios, similares a los de Linux, en los cuales, los fabricantes de software y usuarios publican sus propios contenedores de manera que cualquiera que los necesite los pueda bajar rƔpidamente desde allƭ.

La tecnología SD-WAN de Teldat usa la virtualización a nivel de sistema operativo en su infraestructura core; pero va incluso un poco mÔs allÔ. Al tener un ecosistema con multitud de servicios contenerizados, hemos implementado la figura del orquestador de micro-servicios. Este sistema permite la abstracción del hardware, sistemas operativos o almacenamiento, de los servicios de software contenerizados, clusteres, redes, balanceadores de carga, entre otros elementos, que realmente estÔn dando el servicio al usuario de forma transparente, en entornos tolerantes a fallos y de alta disponibilidad.

 

 

Guillermo Lopez

Guillermo Lopez

Computer Engineer in the R&D department. Within this department, he works as an Infrastructure Engineer in the Cloud Appliances group.

Tags:

Related PostsĀ