# Deploy

> Llevar una versión nueva del software desde el equipo hasta los usuarios reales.

- Nivel: Básico
- Temas: Software, Cloud
- URL: https://tidbit.legios.com.ar/es/deployment/
- En inglés: [Deployment](https://tidbit.legios.com.ar/deployment/)

El **deploy**, o **despliegue**, es el momento en que el código nuevo sale a la cancha. Un desarrollador termina un cambio en su laptop; hacer deploy significa compilarlo, copiarlo a los servidores (o a la tienda de apps, o a la nube) y pasar a los usuarios a la versión nueva. Hasta ese momento, el cambio existe solo para el equipo.

Un deploy típico tiene unos pocos pasos. El código se empaqueta en algo que se pueda ejecutar, como una imagen de contenedor. Muchas veces va primero a **staging**, una copia del sistema real donde el equipo lo puede revisar. Después pasa a **producción**, lo de verdad, y alguien mira las tasas de error y los dashboards para asegurarse de que no se rompió nada. Si algo se rompió, hacen rollback a la versión anterior.

Hace años, los deploys eran raros, manuales y daban miedo: una noche larga con una checklist. Hoy muchos equipos despliegan varias veces por día, en forma automática, con un pipeline de CI/CD, y usan técnicas como el despliegue blue-green o los canary releases para mover el tráfico de a poco. Los deploys chicos y frecuentes son más fáciles de revisar y de deshacer que los grandes.

## Una analogía

Cambiar el menú de un restaurante que nunca cierra. Probás el plato nuevo primero en la cocina de atrás, lo servís en algunas mesas y tenés a mano la receta vieja por si los comensales lo devuelven.

## Para quedarse

- Hacer deploy es poner una versión nueva del software frente a usuarios reales.
- Staging es el ensayo; producción es lo de verdad.
- Los pipelines automáticos permiten hacer deploy muchas veces por día.
- Todo deploy necesita un camino de vuelta: un rollback a la versión anterior.

## Para seguir leyendo

- [Despliegue de software en Wikipedia](https://es.wikipedia.org/wiki/Despliegue_de_software)
- [Poner una app web en producción (MDN, en inglés)](https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Server-side/Express_Nodejs/deployment)

## Términos relacionados

- [Notebook](https://tidbit.legios.com.ar/es/laptop/): Una computadora entera plegada en un solo estuche portátil que anda a batería.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
- [App móvil](https://tidbit.legios.com.ar/es/mobile-app/): Un programa hecho para correr en un celular o tablet, casi siempre bajado de una tienda.
- [Computación en la nube](https://tidbit.legios.com.ar/es/cloud-computing/): Alquilar computadoras por internet en vez de comprar las tuyas.
- [Contenedor](https://tidbit.legios.com.ar/es/container/): Una caja cerrada con un programa y todo lo que necesita para correr en cualquier lado.
- [Dashboard](https://tidbit.legios.com.ar/es/dashboard/): Una pantalla con gráficos y números que muestra de un vistazo cómo viene algo.
- [Rollback](https://tidbit.legios.com.ar/es/rollback/): Volver a la última versión que andaba cuando una nueva trae problemas.
- [CI/CD](https://tidbit.legios.com.ar/es/ci-cd/): Automatización que construye, prueba y publica cada cambio, para que lanzar sea rutina.
