CLF-C02

Deep Dive

Practicar ahora
D3 · Tecnología y servicios en la nube

Despliegue y operación en AWS

AWS ofrece múltiples formas de interactuar con sus servicios y desplegar infraestructura. El CLF-C02 evalúa cuándo usar la consola web vs CLI vs SDK, los beneficios de Infrastructure as Code, y cuándo elegir cloud, on-premises o híbrido.

Formas de acceder a AWS

Todas las operaciones en AWS son llamadas a APIs HTTP. Los diferentes métodos de acceso son simplemente formas distintas de hacer esas llamadas a la API.

AWS Management Console

GUI web

Interfaz web gráfica para gestionar todos los servicios AWS. Punto de entrada principal para usuarios que prefieren una interfaz visual. Accesible desde cualquier navegador en console.aws.amazon.com.

Cuándo usar

Exploración de servicios, tareas puntuales, configuraciones complejas con muchas opciones visuales, debugging, usuarios no técnicos.

Limitaciones

Operaciones repetitivas en múltiples recursos. Error humano más probable.

AWS CLI (Command Line Interface)

Terminal / Scripts

Herramienta de línea de comandos unificada para gestionar todos los servicios AWS. Permite scripting y automatización. Disponible en Windows, macOS y Linux.

Cuándo usar

Scripts de automatización, gestión masiva de recursos, integración en pipelines CI/CD, usuarios técnicos que prefieren terminal.

Limitaciones

No es ideal para exploración inicial de servicios ni para usuarios sin experiencia en terminal.

AWS SDKs

Integración en código

Bibliotecas para interactuar con AWS desde código de aplicación. Disponibles para Python (boto3), JavaScript/Node.js, Java, .NET, Go, Ruby, PHP y más.

Cuándo usar

Aplicaciones que necesitan interactuar con AWS programáticamente (ej: app que sube archivos a S3, Lambda que lee de DynamoDB).

Limitaciones

No para administración de infraestructura — para eso usar CLI o CloudFormation.

APIs REST directas

HTTP directo

Todas las operaciones AWS son APIs HTTP (GET, POST, PUT, DELETE). Los SDK y CLI son wrappers convenientes alrededor de estas APIs. Puedes llamarlas directamente con cualquier cliente HTTP.

Cuándo usar

Casos avanzados: lenguajes sin SDK oficial, integración con herramientas que solo soportan HTTP.

Limitaciones

En la práctica siempre usa SDK o CLI en lugar de llamadas directas a la API REST.

AWS CloudShell

Terminal en el navegador

Terminal basada en navegador con AWS CLI preinstalada, directamente en la consola de AWS. Sin necesidad de instalar nada localmente. Acceso seguro con las credenciales de la sesión actual.

Cuándo usar

Ejecutar comandos CLI sin instalar nada. Útil para tareas rápidas desde cualquier máquina. Ideal para demos y aprendizaje.

Limitaciones

No para scripts de larga duración (sesión limitada). No persiste archivos entre sesiones (salvo directorio home).

Infrastructure as Code (IaC)

Infrastructure as Code (IaC) es la práctica de definir y gestionar la infraestructura mediante código en lugar de procesos manuales. Permite tratar la infraestructura como cualquier otro código: versionado, revisión, pruebas y automatización.

Icon-Architecture/48/Arch_AWS-CloudFormation_48

AWS CloudFormation

IaC declarativo con templates JSON/YAML

Define tu infraestructura AWS en archivos de template (JSON o YAML). CloudFormation aprovisiona y configura todos los recursos automáticamente en el orden correcto.

  • Stacks: colección de recursos AWS gestionados como una unidad
  • Change Sets: previsualiza cambios antes de aplicarlos
  • Drift detection: detecta si la infra difiere del template
  • Rollback: si un recurso falla, revierte el stack completo
  • Gratis: no hay costo por CloudFormation, solo por los recursos creados

AWS CDK (Cloud Development Kit)

Framework para definir IaC usando lenguajes de programación reales: Python, TypeScript, Java, .NET. El CDK genera templates de CloudFormation automáticamente. Más productivo para desarrolladores que prefieren código real a YAML.

Icon-Architecture/48/Arch_AWS-Elastic-Beanstalk_48

Elastic Beanstalk como alternativa PaaS

Elastic Beanstalk es una alternativa de nivel más alto: subes tu código (ZIP, WAR, JAR) y AWS aprovisiona automáticamente EC2, ELB, Auto Scaling, etc. Sin escribir templates IaC. Ideal para equipos que solo quieren desplegar código.

Beneficios de IaC

Repetibilidad

El mismo template crea entornos idénticos en dev, staging y prod. Sin discrepancias de configuración.

Control de versiones

La infraestructura se almacena en Git. Historial completo de cambios, revisiones de código, branches.

Consistencia

