El sistema operativo de Google más conocido es Chrome OS, pero dentro de Google, la empresa también utiliza su propia distribución de escritorio Linux: gLinux. Si observa las oficinas de Google en Mountain View, CA, verá máquinas con Windows, Chromebooks, Mac y computadoras de escritorio gLinux. G qué, preguntas? Bueno, además de confiar en Linux para sus servidores, Google tiene su propia distribución de escritorio Linux.
No puedes conseguirlo, ¡maldita sea! — pero durante más de una década, Google ha estado horneando y comiendo su propia distribución de escritorio Linux casera. La primera versión fue Goobuntu . (Como adivinarías por el nombre, estaba basado en Ubuntu ).
En 2018, Google trasladó su escritorio Linux interno de Goobuntu a una nueva distribución de Linux, gLinux basada en Debian . ¿Por qué? Porque, como explicó Google, el lanzamiento de dos años de soporte a largo plazo (LTS) de Ubuntu "significaba que teníamos que actualizar cada máquina en nuestra flota de más de 100,000 dispositivos antes de la fecha de finalización de la vida útil del sistema operativo".
Eso fue un dolor. Agregue la necesidad de personalizar completamente las PC de los ingenieros, que consume mucho tiempo, y Google decidió que costaba demasiado. Además, el "esfuerzo para actualizar nuestra flota de Goobuntu generalmente tomó la mayor parte de un año. Con una ventana de soporte de dos años, solo quedaba un año hasta que tuvimos que pasar por el mismo proceso nuevamente para el próximo LTS. Todo este proceso fue un gran factor de estrés para nuestro equipo, ya que recibimos cientos de errores con solicitudes de ayuda para casos de esquina". Además pueden usar herramienta de Editor de Fondos de Pantalla.
Entonces, cuando Google tuvo suficiente de eso, se mudó a Debian Linux (aunque no solo a Debian estándar). La empresa creó una distribución Debian continua: GLinux Rolling Debian Testing (Rodete). La idea es que los usuarios y los desarrolladores estén mejor atendidos al brindarles las últimas actualizaciones y parches a medida que se crean y se consideran listos para la producción. Tales distribuciones incluyen Arch Linux , Debian Testing y openSUSE Tumbleweed .
Para Google, el objetivo inmediato era salir del ciclo de actualización de dos años. Como ha demostrado el paso a la integración continua/implementación continua (CI/CD) , estos cambios incrementales funcionan bien. También son más fáciles de controlar y revertir si algo sale mal.
Para hacer que todo esto funcione sin mucha sangre, sudor y lágrimas, Google creó un nuevo sistema de flujo de trabajo, Sieve. Cada vez que Sieve detecta una nueva versión de un paquete Debian, inicia una nueva compilación. Estos paquetes están integrados en grupos de paquetes, ya que los paquetes separados a menudo deben actualizarse juntos. Una vez que se ha creado todo el grupo, Google ejecuta un conjunto de pruebas virtualizado para garantizar que no se interrumpan los componentes principales ni los flujos de trabajo de los desarrolladores. A continuación, cada grupo se prueba por separado con una instalación completa del sistema, arranque y ejecución de un conjunto de pruebas local. El paquete se completa en minutos, pero las pruebas pueden demorar hasta una hora.
Una vez hecho esto, todos los paquetes nuevos se fusionan con el grupo de paquetes gLinux más nuevo. Luego, cuando Google decide que es hora de lanzarlo a producción, el equipo toma instantáneas de ese grupo. Finalmente, lanza el nuevo lanzamiento a la flota. Por supuesto, no solo se lo va a descargar a los usuarios. En su lugar, utiliza principios de ingeniería de confiabilidad del sitio (SRE), como canarying incremental para asegurarse de que nada salga mal.
Con los años, Google ha mejorado en esto. Hoy, gracias a Sieve, todo el equipo de desarrollo de gLinux consta de un solo puesto de ingeniero de lanzamiento en servicio que rota entre los miembros del equipo. No hay grandes presiones para actualizar la flota. No hay versiones alfa, beta y de disponibilidad general (GA) de varias etapas.
Mejor aún, gracias al cronograma de lanzamiento continuo, Google puede reparar los agujeros de seguridad en toda la flota rápidamente sin comprometer la estabilidad. Anteriormente, los ingenieros de seguridad tenían que revisar detenidamente cada aviso de seguridad de Debian (DSA) para asegurarse de que se hubiera solucionado.
Además, el conjunto de pruebas mejorado de Google y las pruebas de integración con equipos de socios clave que ejecutan sistemas de desarrollo críticos también produjeron una experiencia más estable al usar una distribución de Linux que proporciona las últimas versiones del Kernel de Linux. redujo significativamente el trabajo y el estrés dentro del equipo. Ahora también es posible para nosotros informar errores e incompatibilidades con otras versiones de la biblioteca mientras nos aseguramos de que las herramientas de Google funcionen mejor dentro del ecosistema de Linux".
De cara al futuro, el equipo de Google declaró que trabajará "más de cerca con Debian upstream y contribuirá con más de nuestros parches internos para mantener el ecosistema de paquetes Debian".
Primero, para algunas organizaciones, los lanzamientos de LTS aún tienen sentido. Si no necesita los programas más nuevos y brillantes para su negocio, un Ubuntu o Red Hat LTS Linux aún tiene sentido.
Fuente: computerworld