Ir al contenido principal

Certificación AWS Developer Associate - Prepárate con la Guía Detallada de los 4 Dominios Clave.

La certificación AWS Certified Developer – Associate se ha establecido como una de las certificaciones it top en todo el mundo para medir la competencia en el desarrollo de aplicaciones en la plataforma AWS. 


Esta certificación valida la capacidad de un profesional para utilizar los servicios de AWS, desarrollar y mantener aplicaciones, y diseñar soluciones eficientes y escalables. 

certificacion-aws-developer-associate

En este artículo, desmenuzaremos detalle los cuatro dominios clave que conforman el temario del examen AWS Certified Developer – Associate, proporcionando una visión profunda de los conocimientos y habilidades necesarios para obtener esta valiosa acreditación. 
Top 5 certificaciones AWS

Si crees que esta certificación es demasiado avanzada para ti, quiero presentarte mi libro teórico y práctico para aprobar de Azure Fundamentals. Tienes la opción económica en Kindle o leerlo gratis. 👈

Desde el desarrollo de aplicaciones alojadas en AWS hasta la solución de problemas, la optimización y la inclusión de observabilidad, este artículo es una guía esencial para aquellos que buscan avanzar en su carrera en la tecnología en la nube.

🖥 Dominio 1: Desarrollo con Servicios de AWS

Este dominio abarca las habilidades y conocimientos necesarios para el desarrollo efectivo con los servicios de AWS, con foco en tres tareas principales: desarrollar código para aplicaciones alojadas en AWS, desarrollar código para AWS Lambda y utilizar almacenes de datos en el desarrollo de aplicaciones.

Tarea 1: Desarrollar un Código para Aplicaciones Alojadas en AWS

Conocimientos

  1. Patrones Arquitectónicos:
    • Comprender patrones como impulsados por eventos, microservicios, monolíticos, coreografía, coordinación y distribución.
  2. Idempotencia:
    • Comprender y aplicar la idempotencia en las operaciones.
  3. Diferencias entre Conceptos con Estado y sin Estado:
    • Saber la diferencia y aplicar los conceptos de programación con estado y sin estado.
  4. Diferencias entre Componentes Estrechamente Acoplados y Débilmente Acoplados:
    • Diseñar sistemas con acoplamiento adecuado para mayor flexibilidad.
  5. Patrones de Diseño Tolerantes a Fallos:
    • Implementar patrones como reintentos con retroceso exponencial y fluctuación, y colas de mensajes no entregados.
  6. Diferencias entre Patrones Sincrónicos y Asincrónicos:
    • Comprender y aplicar patrones sincrónicos y asincrónicos en la comunicación.

Habilidades

  • Creación de Aplicaciones Tolerantes a Errores y Resistentes:
    • Usar lenguajes como Java, C#, Python, JavaScript, TypeScript y Go para crear aplicaciones robustas.
  • Creación, Ampliación y Mantenimiento de las API:
    • Gestionar transformaciones de respuestas o solicitudes, reglas de validación y anulación de códigos de estado en las API.
  • Escritura y Ejecución de Pruebas de Unidades:
    • Utilizar AWS SAM para escribir y ejecutar pruebas de unidades.
  • Escritura de Códigos para Usar los Servicios de Mensajería:
    • Implementar código para trabajar con servicios de mensajería en AWS.
  • Escritura de Códigos que Interactúen con los Servicios de AWS:
    • Utilizar API y SDK de AWS para interactuar con los servicios.
  • Gestión del Flujo de Datos Mediante AWS:
    • Controlar el flujo de datos usando los servicios de AWS.

Tarea 2: Desarrollar un Código para AWS Lambda

Conocimientos

  1. Mapeo de Fuentes de Eventos:
    • Comprender cómo se mapean los eventos a las funciones de Lambda.
  2. Aplicaciones sin Estado:
    • Desarrollar aplicaciones sin estado para AWS Lambda.
  3. Pruebas de Unidad:
    • Escribir y ejecutar pruebas de unidades para código de Lambda.
  4. Arquitecturas Impulsadas por Eventos:
    • Comprender y aplicar arquitecturas basadas en eventos.
  5. Escalabilidad:
    • Gestionar la escalabilidad en las funciones de Lambda.
  6. Acceso a Recursos Privados en VPC desde el Código de Lambda:
    • Administrar el acceso a recursos dentro de una VPC.
