Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desarrollo y despliegue de aplicaciones con Nix

Desarrollo y despliegue de aplicaciones con Nix

Hoy en día el desarrollo de aplicaciones requiere tener equipos especializados en frontend y backend. Si bien el tener equipos pequeños ayuda a manejar la complejidad, esto presenta un reto al momento del despliegue de la aplicación ya que al final del día todos los componentes deben estar integrados dentro del los ambientes de producción.

Durante esta charla mostraremos como usar Nix para la creación de ambientes de desarrollo que son portables, aislados y fácilmente reproducibles. Adicionalmente, explicaremos cómo se puede usar la configuración empleada durante el desarrollo, para el despliegue y aprovisionamiento de ambientes en producción de una manera controlada usando NixOps.

Quito Lambda

June 26, 2019
Tweet

More Decks by Quito Lambda

Other Decks in Programming

Transcript

  1. Overview • Introducción a Nix • Ecosistema de Nix •

    Nix en un proyecto - Express JS • Despliegue de Aplicaciones con Nix • Demo *
  2. Introducción a Nix Es un gestor de paquetes puramente funcional.

    • Confiable • Reproducible • Portable • Paquetes como valores (symlinks). • Paquetes construidos por funciones. • Paquetes son inmutables. Nix Expression Language
  3. Introducción a Nix Nix Expression Language • No es un

    lenguaje de propósito general. • Es declarativo. • Descripción de paquetes. • Composición de paquetes. • Modificación de paquetes. .nix
  4. Nix en un proyecto Nix Shell node2nix nix-build Nix Store

    result* $PATH default.nix node-env.nix node-packages.nix Construir la aplicación entorno Nix symlinks - hash
  5. Conclusiones • Aunque la curva de aprendizaje es alta, tenemos

    muchos beneficios. • Tenemos despliegues predecibles. • Rollback Real. • Entornos de desarrollo repetibles. • Dependencias reutilizables. • Configuración declarativa.