Por qué usamos NixOS para impulsar nuestra infraestructura cloud
Una mirada interna a por qué Alplink eligió NixOS en lugar de distribuciones Linux tradicionales para ejecutar infraestructura cloud europea. Cubrimos reproducibilidad, actualizaciones atómicas, seguridad y cómo beneficia a nuestros clientes.
Cuando empezamos a construir Alplink, teníamos una pregunta fundamental que responder: ¿en qué sistema operativo confías para ejecutar infraestructura de producción para empresas europeas que se preocupan por la soberanía de datos, la seguridad y la fiabilidad?
Evaluamos los candidatos habituales: Ubuntu, Debian, CentOS, Alpine. Todos son opciones sólidas utilizadas por miles de empresas. Pero seguíamos encontrándonos con los mismos problemas: deriva de configuración, despliegues no reproducibles, ansiedad ante las actualizaciones y la brecha del "funciona en mi máquina" entre desarrollo y producción.
Entonces encontramos NixOS, y cambió nuestra forma de pensar sobre la infraestructura.
¿Qué es NixOS?
NixOS es una distribución Linux construida sobre el gestor de paquetes Nix. A diferencia de las distribuciones tradicionales donde instalas paquetes y editas archivos de configuración de forma imperativa (apt install, luego editar /etc/algo.conf), NixOS adopta un enfoque declarativo: describes tu sistema completo en un único archivo de configuración, y NixOS lo construye.
{ config, pkgs, ... }:
{
services.nginx.enable = true;
services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql_16;
networking.firewall.allowedTCPPorts = [ 80 443 ];
security.acme.acceptTerms = true;
security.acme.defaults.email = "admin@example.com";
}
Esta configuración no es un script que ejecuta comandos. Es una especificación del estado deseado del sistema. NixOS la lee y construye el sistema operativo completo — kernel, paquetes, servicios, usuarios, reglas de firewall — a partir de esta única fuente de verdad.
Por qué esto importa para nuestros clientes
1. Despliegues reproducibles
Cada servidor que desplegamos se construye a partir de la misma configuración NixOS. No hay deriva entre máquinas, nada de "este servidor tiene un paquete extra instalado porque alguien depuró algo hace seis meses". Si nuestra configuración dice PostgreSQL 16 con estos ajustes, eso es exactamente lo que ejecuta cada servidor.
Esto significa que cuando desplegamos tu instancia de Odoo, sitio WordPress o aplicación personalizada, el entorno es idéntico cada vez. Sin sorpresas.
2. Actualizaciones atómicas y rollbacks
Las actualizaciones de Linux tradicionales son estresantes. Ejecutas apt upgrade, los paquetes se actualizan uno por uno, y si algo falla a mitad del proceso, te queda un sistema parcialmente actualizado.
Las actualizaciones de NixOS son atómicas. El sistema construye la nueva configuración en su totalidad y luego cambia a ella en una sola operación. Si la nueva configuración falla, la anterior sigue ahí, intacta. Hacer rollback es tan simple como seleccionar la generación anterior en el arranque.
Hemos hecho rollback de sistemas en producción en menos de 30 segundos. Intenta hacer eso con una distribución tradicional.
3. Seguridad a través de la inmutabilidad
Los sistemas NixOS son funcionalmente inmutables. No puedes conectarte por SSH a un servidor y ejecutar apt install — los cambios deben pasar por la configuración. Esto elimina toda una clase de riesgos de seguridad:
- Sin deriva de configuración — el sistema en ejecución siempre coincide con la configuración declarada
- Sin software no autorizado en servidores — nadie puede instalar software sin autorización
- Trazabilidad completa — cada cambio es un commit de Git en nuestro repositorio de configuración
- Parches de seguridad reproducibles — cuando aparece un CVE, actualizamos la configuración una vez y reconstruimos todos los servidores afectados
4. Infraestructura como código, de verdad
Muchas empresas dicen hacer "infraestructura como código" pero siguen teniendo pasos manuales, ajustes no documentados y conocimiento tribal sobre cómo están realmente configurados los servidores. Con NixOS, la configuración es la infraestructura. No hay brecha entre la documentación y la realidad.
Toda nuestra configuración de infraestructura vive en un repositorio Git. Cada cambio es revisado, probado y versionado. Si un cliente pregunta "¿qué software exacto está ejecutando mi servidor?", podemos señalarle el commit exacto.
Cómo se compara NixOS con los enfoques tradicionales
| Aspecto | Tradicional (Ubuntu/Debian) | NixOS |
|---|---|---|
| Configuración | Imperativa (editar archivos, ejecutar comandos) | Declarativa (describir estado deseado) |
| Actualizaciones | In situ, pueden fallar parcialmente | Atómicas, todo o nada |
| Rollback | Manual, a menudo imposible | Integrado, instantáneo |
| Reproducibilidad | Mejor esfuerzo con Ansible/Puppet | Garantizada por diseño |
| Detección de deriva | Requiere herramientas externas | Imposible por arquitectura |
| Trazabilidad | Depende de la disciplina | Automática (Git + Nix store) |
Las contrapartidas
Creemos en la transparencia, así que esto es lo que NixOS nos cuesta:
- Curva de aprendizaje más pronunciada — Nix tiene su propio lenguaje funcional. Nuestro equipo invirtió tiempo significativo en aprenderlo. Este es tiempo que nuestros clientes no tienen que dedicar.
- Comunidad más pequeña — NixOS tiene una comunidad apasionada pero más pequeña que Ubuntu o Debian. Encontrar respuestas a veces requiere investigar más a fondo.
- Modelo mental diferente — Los ingenieros acostumbrados a la administración imperativa de Linux necesitan reentrenar sus instintos. No arreglas un servidor NixOS conectándote por SSH y editando archivos.
Consideramos que estas contrapartidas valen la pena porque nuestros clientes obtienen los beneficios (reproducibilidad, seguridad, fiabilidad) sin asumir los costes (aprender Nix, mantener configuraciones).
Ejemplo real: desplegando el stack Odoo de un cliente
Aquí tienes una versión simplificada de cómo desplegamos la instancia de Odoo de un cliente:
{ config, pkgs, ... }:
{
services.odoo = {
enable = true;
package = pkgs.odoo17;
domain = "erp.customer-company.eu";
settings = {
dbfilter = "^customer_prodquot;;
proxy_mode = true;
list_db = false;
};
};
services.postgresql = {
enable = true;
package = pkgs.postgresql_16;
settings = {
shared_buffers = "2GB";
effective_cache_size = "6GB";
};
};
services.nginx.virtualHosts."erp.customer-company.eu" = {
enableACME = true;
forceSSL = true;
};
services.backup.postgresql = {
enable = true;
schedule = "daily";
retention = 30;
};
}
Este único archivo define el stack completo: Odoo, PostgreSQL, Nginx con SSL automático y copias de seguridad diarias con retención de 30 días. Está versionado, revisado por pares y es reproducible. Si necesitamos migrar al cliente a nuevo hardware, aplicamos la misma configuración y obtenemos un sistema idéntico.
Por qué te contamos esto
La mayoría de las empresas de hosting tratan su infraestructura como una caja negra. Nosotros pensamos que eso es un error.
Cuando confías a un proveedor los datos de tu negocio, mereces saber cómo opera. Usamos NixOS porque nos da — y por extensión, a nuestros clientes — garantías que la infraestructura tradicional no puede igualar: reproducibilidad, auditabilidad y la capacidad de demostrar exactamente qué se está ejecutando en tu servidor en cualquier momento.
Esto es especialmente importante para las empresas europeas sujetas al RGPD y a regulaciones específicas de la industria. Cuando un auditor pregunta "¿cómo garantizan configuraciones de seguridad consistentes en todos los servidores?", no le mostramos un manual de procedimientos esperando que se haya seguido. Le mostramos la configuración NixOS y el historial de Git.
¿Quieres verlo en acción?
Alplink ejecuta infraestructura cloud europea totalmente gestionada sobre NixOS. Ya necesites hosting para Odoo, WordPress o aplicaciones personalizadas, cada despliegue se beneficia de builds reproducibles, actualizaciones atómicas y las garantías de seguridad que proporciona la infraestructura declarativa. Tus datos permanecen en Europa, tu infraestructura es auditable y nunca tendrás que preocuparte por la deriva de configuración o actualizaciones fallidas. Descubre lo que Alplink puede hacer por tu negocio.