certificacion-aws-developer-associate

Habilidades

  • Configuración de Funciones de Lambda:
    • Configurar parámetros como memoria, simultaneidad, tiempo de espera, tiempo de ejecución, controlador, capas, extensiones, desencadenadores y destinos.
  • Gestión del Ciclo de Vida de los Eventos y los Errores:
    • Manejar eventos y errores usando código y destinos de Lambda.
  • Escritura y Ejecución del Código de Prueba:
    • Utilizar servicios y herramientas de AWS para pruebas.
  • Integración de Funciones de Lambda con los Servicios de AWS:
    • Integrar Lambda con otros servicios en AWS.
  • Ajuste de las Funciones de Lambda para un Rendimiento Óptimo:
    • Optimizar el rendimiento de las funciones de Lambda.

Tarea 3: Utilizar Almacenes de Datos en el Desarrollo de Aplicaciones

Conocimientos

  1. Bases de Datos Relacionales y No Relacionales:
    • Comprender y trabajar con ambos tipos de bases de datos.
  2. Operaciones CRUD:
    • Implementar operaciones de creación, lectura, actualización y eliminación.
  3. Claves de Partición de Alta Cardinalidad:
    • Usar claves de partición para un acceso de partición equilibrado.
  4. Opciones de Almacenamiento en la Nube:
    • Comprender opciones como archivos, objetos y bases de datos.
  5. Modelos de Consistencia de Bases de Datos:
    • Trabajar con modelos de consistencia como fuertemente consistentes y eventualmente consistentes.
  6. Diferencias entre las Operaciones de Consulta y Escaneo:
    • Entender y aplicar consultas y escaneos en bases de datos.
  7. Claves e Indexación de Amazon DynamoDB:
    • Utilizar claves e indexación en DynamoDB.
  8. Estrategias de Almacenamiento en Caché:
    • Implementar estrategias como escritura simultánea, lectura simultánea, carga diferida y TTL.
  9. Administración de Niveles y Ciclos de Vida de Amazon S3:
    • Gestionar el almacenamiento y los ciclos de vida en S3.
  10. Diferencias entre Patrones de Almacenamiento de Datos Efímeros y Persistentes:
    • Distinguir entre almacenamiento efímero y persistente.
certificacion-aws-developer-associate

Habilidades

  • Serialización y Deserialización de Datos:
    • Proveer persistencia a un almacén de datos.
  • Uso, Administración y Mantenimiento de Almacenes de Datos:
    • Gestionar almacenes de datos en aplicaciones.
  • Administración de los Ciclos de Vida de los Datos:
    • Gestionar la persistencia y la disponibilidad de los datos.
  • Uso de Servicios de Almacenamiento en Caché de Datos:
    • Implementar almacenamiento en caché para un acceso más rápido a los datos.

En resumen, el dominio 1 se centra en el desarrollo efectivo y eficiente de aplicaciones utilizando AWS, con habilidades específicas en la escritura de código, la gestión de datos y la configuración de servicios en la nube. 

La comprensión y aplicación de patrones arquitectónicos, estrategias de falla, y las diferencias en conceptos clave, tales como el estado, el acoplamiento, y patrones sincrónicos y asincrónicos son esenciales.

⚠️ Dominio 2: Seguridad.

Tarea 1: Implementar la Autenticación o la Autorización para Aplicaciones y Servicios de AWS

