Distribuciones Linux para contenedores

4min

Los contenedores son una de las mejores opciones para el desarrollo y despliegue de aplicaciones web actualmente, con Docker cómo  la tecnología más habitual para implementarlos. En algún momento nos podremos plantear qué sistema operativo host vamos a usar para ejecutar los contenedores. En este artículo vamos a analizar las distribuciones de Linux más utilizadas para el despliegue basado en contenedores, destacando ventajas e inconvenientes que pueden resultar relevantes en la elección.

Índice

Linux, sin duda

Quizás es de sobra conocido que Linux es la plataforma más natural para la ejecución de los contenedores, pero creemos importante mencionarlo. Los sistemas operativos Windows no son muy recomendables para los contenedores, ya que su tecnología no es tan versátil para la virtualización. Por lo que respecta a Mac, aunque es un buen sistema para virtualizar, hay que pagar las licencias, así que  no es en la práctica una solución muy utilizada.

Las distribuciones habituales para contenedores

Primero cabe decir que cualquier distribución Linux puede ser buena para el despliegue de aplicaciones en contenedores, pues en el fondo las distros se diferencian básicamente en el paquete de software que acompaña al núcleo de Linux.

Sin embargo, existen algunas distribuciones resultan más habituales para contenedores, dado que nos permiten mayor o menor flexibilidad de las versiones de software que se pueden usar, así como pueden ser más o menos ligeras, lo que permite mantener los recursos del servidor más ajustados, o por supuesto disponer de herramientas ya preparadas para sacar el mayor partido a la dockerización.

Algunas de las distribuciones de Linux más populares en este sentido son:

  • Core OS.
  • Flatcar.
  • Photon OS.
  • Rancher OS.

En todo caso, como hemos dicho, nada nos impide escoger las populares distros como Debian, Ubuntu o Roxy.

Cuáles son los criterios más destacados para escoger tu distribución para contenedores

A la hora de escoger el sistema operativo nos podemos plantear algunas preguntas, por ejemplo:

  • ¿Vamos a usar el servidor para alojar diversas aplicaciones tradicionales en él (con y sin contenedores) o simplemente vamos a poner una única aplicación en despliegue corriendo en sus contenedores?
  • ¿Deseas que el sistema operativo ya venga con Docker preinstalado y con algunas configuraciones ya realizadas de antemano?
  • ¿Vas a instalar Docker en un sistema operativo host (un dedicado) o dentro de un servidor virtual? incluso ¿cuál es la plataforma de virtualización que vamos a utilizar?
  • ¿Necesitaremos una única máquina o un cluster de servidores?

En función de estas preguntas es posible que las respuestas te lleven directamente hacia una distro u otra. Por ejemplo, si deseas instalar todo tipo de aplicaciones, es ideal contar con una distribución más generalista, en cuyo caso puede ser ideal Debian, Ubuntu o un CentOS/Roxy Linux (ambas basadas en Red Hat).

Si estamos pensando en que la instalación de Docker sea lo más sencilla posible, incluso que no tengamos que instalar o configurar nada, es posible que nos interese RancherOS,  Flatcar o incluso Photon OS, ya que son distribuciones especialmente pensadas y diseñadas para ejecutar contenedores, que incluyen de casa diversas herramientas útiles.

Si necesitas trabajar con un clúster de servidores CoreOS es posiblemente la opción más adecuada, ya que va un paso más allá en las ventajas del propio Docker. Es decir, si Docker ya permite tener un servidor de desarrollo muy similar, o idéntico, al de producción, gracias a las herramientas de CoreOS podemos además conseguir de manera sencilla que las configuraciones se repliquen entre todas las máquinas del clúster.

Por último tenemos que pensar en cuál es la plataforma de virtualización que se está usando en nuestro servidor. Por ejemplo, si estamos usando la tecnología de VM Ware, una buena opción sería la distribución Photon OS, ya que es de la misma empresa y por tanto está optimizada para funcionar en este entorno.

En fin, como habrás podido apreciar, hay distribuciones muy enfocadas a Docker y los contenedores. Para escoger entre una y otra es importante plantearse qué uso vamos a realizar del servidor y el grado de complejidad de las aplicaciones instaladas, el stack de tecnologías, etc.

Fernando Fuentes

Productos relacionados: