La distribución Alpine Linux comenzó como un pequeño proyecto desplegado por sólo unos pocos usuarios. Hoy en día, ha crecido hasta convertirse en una solución madura, moderna y ligera tanto para soluciones de metal desnudo como para soluciones basadas en contenedores. Es una de las distribuciones más utilizadas en la infraestructura de contenedores Docker.
Debido al pequeño tamaño y al impresionante rendimiento de las herramientas básicas como el gestor de paquetes, el Grupo de Trabajo de Alpine Linux, dirigido por Carlo Landmeter, Kevin Daudt y Natanael Copa, recibió un número creciente de solicitudes de diferentes arquitecturas de hardware (arcos).
Cuando Docker anunció que Alpine Linux era la distribución "no oficial" por defecto de Linux, las peticiones de archivos se incrementaron aún más. Los desarrolladores entusiastas se pusieron a trabajar para satisfacer la creciente demanda. Inicialmente el equipo solo tenía los recursos para soportar x86 y x86_64 (amd64), pero ahora ofrece arquitecturas ARM (32 y 64 bits) con ppc64le, s390x, y mips64 en el menú también.
Este crecimiento dejó al equipo de Alpine Linux con más de lo que podía manejar fácilmente. "En el último par de años, notamos que se estaba volviendo más difícil mantener nuestros sistemas apropiadamente," dijo Carlo. "La mayoría de estas arquitecturas necesitan sus propias máquinas, y a veces es difícil proporcionar a nuestros desarrolladores acceso a todas ellas. Algunas de estas arquitecturas tampoco son comunes o muy difíciles de acceder."
Después de darse cuenta de que la configuración actual no sería sostenible, el equipo decidió que necesitaba hacer algunos cambios. Cambió de plataforma de desarrollo y migró a una instancia autoalojada de GitLab, lo que facilitó la implementación de la IC para ocho arquitecturas y el uso de una herramienta para el ciclo de DevOps. Los patrocinadores de metal desnudo de Alpine Linux ayudaron a dedicar servidores CI para cada arquitectura, lo que marcó una gran diferencia en la calidad del código y los problemas de compilación.
Alpine Linux recurrió a Linode para alojar sus nuevas ideas de infraestructura, ya que es uno de los pocos proveedores de alojamiento que proporciona convenientemente Alpine Linux como sistema operativo. Al usar Linode Alpine Linux progresa mientras se mantiene fiel a sus cuatro principios básicos de infraestructura:
- Come tu propio alimento para perros (lo que significa que su GitLab, basado en un contenedor Alpine, funciona completamente con infraestructura Linode).
- Prevenir el bloqueo del proveedor.
- Sé lo más independiente posible.
- Sé lo más transparente posible.
Mirando hacia el futuro, Alpine Linux tiene más ideas de cómo puede utilizar Linode para apoyar los principios de infraestructura - la primera es la infraestructura como código. Después de estudiar el API de Linode, Alpine Linux ha elaborado una visión para un proceso completamente automatizado que implementará un flujo de trabajo GitLab y usará CI/CD para empujar la infraestructura a los contenedores en Linode. Este proceso dará a los desarrolladores de Alpine Linux acceso a una visión general mucho más transparente de la infraestructura actual, y también facilitará mucho más las contribuciones de la comunidad.
Tener el apoyo y capacidades de alojamiento de Linode están abriendo nuevas puertas para Alpine Linux, mientras que les permite mantenerse comprometidos con sus principios fundamentales. Como dice Carlo, es "una combinación perfecta".