Conocimientos

  1. Identidad Federada:
    • SAML (Security Assertion Markup Language): Permite la autenticación y autorización entre diferentes dominios.
    • OpenID Connect: Es un protocolo de autenticación basado en OAuth 2.0.
    • Amazon Cognito: Proporciona autenticación, autorización y administración de usuarios.
  2. Tokens de Portador:
    • JSON Web Token (JWT): Es un estándar para crear tokens que afirman algunos datos.
    • OAuth: Protocolo de autorización que permite a aplicaciones obtener acceso limitado a cuentas de usuario.
    • AWS Security Token Service (STS): Proporciona credenciales temporales para acceder a los servicios de AWS.
  3. Comparación de Grupos de Usuarios y Grupos de Identidades en Amazon Cognito: Definición y diferenciación de los usuarios y cómo estos se relacionan con los grupos en Cognito.
  4. Políticas Basadas en Recursos, Servicios, y Principales: Gestión de los derechos de acceso a los recursos.
  5. Control del Acceso Basado en Roles (RBAC): Gestión de acceso basado en el rol del usuario dentro de la organización.
  6. Autorización de Aplicaciones que usa ACL (Listas de Control de Acceso): Restricción de acceso a los recursos.
  7. Principio de Mínimo Privilegio: Otorgar sólo los permisos necesarios.
  8. Diferencias Entre las Políticas Administradas de AWS y las Administradas por el Cliente: Entender cómo y quién controla y administra las políticas.
  9. Identity and Access Management (IAM): Herramienta de AWS para gestionar usuarios y permisos.
certificacion-aws-developer-associate

Habilidades

  • Implementar el Acceso Federado: Usar servicios como Cognito e IAM para permitir el acceso federado.
  • Protección de Aplicaciones Mediante Tokens: Usar tokens para validar y asegurar la identidad.
  • Configuración del Acceso Programático a AWS: Habilitar el acceso a través de la API de AWS.
  • Realización de Llamadas Autenticadas a los Servicios de AWS: Cómo hacer llamadas seguras.
  • Asumir un Rol de IAM: Asignar y asumir roles de IAM.
  • Definición de Permisos: Establecer quién puede hacer qué en AWS.

Tarea 2: Implementar el Cifrado Mediante los Servicios de AWS

Conocimientos

  1. Cifrado en Reposo y en Tránsito: Proteger datos almacenados y durante la transmisión.
  2. Administración de Certificados: Uso de AWS Certificate Manager.
  3. Protección de Claves: Rotación y manejo seguro de claves.
  4. Diferencias Entre Cifrado del Cliente y del Servidor: Comprender cuándo y por qué usar cada uno.
  5. Diferencias Entre las Claves de AWS Key Management Service (KMS) Administradas por AWS y las Administradas por el Cliente: Quién tiene el control y la responsabilidad sobre las claves.
certificacion-aws-developer-associate

Habilidades

  • Uso de Claves de Cifrado: Cómo utilizar claves para cifrar/descifrar datos.
  • Generación de Certificados y Claves SSH: Crear certificados y claves para seguridad.
  • Uso del Cifrado más allá de los Límites de la Cuenta: Extender la seguridad entre cuentas.
  • Activación y Desactivación de la Rotación de Clave: Mantener la seguridad mediante la rotación de claves.

Tarea 3: Administrar Información Confidencial en el Código de la Aplicación

Conocimientos

  1. Clasificación de Datos: Identificación de datos sensibles como PII y PHI.
  2. Variables de Entorno: Cómo se utilizan para almacenar información confidencial.
  3. Administración de Secretos: Uso de AWS Secrets Manager y almacén de parámetros.
  4. Gestión Segura de Credenciales: Procesos y herramientas para manejar credenciales de forma segura.

certificacion-aws-developer-associate

Habilidades

  • Cifrado de Variables de Entorno: Proteger información sensible en las variables de entorno.
  • Uso de Servicios de Administración de Secretos: Utilizar herramientas específicas para manejar datos confidenciales.
  • Desinfección de Información Confidencial: Procesos para asegurarse de que los datos sensibles no sean expuestos.

Conclusión

El Dominio 2 de Seguridad en AWS es amplio y abarca desde la autenticación y autorización hasta el manejo seguro de información confidencial. 

Entender estos conceptos y habilidades es crucial para cualquier profesional de la seguridad en la nube, y AWS proporciona una variedad de servicios y herramientas que facilitan la implementación de estas mejores prácticas de seguridad.

🖥️ Dominio 3: Implementación

La implementación es un aspecto crítico de cualquier ciclo de desarrollo de software. 

En el contexto de AWS, abarca la preparación de artefactos de aplicación, pruebas en entornos de desarrollo, automatización de pruebas de implementación y uso de servicios de CI/CD. Veamos en detalle cada una de las tareas en este dominio.

Tarea 1: Preparar los Artefactos de las Aplicaciones para Implementarlos en AWS

Conocimientos

  1. Acceso a Datos de Configuración de Aplicaciones:
    • Utilizar AWS AppConfig, Secrets Manager, y almacenamiento de parámetros para manejar la configuración.
  2. Opciones de Paquetes de Implementación, Capas y Configuración de Lambda:
    • Entender las diversas opciones para empaquetar y configurar funciones Lambda.
  3. Herramientas de Control de Versiones basadas en Git:
    • Uso de Git y AWS CodeCommit para el manejo de versiones.
  4. Imágenes de Contenedores:
    • Trabajar con contenedores para la implementación.
certificacion-aws-developer-associate

Habilidades

  • Administración de Dependencias del Módulo de Código:
    • Manejar variables de entorno, archivos de configuración, e imágenes de contenedores.
  • Organización de Archivos y Estructura de Directorios:
    • Diseñar una estructura eficiente para la implementación de aplicaciones.
  • Uso de Repositorios de Código:
    • Trabajar con repositorios para almacenar y gestionar código.
  • Uso de Requisitos de Aplicaciones para Recursos:
    • Configurar los recursos según las necesidades de la aplicación (memoria, núcleos, etc.).

Tarea 2: Probar Aplicaciones en Entornos de Desarrollo

Conocimientos

  1. Funciones de los Servicios de AWS para Implementación:
    • Conocer los servicios de AWS que ayudan en la implementación de aplicaciones.
  2. Pruebas de Integración con Puntos de Enlace Simulados:
    • Entender cómo probar la integración con servicios simulados.
  3. Versiones y Alias de Lambda:
    • Manejar diferentes versiones y alias en funciones Lambda.
certificacion-aws-developer-associate

Habilidades

  • Pruebas de Código Implementado con AWS:
    • Usar herramientas y servicios de AWS para probar el código.
  • Realización de Integración Simulada para las API:
    • Probar cómo las APIs interactúan con otras partes de la aplicación.
  • Prueba de Aplicaciones Mediante Puntos de Enlace de Desarrollo:
    • Utilizar etapas en Amazon API Gateway para probar diferentes entornos.
  • Implementación de Actualizaciones en Entornos Existentes:
    • Implementar cambios y actualizaciones en entornos ya establecidos.

Tarea 3: Automatizar las Pruebas de Implementación

Conocimientos

  1. Etapas de API Gateway:
    • Entender cómo administrar y utilizar diferentes etapas en API Gateway.
  2. Ramas y Acciones en CI/CD:
    • Comprender cómo funciona la integración continua y la entrega continua en AWS.
  3. Pruebas de Software Automatizadas:
    • Familiarizarse con las pruebas de unidad y pruebas simuladas.
certificacion-aws-developer-associate

Habilidades

  • Creación de Eventos de Prueba de Aplicaciones:
    • Definir y utilizar eventos de prueba para probar diferentes partes de una aplicación.
  • Implementación de Recursos de API en Varios Entornos:
    • Gestionar y utilizar recursos de API en diferentes entornos de desarrollo, prueba y producción.
  • Creación de Entornos de Aplicaciones para Pruebas de Integración:
    • Utilizar versiones aprobadas y etiquetas para manejar entornos de prueba.
  • Implementación de Plantillas de Infraestructura como Código (IaC):
    • Utilizar plantillas como AWS SAM y CloudFormation para automatizar la implementación de infraestructura.
  • Administración de Entornos en Servicios de AWS Individuales:
    • Diferenciar y gestionar entornos separados como desarrollo, prueba y producción.

Tarea 4: Implementar un Código Mediante los Servicios de CI/CD de AWS

Conocimientos

  1. Herramientas de Control de Versiones basadas en Git:
    • Utilizar Git y AWS CodeCommit para control de versiones.
  2. Aprobaciones Manuales y Automatizadas en AWS CodePipeline:
    • Configurar y utilizar aprobaciones en el proceso de CI/CD.
  3. Acceso a Configuraciones de Aplicaciones desde AWS AppConfig y Secrets Manager:
    • Manejar configuraciones de aplicación y secretos en el proceso de implementación.
  4. Flujos de Trabajo de CI/CD con Servicios de AWS:
    • Diseñar y utilizar flujos de trabajo de CI/CD en AWS.
  5. Implementación de Aplicaciones con Herramientas de AWS:
    • Utilizar herramientas como CloudFormation, AWS CDK, AWS SAM, y más para la implementación.
  6. Opciones de Empaquetado de Implementación de Lambda:
    • Entender diferentes métodos para empaquetar y desplegar funciones Lambda.
  7. Etapas de API Gateway y Dominios Personalizados:
    • Utilizar etapas y dominios personalizados en API Gateway.
  8. Estrategias de Implementación:
    • Entender y aplicar diferentes estrategias de implementación como canary, azul/verde, continuo.
certificacion-aws-developer-associate

Habilidades

  • Actualización de Plantillas de IaC Existentes:
    • Modificar y mantener plantillas de IaC como AWS SAM y CloudFormation.
  • Administración de Entornos de Aplicaciones con AWS:
    • Utilizar servicios de AWS para manejar diferentes entornos de aplicación.
  • Implementación de una Versión de la Aplicación con Estrategias de Implementación:
    • Utilizar diferentes estrategias para implementar versiones de la aplicación.
  • Confirmación de Código en Repositorio para Invocar Acciones:
    • Integrar el código en un repositorio para iniciar procesos de construcción, prueba e implementación.
  • Uso de Flujos de Trabajo Coordinados para Implementar en Diferentes Entornos:
    • Coordinar la implementación en diferentes entornos utilizando flujos de trabajo.
  • Realización de Restauraciones de Aplicaciones con Estrategias de Implementación:
    • Utilizar estrategias existentes para realizar restauraciones en caso de fallas.
  • Utilización de Etiquetas y Ramas para Administración de Versiones:
    • Utilizar etiquetas y ramas en Git para gestionar diferentes versiones y lanzamientos.
  • Utilización de Configuraciones de Tiempo de Ejecución para Crear Implementaciones Dinámicas:
    • Utilizar variables y configuraciones en tiempo de ejecución para crear implementaciones flexibles y dinámicas.

En resumen, el dominio de implementación en AWS cubre un amplio rango de conocimientos y habilidades enfocados en la preparación, prueba, automatización, y entrega continua de aplicaciones. 

Los desarrolladores deben estar bien versados en estas áreas para implementar soluciones eficientes y eficaces en AWS. 

🔋 Dominio 4: Solución de Problemas y Optimización

Este dominio abarca las tareas esenciales en la solución de problemas y la optimización de aplicaciones en AWS, enfocándose en el análisis de la causa raíz, la inclusión de la observabilidad en el código, y la optimización de las aplicaciones utilizando diversos servicios y funciones de AWS.

Tarea 1: Ayudar en un Análisis de la Causa Raíz

Conocimientos

  1. Sistemas de Registro y Supervisión:
    • Comprender y aplicar las técnicas de registro y monitoreo en AWS.
  2. Lenguajes para Consultas de Registro:
    • Utilizar Amazon CloudWatch Logs Insights para realizar consultas.
  3. Visualizaciones de Datos:
    • Interpretar y utilizar visualizaciones de datos para facilitar el análisis.
  4. Herramientas de Análisis de Código:
    • Aplicar herramientas que ayuden a inspeccionar y analizar el código.
  5. Códigos de Error HTTP Comunes:
    • Identificar y manejar errores HTTP comunes en la aplicación.
  6. Excepciones Comunes Generadas por los SDK:
    • Reconocer y tratar excepciones comunes en SDKs de AWS.
  7. Mapas de Servicios en AWS X-Ray:
    • Utilizar AWS X-Ray para visualizar y analizar las aplicaciones.
