Tecnología de Contenedores ¿Que es una plataforma de contenedores?

  • Enviado por: administrador

¿QUÉ ES UNA PLATAFORMA DE CONTENEDORES?

Una plataforma de contenedores es una solución que permite a las organizaciones resolver múltiples problemas. Va más allá de la tecnología y la orquestación: ofrece diversos componentes para una efectiva operación empresarial, garantizando la seguridad, gobierno, automatización, soporte y la certificación durante todo el ciclo de vida de las aplicaciones.

Desde hace varios años es posible virtualizar sistemas operativos de modo que en una misma máquina física coexistan diferentes sistemas operativos como Windows y Linux en forma de máquinas virtuales independientes entre sí. Este modelo ha sido muy exitoso y permite sacar el máximo provecho del hardware y hacer optimizaciones a muchos niveles.

Para tener máquinas virtuales se requiere un hipervisor, que es una plataforma que a bajo nivel realiza una abstracción del hardware y permite dividir el hardware en máquinas virtuales.

Una máquina virtual finalmente consiste en un grupo de archivos que usan el mismo hardware (memoria, procesamiento, almacenamiento y red) en donde reside el hipervisor.

Hoy es casi imposible encontrar una organización que no saque provecho de las máquinas virtuales en su ambiente de TI, hipervisores como ESXi (VMARE) o Hyper-V (Microsoft) son ampliamente utilizados, aunque hay que decir que existen otros como KVM o Xen, que también cumplen la misma función.

Una vez se virtualizaron las máquinas se empezó a virtualizar otra serie de componentes como la red y el almacenamiento, por eso se habla de términos como SDN (Software Defined Network) y SDS (Software Defined Storage).

Ahora incluso se tiene el concepto de SDDC (Software Defined Data Center) en donde se tiene un Datacenter virtualizado completamente en todos sus componentes.

Pero bien, volviendo al tema de los contenedores, la mejor manera de explicar la diferencia con la virtualización es a través de un gráfico como el siguiente:

En este gráfico se ve que para tener contenedores no se requiere un hipervisor y que en esta tecnología se virtualiza el sistema operativo y no el hardware como en la virtualización tradicional.

Aquí ya empezamos a hablar de Docker (https://www.docker.com/ ) que es una de las tecnologías de contenedores más usadas hoy en día, aunque no es la única.

Docker se está volviendo un estándar de facto, debido a que las grandes organizaciones usan esta tecnología.

Un contenedor normalmente es mucho más pequeño que una máquina virtual, pues usa solamente las librerías que requiere para su funcionamiento, por ejemplo, si tengo una aplicación en python, solamente uso en el contenedor las librerías de python y de mi aplicación, de modo que es más pequeño.

Por supuesto dependo de una capa de contenedores, como por ejemplo Docker. Esta capa puede ejecutarse en ambientes físicos o virtuales pues ya no hay dependencia de la virtualización.

La tecnología de contenedores nació en Linux, pero en ambientes Windows también es posible tener contenedores.

No estamos tratando de demostrar que los contenedores son mejores que las máquinas virtuales, cada uno de ellos tiene su espacio y aplicación y en la mayoría de escenarios se pueden hacer convivir sin inconvenientes.

Hay muchas ventajas al usar contenedores, y entre ellas se destaca el hecho de que puedo ser más ágil en el despliegue de aplicaciones y que puedo portar con mayor facilidad los contenedores de un ambiente a otro sin problema, es decir de un ambiente local (On-Premises) a un ambiente de nube pública (Off-Premises) de una manera más fácil.

En el caso de las máquinas virtuales, si estoy en un ambiente de VMWARE no es tan transparente migrar las máquinas virtuales a un ambiente por ejemplo de Microsoft, si bien se puede hacer, implica la ejecución de varias tareas de conversión de formatos, entre otras tareas.

En resumen, los contenedores:

Empaquetan el software en unidades estandarizadas para desarrollo y despliegue de aplicaciones.

Una imagen de contenedor es un paquete liviano, autónomo y ejecutable de una pieza de software que incluye todo lo necesario para ejecutarlo: código, runtime, herramientas del sistema, bibliotecas del sistema y configuraciones. Se encuentra disponible para aplicaciones basadas en Linux y Windows, el software en los contenedores siempre funcionará igual, independientemente del entorno.

Observen el siguiente gráfico, en donde se observa que no hay un hipervisor ni tampoco un sistema operativo por debajo de los contenedores, y observe que ellos comparten un mismo kernel:

¿Por qué usar contenedores?

  • Son más livianos que las VMs (Espacio en disco, recursos de cómputo)
  • Están basados en estándares abiertos y funcionan sobre Win / Linux*
  • Permiten aislamiento de aplicaciones entre sí
  • Facilitan la portabilidad entre proveedores de nube
  • Facilitan la modernización de aplicaciones tradicionales
  • Permiten el uso de arquitecturas de microservicios
  • Abren el camino para la integración continua y DevOps
  • Ayudan a una verdadera transformación Digital

Docker tiene una versión comunitaria y otra empresarial, esta última tiene más funcionalidades, pero si estamos empezando en este mundo de los contenedores la versión comunitaria funciona muy bien para esos propósitos.

Todos los proveedores de nube pública (AWS, Azure, GCP, IBM, Oracle, Centurylink, Rackspace, etc) sin excepción tienen ofertas para el manejo de contenedores, es una tecnología que llegó para quedarse y para cambiar la manera de desplegar, operar y ejecutar aplicaciones.

¡Nos vemos en la próxima entrega! Seguiremos hablando de temas relacionados con contenedores.

Autor: administrador

Deja una respuesta