Guía del examen AWS Certified Developer - Associate (DVA-C02)
Versión 1.3 DVA-C02
Introducción
El examen AWS Certified Developer - Associate (DVA-C02) está destinado a personas que desempeñan un rol de desarrollador. El examen valida la capacidad de un candidato para demostrar competencia en el desarrollo, prueba, implementación y depuración de aplicaciones basadas en la nube de AWS.
El examen también valida la capacidad de un candidato para completar las siguientes tareas:
- Desarrollar y optimizar aplicaciones en AWS.
- Empaquetar e implementar mediante el uso de flujos de trabajo de integración continua y entrega continua (CI/CD).
- Asegurar el código y los datos de la aplicación.
- Identificar y resolver problemas de la aplicación.
Descripción del candidato objetivo
El candidato objetivo debe tener 1 o más años de experiencia práctica en el desarrollo y mantenimiento de aplicaciones mediante el uso de servicios de AWS.
Conocimientos generales de TI recomendados
El candidato objetivo debe tener los siguientes conocimientos generales de TI:
- Competencia en al menos un lenguaje de programación de alto nivel
- Comprensión de la gestión del ciclo de vida de las aplicaciones
- Conocimiento básico de las aplicaciones orientadas a la nube para escribir código
- Capacidad para desarrollar aplicaciones funcionales
- Experiencia en el uso de herramientas de desarrollo
Conocimientos de AWS recomendados
El candidato objetivo debe ser capaz de realizar las siguientes tareas:
- Desarrollar y proteger aplicaciones mediante el uso de las API de los servicios de AWS, la interfaz de línea de comandos de AWS (AWS CLI) y los SDK.
- Usar una canalización de CI/CD para implementar aplicaciones en AWS.
Tareas laborales que están fuera del alcance del candidato objetivo
La siguiente lista contiene tareas laborales que no se espera que el candidato objetivo pueda realizar. Esta lista no es exhaustiva. Estas tareas están fuera del alcance del examen:
- Diseñar arquitecturas (por ejemplo, sistemas distribuidos, microservicios, esquemas y modelado de bases de datos).
- Diseñar y crear canalizaciones de CI/CD.
- Administrar usuarios y grupos de IAM.
- Administrar servidores y sistemas operativos.
- Diseñar infraestructura de redes de AWS (por ejemplo, Amazon Virtual Private Cloud [Amazon VPC], AWS Direct Connect).
Consulte el Apéndice para obtener una lista de tecnologías y conceptos que podrían aparecer en el examen, una lista de servicios y características de AWS dentro del alcance y una lista de servicios y características de AWS fuera del alcance.
Contenido del examen
Tipos de respuesta
Hay dos tipos de preguntas en el examen:
- Opción múltiple: Tiene una respuesta correcta y tres respuestas incorrectas (distractores)
- Respuesta múltiple: Tiene dos o más respuestas correctas de entre cinco o más opciones de respuesta
Seleccione una o más respuestas que completen mejor la afirmación o respondan a la pregunta. Los distractores, o respuestas incorrectas, son opciones de respuesta que un candidato con conocimientos o habilidades incompletos podría elegir. Los distractores generalmente son respuestas plausibles que coinciden con el área de contenido.
Las preguntas sin respuesta se califican como incorrectas; no hay penalización por adivinar. El examen incluye 50 preguntas que afectan tu puntaje.
Contenido sin calificar
El examen incluye 15 preguntas sin calificar que no afectan tu puntaje. AWS recopila información sobre el desempeño en estas preguntas sin calificar para evaluarlas en el futuro como preguntas calificadas. Estas preguntas sin calificar no se identifican en el examen.
Resultados del examen
El examen AWS Certified Developer - Associate (DVA-C02) tiene una designación de aprobado o reprobado. El examen se califica contra un estándar mínimo establecido por profesionales de AWS que siguen las mejores prácticas y directrices de la industria de certificación.
Tus resultados para el examen se informan como un puntaje escalado de 100 a 1,000. El puntaje mínimo para aprobar es 720. Tu puntaje muestra cómo te desempeñaste en el examen en general y si aprobaste. Los modelos de puntuación escalados ayudan a equiparar los puntajes entre múltiples formas de examen que podrían tener niveles de dificultad ligeramente diferentes.
Tu informe de calificaciones podría contener una tabla de clasificaciones de tu desempeño a nivel de sección. El examen utiliza un modelo de puntuación compensatorio, lo que significa que no necesitas obtener un puntaje de aprobación en cada sección. Solo necesitas aprobar el examen general.
Cada sección del examen tiene una ponderación específica, por lo que algunas secciones tienen más preguntas que otras. La tabla de clasificaciones contiene información general que resalta tus fortalezas y debilidades. Ten cuidado al interpretar la retroalimentación a nivel de sección.
Esquema de contenido
Esta guía del examen incluye ponderaciones, dominios de contenido y tareas para el examen. Esta guía no proporciona una lista exhaustiva del contenido del examen. Sin embargo, se proporciona un contexto adicional para cada tarea para ayudarte a prepararte para el examen.
El examen tiene los siguientes dominios de contenido y ponderaciones:
- Dominio de contenido 1: Desarrollo con servicios de AWS (32% del contenido calificado)
- Dominio de contenido 2: Seguridad (26% del contenido calificado)
- Dominio de contenido 3: Implementación (24% del contenido calificado)
- Dominio de contenido 4: Solución de problemas y optimización (18% del contenido calificado)
Dominio de contenido 1: Desarrollo con servicios de AWS
Tarea 1: Desarrollar código para aplicaciones alojadas en AWS
Conocimientos sobre:
- Patrones arquitectónicos (por ejemplo, impulsados por eventos, microservicios, monolíticos, coreografía, orquestación, fanout)
- Idempotencia
- Diferencias entre conceptos con estado y sin estado
- Diferencias entre componentes acoplados y desacoplados
- Patrones de diseño tolerantes a fallas (por ejemplo, reintentos con retroceso exponencial y jitter, colas de mensajes fallidos)
- Diferencias entre patrones síncronos y asíncronos
Habilidades en:
- Crear aplicaciones tolerantes a fallas y resistentes en un lenguaje de programación (por ejemplo, Java, C#, Python, JavaScript, TypeScript, Go)
- Crear, ampliar y mantener API (por ejemplo, transformaciones de solicitud/respuesta, aplicar reglas de validación, anular códigos de estado)
- Escribir y ejecutar pruebas unitarias en entornos de desarrollo (por ejemplo, usando el modelo de aplicación serverless de AWS [AWS SAM])
- Escribir código para usar servicios de mensajería
- Escribir código que interactúe con los servicios de AWS mediante API y SDK de AWS
- Manejar el flujo de datos en tiempo real usando servicios de AWS
Tarea 2: Desarrollar código para AWS Lambda
Conocimientos sobre:
- Asignación de origen de eventos
- Aplicaciones sin estado
- Pruebas unitarias
- Arquitectura impulsada por eventos
- Escalabilidad
- El acceso a recursos privados en VPC desde el código de Lambda
Habilidades en:
- Configurar funciones de Lambda definiendo variables de entorno y parámetros (por ejemplo, memoria, concurrencia, tiempo de espera, tiempo de ejecución, controlador, capas, extensiones, desencadenantes, destinos)
- Manejar el ciclo de vida de los eventos y los errores mediante código (por ejemplo, destinos de Lambda, colas de mensajes fallidos)
- Escribir y ejecutar código de prueba usando servicios y herramientas de AWS
- Integrar funciones de Lambda con servicios de AWS
- Ajustar las funciones de Lambda para un rendimiento óptimo
Tarea 3: Usar almacenes de datos en el desarrollo de aplicaciones
Conocimientos sobre:
- Bases de datos relacionales y no relacionales
- Operaciones de crear, leer, actualizar y eliminar (CRUD)
- Claves de partición de alta cardinalidad para un acceso equilibrado a las particiones
- Opciones de almacenamiento en la nube (por ejemplo, archivos, objetos, bases de datos)
- Modelos de coherencia de bases de datos (por ejemplo, fuertemente coherentes, finalmente coherentes)
- Diferencias entre operaciones de consulta y búsqueda
- Claves y indexación de Amazon DynamoDB
- Estrategias de almacenamiento en caché (por ejemplo, escritura a través, lectura a través, carga diferida, TTL)
- Niveles y gestión del ciclo de vida de Amazon Simple Storage Service (Amazon S3)
- Diferencias entre patrones de almacenamiento de datos efímeros y persistentes
Habilidades en:
- Serializar y deserializar datos para proporcionar persistencia a un almacén de datos
- Usar, gestionar y mantener almacenes de datos
- Gestionar ciclos de vida de datos
- Usar servicios de almacenamiento en caché de datos
Dominio de contenido 2: Seguridad
Tarea 1: Implementar autenticación y/o autorización para aplicaciones y servicios de AWS
Conocimientos sobre:
- Federación de identidades (por ejemplo, Security Assertion Markup Language [SAML], OpenID Connect [OIDC], Amazon Cognito)
- Tokens de portador (por ejemplo, JSON Web Token [JWT], OAuth, AWS Security Token Service [AWS STS])
- La comparación entre grupos de usuarios e identidades en Amazon Cognito
- Políticas basadas en recursos, políticas de servicio y políticas de entidad principal
- Control de acceso basado en roles (RBAC)
- Autorización de aplicaciones que utilizan listas de control de acceso (ACL)
- El principio del privilegio mínimo
- Diferencias entre políticas administradas por AWS y políticas administradas por el cliente
- Gestión de identidad y acceso
Habilidades en:
- Usar un proveedor de identidad para implementar acceso federado (por ejemplo, Amazon Cognito, AWS Identity and Access Management [IAM])
- Asegurar aplicaciones mediante tokens de portador
- Configurar el acceso programático a AWS
- Realizar llamadas autenticadas a los servicios de AWS
- Asumir un rol de IAM
- Definir permisos para entidades principales
Tarea 2: Implementar cifrado mediante servicios de AWS
Conocimientos sobre:
- Cifrado en reposo y en tránsito
- Gestión de certificados (por ejemplo, Entidad de Certificación Privada de AWS)
- Protección de claves (por ejemplo, rotación de claves)
- Diferencias entre cifrado del lado del cliente y cifrado del lado del servidor
- Diferencias entre claves administradas por AWS y claves administradas por el cliente en AWS Key Management Service (AWS KMS)
Habilidades en:
- Usar claves de cifrado para cifrar o descifrar datos
- Generar certificados y claves SSH para fines de desarrollo
- Usar cifrado a través de los límites de cuenta
- Habilitar y deshabilitar la rotación de claves
Tarea 3: Gestionar datos confidenciales en el código de la aplicación
Conocimientos sobre:
- Clasificación de datos (por ejemplo, información de identificación personal [PII], información de salud protegida [PHI])
- Variables de entorno
- Gestión de secretos (por ejemplo, AWS Secrets Manager, AWS Systems Manager Parameter Store)
- Manejo seguro de credenciales
Habilidades en:
- Cifrar variables de entorno que contengan datos confidenciales
- Usar servicios de gestión de secretos para proteger datos confidenciales
- Sanear datos confidenciales
Dominio de contenido 3: Implementación
Tarea 1: Preparar artefactos de aplicación para ser implementados en AWS
Conocimientos sobre:
- Formas de acceder a los datos de configuración de la aplicación (por ejemplo, AWS AppConfig, Secrets Manager, Parameter Store)
- Empaquetado de implementación de Lambda, capas y opciones de configuración
- Herramientas de control de versiones basadas en Git (por ejemplo, Git)
- Imágenes de contenedor
Habilidades en:
- Gestionar las dependencias del módulo de código (por ejemplo, variables de entorno, archivos de configuración, imágenes de contenedor) dentro del paquete
- Organizar archivos y una estructura de directorios para la implementación de aplicaciones
- Usar repositorios de código en entornos de implementación
- Aplicar requisitos de aplicación para recursos (por ejemplo, memoria, núcleos)
Tarea 2: Probar aplicaciones en entornos de desarrollo
Conocimientos sobre:
- Funciones en los servicios de AWS que realizan la implementación de aplicaciones
- Pruebas de integración que utilizan puntos finales simulados
- Versiones y alias de Lambda
Habilidades en:
- Probar el código implementado usando servicios y herramientas de AWS
- Realizar una integración simulada para API y resolver dependencias de integración
- Probar aplicaciones usando puntos finales de desarrollo (por ejemplo, configurar etapas en Amazon API Gateway)
- Implementar actualizaciones de pila de aplicaciones en entornos existentes (por ejemplo, implementar una plantilla de AWS SAM en un entorno de ensayo diferente)
Tarea 3: Automatizar las pruebas de implementación
Conocimientos sobre:
- Etapas de API Gateway
- Ramas y acciones en el flujo de trabajo de integración continua y entrega continua (CI/CD)
- Pruebas automatizadas de software (por ejemplo, pruebas unitarias, pruebas simuladas)
Habilidades en:
- Crear eventos de prueba de aplicación (por ejemplo, cargas útiles JSON para probar Lambda, API Gateway, recursos de AWS SAM)
- Implementar recursos de API en varios entornos
- Crear entornos de aplicación que utilicen versiones aprobadas para pruebas de integración (por ejemplo, aliases de Lambda, etiquetas de imágenes de contenedor, ramas de AWS Amplify, entornos de AWS Copilot)
- Implementar y desplegar plantillas de infraestructura como código (IaC) (por ejemplo, plantillas de AWS SAM, plantillas de AWS CloudFormation)
- Gestionar entornos en servicios individuales de AWS (por ejemplo, diferenciar entre desarrollo, prueba y producción en API Gateway)
Tarea 4: Implementar código mediante servicios de CI/CD de AWS
Conocimientos sobre:
- Herramientas de control de versiones basadas en Git (por ejemplo, Git)
- Aprobaciones manuales y automatizadas en AWS CodePipeline
- Acceder a configuraciones de aplicaciones desde AWS AppConfig y Secrets Manager
- Flujos de trabajo de CI/CD que utilizan servicios de AWS
- Implementación de aplicaciones que utilizan servicios y herramientas de AWS (por ejemplo, CloudFormation, AWS Cloud Development Kit [AWS CDK], AWS SAM, AWS CodeArtifact, AWS Copilot, Amplify, Lambda)
- Opciones de empaquetado de implementación de Lambda
- Etapas y dominios personalizados de API Gateway
- Estrategias de implementación (por ejemplo, canario, azul/verde, rolling)
Habilidades en:
- Actualizar plantillas de IaC existentes (por ejemplo, plantillas de AWS SAM, plantillas de CloudFormation)
- Gestionar entornos de aplicación mediante servicios de AWS
- Implementar una versión de la aplicación utilizando estrategias de implementación
- Confirmar código en un repositorio para invocar acciones de compilación, prueba e implementación
- Usar flujos de trabajo orquestados para implementar código en diferentes entornos
- Realizar retrocesos de aplicación utilizando estrategias de implementación existentes
- Usar etiquetas y ramas para la gestión de versiones y lanzamientos
- Usar configuraciones de tiempo de ejecución existentes para crear implementaciones dinámicas (por ejemplo, usar variables de ensayo de API Gateway en funciones de Lambda)
Dominio de contenido 4: Solución de problemas y optimización
Tarea 1: Ayudar en un análisis de causa raíz
Conocimientos sobre:
- Sistemas de registro y monitoreo
- Lenguajes para consultas de registros (por ejemplo, Amazon CloudWatch Logs Insights)
- Visualizaciones de datos
- Herramientas de análisis de código
- Códigos de error HTTP comunes
- Excepciones comunes generadas por los SDK
- Mapas de servicio en AWS X-Ray
Habilidades en:
- Depurar código para identificar defectos
- Interpretar métricas, registros y rastreos de aplicaciones
- Consultar registros para encontrar datos relevantes
- Implementar métricas personalizadas (por ejemplo, formato de métricas incrustadas de CloudWatch [EMF])
- Revisar la salud de la aplicación usando paneles e insights
- Solucionar fallas de implementación mediante registros de salida de servicio
Tarea 2: Instrumentar código para la observabilidad
Conocimientos sobre:
- Rastreo distribuido
- Diferencias entre registro, monitoreo y observabilidad
- Registro estructurado
- Métricas de aplicación (por ejemplo, personalizadas, incrustadas, incorporadas)
Habilidades en:
- Implementar una estrategia de registro efectiva para registrar el comportamiento y el estado de la aplicación
- Implementar código que emita métricas personalizadas
- Agregar anotaciones para servicios de rastreo
- Implementar alertas de notificación para acciones específicas (por ejemplo, notificaciones sobre límites de cuota o finalizaciones de implementación)
- Implementar rastreo utilizando servicios y herramientas de AWS
Tarea 3: Optimizar aplicaciones mediante servicios y funciones de AWS
Conocimientos sobre:
- Almacenamiento en caché
- Concurrencia
- Servicios de mensajería (por ejemplo, Amazon Simple Queue Service [Amazon SQS], Amazon Simple Notification Service [Amazon SNS])
Habilidades en:
- Perfilar el rendimiento de la aplicación
- Determinar la memoria mínima y el poder de cómputo para una aplicación
- Usar políticas de filtro de suscripción para optimizar la mensajería
- Almacenar en caché contenido basado en encabezados de solicitud
Apéndice
Tecnologías y conceptos que podrían aparecer en el examen
La siguiente lista contiene tecnologías y conceptos que podrían aparecer en el examen. Esta lista no es exhaustiva y está sujeta a cambios. El orden y la ubicación de los elementos en esta lista no indican su peso o importancia relativa en el examen:
- Análisis
- Integración de aplicaciones
- Cálculo
- Contenedores
- Gestión de costos y capacidad
- Base de datos
- Herramientas de desarrollo
- Gestión y gobernanza
- Redes y entrega de contenido
- Seguridad, identidad y cumplimiento
- Almacenamiento
Menciones de servicios de AWS en el examen
La certificación de AWS está reduciendo la carga de lectura en este examen usando nombres cortos oficiales para los nombres de servicios de AWS que contienen abreviaturas o información entre paréntesis. Por ejemplo, Amazon Simple Notification Service (Amazon SNS) aparece en el examen como Amazon SNS.
La característica de Ayuda en el examen (disponible para cada pregunta) contiene la lista de los nombres cortos de los servicios de AWS y sus nombres completos correspondientes.
Puede consultar Nombres de servicios de AWS en el sitio web de AWS Certification para obtener la lista de servicios que aparecen con sus nombres cortos en el examen. Cualquier servicio que esté en la lista pero que esté fuera del alcance del examen no aparecerá en el examen.
Nota: No todas las abreviaturas se escriben completamente en el examen o están disponibles en la característica de Ayuda. El nombre oficial completo de algunos servicios de AWS incluye una abreviatura que nunca se expande (por ejemplo, Amazon API Gateway, Amazon EMR). El examen también puede contener otras abreviaturas que se espera que el público objetivo conozca.
Servicios y funciones de AWS dentro del alcance
La siguiente lista contiene servicios y funciones de AWS que están dentro del alcance del examen. Esta lista no es exhaustiva y está sujeta a cambios. Las ofertas de AWS aparecen en categorías que se alinean con las funciones principales de las ofertas:
Análisis
- Amazon Athena
- Amazon Kinesis
- Amazon OpenSearch Service
Integración de aplicaciones
- AWS AppSync
- Amazon EventBridge
- Amazon Simple Notification Service (Amazon SNS)
- Amazon Simple Queue Service (Amazon SQS)
- AWS Step Functions
Cálculo
- Amazon Elastic Compute Cloud (Amazon EC2)
- AWS Elastic Beanstalk
- AWS Lambda
- Modelo de aplicación serverless de AWS (AWS SAM)
Contenedores
- AWS Copilot
- Amazon Elastic Container Registry (Amazon ECR)
- Amazon Elastic Container Service (Amazon ECS)
- Amazon Elastic Kubernetes Service (Amazon EKS)
Base de datos
- Amazon Aurora
- Amazon DynamoDB
- Amazon ElastiCache
- Amazon MemoryDB
- Amazon Relational Database Service (Amazon RDS)
Herramientas de desarrollo
- AWS Amplify
- AWS CloudShell
- AWS CodeArtifact
- AWS CodeBuild
- AWS CodeDeploy
- Amazon CodeGuru
- AWS CodePipeline
- AWS X-Ray
Gestión y gobernanza
- AWS AppConfig
- AWS Cloud Development Kit (AWS CDK)
- AWS CloudFormation
- AWS CloudTrail
- Amazon CloudWatch
- Amazon CloudWatch Logs
- AWS Command Line Interface (AWS CLI)
- AWS Systems Manager
Redes y entrega de contenido
- Amazon API Gateway
- Amazon CloudFront
- Elastic Load Balancing (ELB)
- Amazon Route 53
- Amazon Virtual Private Cloud (Amazon VPC)
Seguridad, identidad y cumplimiento
- AWS Certificate Manager (ACM)
- Amazon Cognito
- AWS Identity and Access Management (IAM)
- AWS Key Management Service (AWS KMS)
- Entidad de Certificación Privada de AWS
- AWS Secrets Manager
- AWS Security Token Service (AWS STS)
- AWS WAF
Almacenamiento
- Amazon Elastic Block Store (Amazon EBS)
- Amazon Elastic File System (Amazon EFS)
- Amazon Simple Storage Service (Amazon S3)
- Amazon S3 Glacier
Servicios y funciones de AWS fuera del alcance
La siguiente lista contiene servicios y funciones de AWS que están fuera del alcance del examen. Esta lista no es exhaustiva y está sujeta a cambios. Se excluyen las ofertas de AWS que no están relacionadas con los roles laborales objetivo para el examen:
Análisis
Aplicaciones empresariales
- Amazon Chime
- Amazon Connect
- Amazon WorkMail
Informática de usuarios finales
- Amazon AppStream 2.0
- Amazon WorkSpaces
Web y móvil frontales
Tecnología de juegos
Aprendizaje automático
- Amazon Lex
- Amazon Polly
- Amazon Rekognition
Gestión y gobernanza
- AWS Managed Services (AMS)
- AWS Service Catalog
Servicios de medios
- Amazon Elastic Transcoder
Migración y transferencia
- AWS Application Discovery Service
- AWS Application Migration Service
- AWS Database Migration Service (AWS DMS)
Seguridad, identidad y cumplimiento
- AWS Shield Advanced
- AWS Shield Standard
Almacenamiento
- Familia de servicios AWS Snow
- AWS Storage Gateway
Encuesta
¿Qué tan útil fue esta guía del examen? Háganos saber respondiendo nuestra encuesta.
Versión 1.3 DVA-C02