certificacion-aws-developer-associate

Habilidades

  • Depuración del Código para Identificar Defectos:
    • Usar herramientas y técnicas para depurar y encontrar defectos en el código.
  • Interpretación de Métricas, Registros y Seguimientos de Aplicaciones:
    • Analizar métricas y registros para entender el comportamiento de la aplicación.
  • Consulta de Registros para Encontrar Datos Relevantes:
    • Realizar consultas en registros para localizar información específica.
  • Implementación de Métricas Personalizadas:
    • Utilizar el formato EMF de CloudWatch para métricas personalizadas.
  • Revisión del Estado de las Aplicaciones:
    • Utilizar paneles e información para mantener el estado de la aplicación.
  • Solución de Errores de Implementación:
    • Utilizar registros de salida de servicio para solucionar problemas de implementación.

Tarea 2: Incluir Observabilidad en el Código

Conocimientos

  1. Seguimiento Distribuido:
    • Implementar y utilizar seguimiento distribuido en las aplicaciones.
  2. Diferencias entre Registro, Supervisión y Observabilidad:
    • Comprender las diferencias clave y aplicar cada concepto de manera efectiva.
  3. Registro Estructurado:
    • Utilizar registros estructurados para mejorar la legibilidad y el análisis.
  4. Métricas de Aplicaciones:
    • Trabajar con métricas personalizadas, incrustadas e integradas en la aplicación.
certificacion-aws-developer-associate

Habilidades

  • Implementación de una Estrategia de Registro Eficaz:
    • Diseñar y aplicar una estrategia de registro que documente el comportamiento y estado de las aplicaciones.
  • Implementación de un Código que Emite Métricas Personalizadas:
    • Crear código que genere métricas personalizadas para un seguimiento específico.
  • Incorporación de Anotaciones para los Servicios de Seguimiento:
    • Añadir anotaciones relevantes para un seguimiento efectivo de los servicios.
  • Implementación de Alertas de Notificación:
    • Configurar alertas y notificaciones para acciones específicas.
  • Implementación del Seguimiento mediante AWS:
    • Utilizar servicios y herramientas de AWS para el seguimiento de aplicaciones.

Tarea 3: Optimizar las Aplicaciones mediante los Servicios y las Funciones de AWS

Conocimientos

  1. Almacenamiento en Caché:
    • Entender y aplicar técnicas de almacenamiento en caché para mejorar el rendimiento.
  2. Simultaneidad:
    • Gestionar simultaneidad para optimizar el rendimiento de la aplicación.
  3. Servicios de Mensajería:
    • Utilizar Amazon SQS y Amazon SNS para optimizar la mensajería.
certificacion-aws-developer-associate

Habilidades

  • Creación de Perfiles de Rendimiento de Aplicaciones:
    • Evaluar y mejorar el rendimiento de las aplicaciones.
  • Determinación de la Memoria y la Potencia de Cómputo Mínimas:
    • Identificar los requisitos mínimos de recursos para garantizar un funcionamiento eficiente.
  • Uso de Políticas de Filtro de Suscripción para Optimizar la Mensajería:
    • Utilizar políticas de filtro para gestionar la mensajería de manera efectiva.
  • Almacenamiento en Caché del Contenido según los Encabezados de las Solicitudes:
    • Utilizar técnicas de almacenamiento en caché para optimizar las respuestas a las solicitudes.

Por lo tanto, el dominio 4 se enfoca en la solución de problemas y la optimización dentro del entorno de AWS. 

Esto incluye la habilidad para diagnosticar y resolver problemas, incorporar observabilidad en el código y optimizar las aplicaciones utilizando servicios y características específicas de AWS. 

La competencia en este dominio es vital para mantener y mejorar la eficiencia, eficacia y resiliencia de las aplicaciones en AWS.

En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables.