¿Qué es Docker? Ventajas del uso de Docker

Hace unos días os contábamos que Syspixel acudía al tercer aniversario de Docker y hoy queremos profundizar en esta herramienta, que está tan de moda últimamente en el mundo DevOps.

¿ Qué es Docker ?

Qué es DockerDocker es una proyecto de código abierto que facilita el despliegue de aplicaciones utilizando “cajas mágicas” llamadas contenedores. Este software permite a testers, desarrolladores y administradores crear, ejecutar y lanzar aplicaciones en cualquier entorno, con independencia del sistema operativo anfitrión.

En el interior de estos contenedores se encuentran la aplicación y todo lo que ésta necesita para funcionar de manera autónoma: código , herramientas del sistema, bibliotecas, servicios de apoyo, etc.

 

Ventajas de Docker

  • Estruja nuestro hardware

Docker se apoya en la herramientas nativas de Kernel de Linux para aislar y securizar el contenedor, de esta manera se pueden ejecutar varios contenedores dentro de la misma máquina sin penalizaciones de rendimiento porque usan el mismo hardware sin hipervisores ni necesidad de recursos extra.

  • Portabilidad

Como ya hemos comentado anteriormente, Docker genera contenedores completamente autónomos y gracias a su sistema para construirlos, podemos compartir nuestro contenedor con cualquiera pasando únicamente el código que se ha utilizado para generarlo. De esta manera evitamos mover a través de Internet cientos de megabytes.

  • Seguridad

Los contenedores están completamente aislados de la máquina anfitriona o de cualquier pieza del ecosistema ajeno a dicho contenedor. Esta característica convierte a Docker en una herramienta muy segura y nos permite, entre otras cosas, poner al limite nuestras aplicaciones sin temor a romper nada mas.

  • Despliegue ágil

Dado que no es necesaria la intervención de hardware adicional y/o hipervisores, el tiempo de despliegue y arranque de un contenedor se reduce a unos pocos segundos en comparación con un arranque de una máquina virtual, que tarda varios minutos.

Para que NO sirve Docker

Desgraciadamente, Docker no es capaz de sustituir a cualquier tipo de software. Las aplicaciones que dependen de un almacenamiento muy ágil necesitan que la comunicación entre aplicativo y hardware sea lo mas directa posible y si usamos Docker, estaríamos obligados a “abrir” el contenedor para que tuviera comunicación con la máquina anfitriona.

La regla de oro para saber si Docker es o no la herramienta adecuada, es hacer un resumen de todo lo que se quiere montar y si Docker nos ahorra tiempo y además no nos complica la arquitectura, podríamos decir que tiene cabida en el proyecto, de lo contrario habría que replantearse la solución final.

Tampoco tendría sentido usar Docker, si el aplicativo que vamos a usar es capaz de escalar horizontalmente de manera nativa. En ese caso estaríamos complicando sin razón.

Desde Syspixel, os animamos a que lo probéis, la curva de aprendizaje inicial es bastante suave y solo empezará a complicarse cuando necesitéis intercomunicar unos contenedores con otros.

 

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja un comentario

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