IES Pío Baroja

CFGS Desarrollo de Aplicaciones Web (DAW) · Curso 2026-2027

Despliegue de Aplicaciones Web

Del código fuente al servicio en producción mediante prácticas de DevOps, automatización, contenedorización, cloud computing y observabilidad.

Módulo Profesional: Despliegue de Aplicaciones Web
Arquitectura DevOps

Introducción al Despliegue de Aplicaciones Web

En el ciclo de vida del desarrollo de software moderno, la fase de despliegue (Deployment) constituye el puente crítico entre la ingeniería de software y la puesta en valor operativo del producto.


Un despliegue web abarca el conjunto de procesos, configuraciones, infraestructuras y mecanismos de automatización necesarios para transferir aplicaciones, artefactos compilados, recursos estáticos y bases de datos desde un entorno de desarrollo controlado hasta servidores accesibles por los usuarios finales a través de Internet.

El objetivo principal del despliegue moderno es garantizar que una aplicación llegue a producción de forma segura, reproducible, automatizada y con el menor riesgo posible.

1.1 El Ciclo de Vida del Software y la Transición Dev → Ops

Tradicionalmente, los equipos de desarrollo (Dev) y los equipos de operaciones (Ops) trabajaban de forma separada. Los desarrolladores entregaban aplicaciones compiladas y posteriormente los administradores de sistemas asumían la responsabilidad de instalar y mantener esos sistemas en los servidores.

Este modelo generaba frecuentes problemas relacionados con diferencias entre entornos, dependencias incompatibles, configuraciones inconsistentes y errores que solo aparecían cuando la aplicación llegaba a producción.

Como respuesta a estas limitaciones surgió la cultura DevOps, cuyo objetivo es integrar desarrollo y operaciones mediante la automatización, la colaboración continua y la entrega frecuente de software de calidad.

1.2 Tipología de Entornos de Software

  • Entorno de Desarrollo (Development): utilizado por los programadores para implementar funcionalidades, depurar errores y realizar pruebas unitarias.
  • Entorno de Pruebas o Staging: réplica controlada de producción donde se ejecutan pruebas de integración, validaciones funcionales, rendimiento y seguridad.
  • Entorno de Producción (Production): sistema real utilizado por los usuarios finales, priorizando la disponibilidad, seguridad, escalabilidad y monitorización continua.

1.3 Principios Fundamentales de DevOps

  • Integración Continua (CI): compilación y validación automática del software ante cada cambio.
  • Despliegue Continuo (CD): automatización completa de la liberación de versiones.
  • Infraestructura como Código (IaC): gestión declarativa de infraestructura mediante herramientas como Terraform.
  • Observabilidad y Monitorización: recopilación de métricas, trazas y registros para analizar el estado del sistema en tiempo real.

Tecnologías que se Trabajarán en el Curso

  • Git y GitHub
  • Apache Maven
  • Docker y Docker Compose
  • Terraform
  • AWS EC2
  • Hetzner Cloud
  • Nginx
  • HTTPS y Certificados SSL/TLS
  • Let's Encrypt
  • GoAccess
  • Fail2Ban
  • Monitorización y análisis de logs