CLF-C02
Deep Dive
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.
Contenido
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 webInterfaz 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 / ScriptsHerramienta 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ódigoBibliotecas 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 directoTodas 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 navegadorTerminal 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) 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.
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.
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.
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.
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
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
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
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 (one-time)
Para tareas que se hacen una sola vez o de manera excepcional, la consola web o CLI interactiva son apropiadas.
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.
Herramientas: CloudFormation, CDK, Systems Manager, EventBridge Rules
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.
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
Cuándo usar Outposts
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?