docker-cloud-twitter-card

¡Muy buenas a todos amantes del software libre y de la tecnologia en general!

Administracion de sistemas y despliegue de servicios mediante contenedores en GNU/Linux

docker

Muy buenas a todos y a todas! Hoy vamos a hablar de algo que a mi parecer, cabe destacar dentro del mundo de la tecnología y sobretodo de la informática, en efecto, quien conozca este software, haya reconocido el logo o haya trabajado con esta tecnología ya sabe que a lo que me refiero es a los contenedores! Los contenedores son entornos de virtualizacion enjaulados para desplegar aplicaciones o servicios concretos en cualquier lugar de una forma rápida, eficiente y limpia, En concreto me estoy refiriendo a Docker. Que es Docker?

La tecnología de contenedores es parecida a la de las tradicionales VM ( Maquinas Virtuales ), pero con muchas diferencias significativas, principalmente los contenedores están pensados para ser una tecnología lo mas eficiente posible, de forma que el peso de nuestros contenedores o entornos enjaulados no suponga un despliegue de recursos inmenso sobre nuestro hardware a diferencia de las maquinas virtuales, a parte, mientras que las maquinas virtuales hacen uso de la Virtualizacion Alojada, en la cual el Hipervisor se ejecuta sobre el S.O. para después virtualizar otros S.O. proporcionando a cada maquina virtual todos los recursos de una maquina física, incluyendo una memoria virtual y una BIOS virtual. La virtualizacion alojada es un perfecto entorno de pruebas y experimentos en entorno seguro para investigación o creación de software, pero resulta un problema cuando se usa para una de las cosas que sirve la virtualizacion… Hablo de el despliegue de aplicaciones o servicios.

Los sysadmins ( Administrador de Sistemas ) hacen uso de entornos enjaulados para una perfecta coexistencia de muchos servicios dentro de una sola maquina física, y estos entornos enjaulados pueden ser tanto VM ( VIrtualBox, VMware etc.. ) como Contenedores ( Docker, LXC, LXD etc.. ), y esto se hace para tener separadas aplicaciones y servicios de forma que cada aplicación o servicio pueda hacer uso de X librerías con Y versión sin que unas se pisen a las otras, de esta forma se consigue un despliegue de software limpio y ligero sin problemas e incompatibilidades.

VIRTUALIZACION UTILIZADA POR MAQUINAS VIRTUALES CONVENCIONALES :

docker-01

VIRTUALIZACION UTILIZADA POR LOS CONTENEDORES :

docker-02

Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software proporcionando una capa adicional de abstracción y automatización de virtualizacion a nivel de sistema operativo sin necesidad de hipervisor utilizando directamente y compartiendo los recursos de nuestra maquina física. Esto se traduce a un consumo de recursos totalmente mínimo, ya que al compartir recursos con la maquina física se prescinde de virtualizar todo un entorno de forma completa y absoluta, dejando de lado muchos componentes que no son necesarios para el correcto funcionamiento de un servicio, aplicación o servidor. En el caso de los contenedores cuando se crea uno, se crea un entorno enjaulado que contiene básicamente el sistema de ficheros y directorios de un sistema GNU muy minimal, al venir con muy poco software instalado, el informático que hay al otro lado se siente con total libertad de instalar lo que el crea necesario para el funcionamiento de su contenedor, dependiendo de para que lo vaya a destinar.

Esto hace a Docker, LXC o cualquier otra tecnología de contenedores, una solución tecnológica perfecta para entornos enjaulados, ya que, entre sus principales virtudes están la facilidad de mantenimiento, ligereza y fácil migración de los mismos en caso de ser necesaria, en cambio el mantenimiento, uso o migración de una VM tradicional dependiendo el caso puede ser un autentico infierno si las cosas se complican, por no hablar de la cantidad de espacio que pueden llegar a ocupar en el sistema.

Docker esta hecho completamente con Go.

GitHub de Docker –> https://github.com/docker

Instalación de Docker Community Edition –> https://docs.docker.com/install/#supported-platforms

 

Fuente: lignux

¿Quién está en línea?

Hay 3379 invitados y ningún miembro en línea