Elimina los errores manuales. La misma infraestructura exacta cada vez, sin "funciona en mi máquina".

Automatización

CI/CD puede desplegar infraestructura y aplicaciones automáticamente. Ciclos de entrega más rápidos.

Modelos de despliegue

El examen puede presentar escenarios donde debes elegir el modelo de despliegue adecuado según los requisitos del negocio.

☁️

Cloud (Nube pública)

Todos los recursos se ejecutan en la infraestructura de AWS. Sin hardware propio. Completamente gestionado.

Ventajas

  • Escalabilidad ilimitada
  • Sin inversión en hardware
  • Alta disponibilidad multi-AZ/región
  • Acceso global inmediato

Cuándo elegir

Aplicaciones nuevas, startups, cargas variables, equipos pequeños sin expertise de infra.

🏢

On-premises (Nube privada)

Infraestructura propia en el datacenter de la empresa. AWS Outposts puede llevar hardware AWS al datacenter.

Ventajas

  • Control total sobre datos
  • Latencia ultra-baja local
  • Cumplimiento regulatorio estricto
  • Procesamiento sin internet

Cuándo elegir

Datos altamente sensibles, regulación que impide cloud, requisitos de latencia <1ms, desconexión de internet.

🔀

Híbrido

Combinación de cloud y on-premises conectados mediante VPN o AWS Direct Connect. Lo mejor de ambos mundos.

Ventajas

  • Migración gradual
  • Datos sensibles on-prem + procesamiento en cloud
  • Disaster recovery en AWS
  • Cumplimiento + escalabilidad

Cuándo elegir

Empresas en transición a cloud, datos regulados que no pueden salir del país, extensión de capacidad on-prem.

Conectividad para modelo híbrido

AWS VPN (Site-to-Site): conexión cifrada sobre internet público entre tu datacenter y AWS. Rápida de configurar, menor costo, latencia variable.

AWS Direct Connect: conexión privada dedicada entre tu datacenter y AWS. Mayor ancho de banda, latencia consistente, sin internet público. Más costosa y lenta de implementar.

Procesos manuales vs automatizados

Procesos manuales (one-time)

Para tareas que se hacen una sola vez o de manera excepcional, la consola web o CLI interactiva son apropiadas.

  • • Configurar una cuenta nueva de AWS
  • • Investigar un incidente de seguridad
  • • Ajustar configuraciones de un servicio específico
  • • Explorar nuevos servicios AWS
  • • Tareas de emergencia no planificadas

Herramientas: Consola web, AWS CLI interactiva, CloudShell

Procesos automatizados (repeatable)

Para tareas repetitivas, consistentes y escalables, la automatización es fundamental. Reduce errores y libera tiempo del equipo.

  • • Desplegar entornos dev/staging/prod
  • • Crear/destruir infraestructura para pruebas
  • • Despliegues de aplicaciones frecuentes
  • • Aprovisionamiento de nuevos entornos de cliente
  • • Respuesta automática a alarmas (auto-healing)

Herramientas: CloudFormation, CDK, Systems Manager, EventBridge Rules

Icon-Architecture/48/Arch_AWS-CodePipeline_48

CI/CD con AWS CodePipeline

AWS CodePipeline automatiza el flujo completo de entrega: desde el commit de código hasta el despliegue en producción. Integra CodeBuild (compilación/pruebas), CodeDeploy (despliegue) y más.

Git commitCodeBuild (build + tests)Deploy stagingDeploy producción

AWS Outposts

AWS Outposts lleva la infraestructura, servicios, APIs y herramientas de AWS a prácticamente cualquier instalación del cliente. Es hardware físico de AWS instalado en tu datacenter, gestionado remotamente por AWS.

Características clave

  • Mismas APIs que AWS: usas el mismo CLI, SDK y consola que con AWS normal
  • Hardware propiedad de AWS: AWS instala, gestiona y actualiza el hardware
  • Integración con región AWS: conectado a una región AWS como extensión
  • Servicios soportados: EC2, EBS, S3 (Outposts S3), RDS, EKS, ECS y más

Cuándo usar Outposts

  • Latencia ultra-baja: aplicaciones que requieren <1ms entre la app y los datos
  • Residencia de datos: regulaciones que exigen que los datos no salgan del país o del edificio
  • Migración gradual: modernizar sin mover todo a la región AWS inmediatamente
  • Procesamiento local: industria con conectividad limitada o intermitente

Para el examen

AWS Outposts = modelo híbrido donde AWS gestiona el hardware on-premises. Misma experiencia que AWS, pero en tu datacenter.

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Una empresa quiere desplegar entornos idénticos para desarrollo, staging y producción en AWS. Actualmente cada entorno se crea manualmente en la consola, lo que genera discrepancias de configuración entre entornos. ¿Qué enfoque resuelve mejor este problema?