Bienvenido a la sección de Azure del bootcamp DevOps. En esta sección aprenderás dos de los modelos de servicio más importantes en la nube: IaaS (Infrastructure as a Service) y PaaS (Platform as a Service).
Directorio: ./iaas/
En esta clase aprenderás a desplegar una aplicación completa de Tour of Heroes utilizando máquinas virtuales en Azure. Este enfoque te proporciona control total sobre la infraestructura.
IaaS es un modelo de computación en la nube donde tú eres responsable de gestionar las máquinas virtuales, redes, almacenamiento y sistemas operativos. Azure proporciona la infraestructura subyacente.
-
Redes Virtuales 🌐
- Crear redes virtuales con múltiples subredes
- Configurar direccionamiento IP
- Ver clase completa
-
Máquina Virtual de Base de Datos 💾
- Desplegar SQL Server en una VM
- Configurar backups automáticos
- Crear reglas de seguridad
- Ver clase completa
-
Máquina Virtual de API 🔌
- Desplegar .NET Core API en Linux
- Configurar Nginx como proxy inverso
- Crear servicios systemd
- Ver clase completa
-
Máquina Virtual de Frontend 🎨
- Desplegar Angular en IIS
- Configurar aplicaciones web
- Habilitar puertos y firewall
- Ver clase completa
-
Balanceador de Carga ⚖️
- Distribuir tráfico entre múltiples VMs
- Sondas de salud
- Reglas de balanceo
- Ver clase completa
✅ Control total sobre la infraestructura ✅ Escalabilidad flexible ✅ Pagas solo por lo que usas ✅ Compatibilidad con aplicaciones legacy ✅ Seguridad configurable
❌ Mayor responsabilidad operativa ❌ Gestión compleja de infraestructura ❌ Requiere conocimientos avanzados ❌ Mantenimiento continuo
Directorio: ./paas/
En esta clase aprenderás a desplegar la misma aplicación Tour of Heroes, pero utilizando servicios completamente gestionados por Azure. Este enfoque reduce la complejidad operativa.
PaaS es un modelo de computación en la nube donde Azure gestiona la infraestructura, sistemas operativos y middleware. Tú solo te enfocas en tu código y datos.
-
Azure SQL Database 💾
- Servicio de base de datos completamente gestionado
- Backups automáticos incluidos
- Escalado automático
- Ver clase
-
Azure App Service 🔌
- Hostear aplicaciones .NET Core
- CI/CD integrado
- Escalado automático
- Ver clase
-
Static Web Apps 🎨
- Desplegar aplicaciones Angular
- CDN global incluido
- HTTPS automático
- Ver clase
-
Otros Servicios PaaS
- API Management
- Function Apps
- Logic Apps
- Ver clase
✅ Menor responsabilidad operativa ✅ Escalado automático ✅ Mantenimiento automático ✅ Mejor enfoque en el desarrollo ✅ Costo más predecible ✅ Menos seguridad operativa
❌ Menos control sobre la infraestructura ❌ Posibles limitaciones de plataforma ❌ Vendor lock-in ❌ Menos flexibilidad en configuración
| Aspecto | IaaS | PaaS |
|---|---|---|
| Control | Total | Limitado |
| Responsabilidad | Alta | Baja |
| Complejidad | Alta | Baja |
| Escalado | Manual | Automático |
| Mantenimiento | Tú | Azure |
| Costo | Variable | Predecible |
| Flexibilidad | Alta | Media |
| Curva de aprendizaje | Empinada | Suave |
- Necesitas control total sobre la infraestructura
- Tienes aplicaciones legacy complejas
- Requieres configuraciones muy específicas
- Necesitas máxima flexibilidad
- Quieres enfocarte solo en el código
- Tu aplicación es moderna y compatible
- Buscas reducir costos operativos
- Necesitas escalado automático
-
Comienza con IaaS 🏢
- Entiende los conceptos fundamentales
- Aprende a gestionar infraestructura
- Experimenta con máquinas virtuales
-
Continúa con PaaS 🚀
- Compara la complejidad
- Aprecia la simplicidad de servicios gestionados
- Entiende cuándo usar cada uno
-
Practica el despliegue 🔧
- Despliega la aplicación en ambos modelos
- Compara los resultados
- Experimenta con configuraciones
- Cuenta activa en Azure
- Azure CLI instalado (lo tienes como parte del Dev Container de este repo, ya instalado y listo para usar)
- Conocimientos básicos de:
- Redes
- Máquinas virtuales
- Bases de datos
- Aplicaciones web
¡Que disfrutes aprendiendo sobre Azure! ☁️