Esame AWS Certified Developer - Associate (DVA-C02)
Versione 1.3 DVA-C02
Introduzione
L'esame AWS Certified Developer - Associate (DVA-C02) è destinato agli individui che ricoprono un ruolo di sviluppatore. L'esame verifica la capacità di un candidato di dimostrare la propria competenza nello sviluppo, test, distribuzione e debug di applicazioni basate sul cloud AWS.
L'esame verifica inoltre la capacità di un candidato di svolgere i seguenti compiti:
- Sviluppare e ottimizzare le applicazioni su AWS.
- Confezionare e distribuire utilizzando flussi di lavoro di integrazione continua e distribuzione continua (CI/CD).
- Proteggere il codice applicativo e i dati.
- Identificare e risolvere i problemi delle applicazioni.
Profilo del candidato target
Il candidato target dovrebbe avere 1 o più anni di esperienza pratica nello sviluppo e manutenzione di applicazioni utilizzando i servizi AWS.
Conoscenze IT generali consigliate
Il candidato target dovrebbe avere le seguenti conoscenze IT generali:
- Competenza in almeno un linguaggio di programmazione ad alto livello
- Comprensione della gestione del ciclo di vita delle applicazioni
- Conoscenza di base delle applicazioni cloud-focused per scrivere codice
- Capacità di sviluppare applicazioni funzionali
- Esperienza nell'utilizzo di strumenti di sviluppo
Conoscenze AWS consigliate
Il candidato target dovrebbe essere in grado di svolgere i seguenti compiti:
- Sviluppare e proteggere le applicazioni utilizzando le API di servizi AWS, l'AWS Command Line Interface (AWS CLI) e gli SDK.
- Utilizzare una pipeline CI/CD per distribuire le applicazioni su AWS.
Compiti lavorativi non inclusi nel profilo del candidato target
L'elenco seguente contiene compiti lavorativi che non ci si aspetta che il candidato target sia in grado di svolgere. Questo elenco non è esaustivo. Questi compiti esulano dall'ambito dell'esame:
- Progettare architetture (ad esempio, sistemi distribuiti, microservizi, schemi e modellazione del database).
- Progettare e creare pipeline CI/CD.
- Amministrare utenti e gruppi IAM.
- Amministrare server e sistemi operativi.
- Progettare infrastrutture di rete AWS (ad esempio, Amazon Virtual Private Cloud [Amazon VPC], AWS Direct Connect).
Consultare l'Appendice per un elenco delle tecnologie e dei concetti che potrebbero comparire nell'esame, un elenco dei servizi e delle funzionalità AWS inclusi nell'ambito e un elenco dei servizi e delle funzionalità AWS esclusi dall'ambito.
Contenuto dell'esame
Tipologie di domande
Nell'esame sono presenti due tipologie di domande:
- Scelta multipla: ha una sola risposta corretta e tre risposte errate (distrattori)
- Risposta multipla: ha due o più risposte corrette su cinque o più opzioni di risposta
Selezionare una o più risposte che completano meglio l'affermazione o rispondono alla domanda. I distrattori, o risposte errate, sono le opzioni di risposta che un candidato con conoscenze o abilità incomplete potrebbe scegliere. I distrattori sono generalmente risposte plausibili che corrispondono all'argomento del contenuto.
Le domande lasciate senza risposta vengono considerate errate; non c'è alcuna penalità per aver indovinato. L'esame include 50 domande che influenzano il punteggio.
Contenuto non valutato
L'esame include 15 domande non valutate che non influiscono sul punteggio. AWS raccoglie informazioni sulle prestazioni di queste domande non valutate per valutarle per un futuro utilizzo come domande valutate. Queste domande non valutate non sono identificate nell'esame.
Risultati dell'esame
L'esame AWS Certified Developer - Associate (DVA-C02) ha una designazione di superamento o non superamento. L'esame viene valutato rispetto a uno standard minimo stabilito da professionisti AWS che seguono le migliori pratiche e linee guida del settore di certificazione.
I risultati dell'esame vengono riportati come punteggio scalato da 100 a 1.000. Il punteggio minimo per il superamento è 720. Il punteggio ottenuto mostra le prestazioni complessive nell'esame e se l'esame è stato superato. I modelli di punteggio scalato aiutano a equiparare i punteggi tra più moduli di esame che potrebbero avere livelli di difficoltà leggermente diversi.
Il rapporto sui risultati dell'esame potrebbe contenere una tabella di classificazioni delle prestazioni a livello di sezione. L'esame utilizza un modello di punteggio compensativo, il che significa che non è necessario raggiungere un punteggio di superamento in ogni sezione. È sufficiente superare l'esame complessivo.
Ogni sezione dell'esame ha una ponderazione specifica, quindi alcune sezioni hanno più domande di altre. La tabella delle classificazioni contiene informazioni generali che evidenziano i punti di forza e di debolezza. Usare cautela nell'interpretare i commenti a livello di sezione.
Struttura dei contenuti
Questa guida all'esame include pesi, domini di contenuto e compiti per l'esame. Questa guida non fornisce un elenco esaustivo dei contenuti dell'esame. Tuttavia, ulteriori informazioni per ogni compito sono disponibili per aiutare a prepararsi all'esame.
L'esame ha i seguenti domini di contenuto e pesi:
- Dominio di contenuto 1: Sviluppo con servizi AWS (32% del contenuto valutato)
- Dominio di contenuto 2: Sicurezza (26% del contenuto valutato)
- Dominio di contenuto 3: Distribuzione (24% del contenuto valutato)
- Dominio di contenuto 4: Risoluzione dei problemi e ottimizzazione (18% del contenuto valutato)
Dominio di contenuto 1: Sviluppo con servizi AWS
Compito 1: Sviluppare codice per applicazioni ospitate su AWS
Conoscenza di:
- Modelli architetturali (ad esempio, event-driven, microservizi, monolitici, coreografia, orchestrazione, fanout)
- Idempotenza
- Differenze tra concetti stateful e stateless
- Differenze tra componenti fortemente accoppiati e debolmente accoppiati
- Modelli di progettazione tolleranti ai guasti (ad esempio, ripetizioni con backoff esponenziale e jitter, code di lettere morte)
- Differenze tra schemi sincroni e asincroni
Abilità in:
- Creazione di applicazioni tolleranti ai guasti e resilienti in un linguaggio di programmazione (ad esempio Java, C#, Python, JavaScript, TypeScript, Go)
- Creazione, estensione e manutenzione di API (ad esempio, trasformazioni di richieste/risposte, applicazione di regole di convalida, override dei codici di stato)
- Scrittura ed esecuzione di test unitari negli ambienti di sviluppo (ad esempio, usando AWS Serverless Application Model [AWS SAM])
- Scrittura di codice per utilizzare i servizi di messaggistica
- Scrittura di codice che interagisce con i servizi AWS utilizzando API e SDK AWS
- Gestione dello streaming di dati utilizzando servizi AWS
Compito 2: Sviluppare codice per AWS Lambda
Conoscenza di:
- Mapping delle sorgenti di eventi
- Applicazioni senza stato
- Test unitari
- Architettura event-driven
- Scalabilità
- Accesso a risorse private in VPC dal codice Lambda
Abilità in:
- Configurazione di funzioni Lambda definendo variabili d'ambiente e parametri (ad esempio, memoria, concorrenza, timeout, runtime, gestore, livelli, estensioni, trigger, destinazioni)
- Gestione del ciclo di vita degli eventi e degli errori mediante codice (ad esempio, destinazioni Lambda, code di lettere morte)
- Scrittura ed esecuzione di codice di test utilizzando servizi e strumenti AWS
- Integrazione di funzioni Lambda con servizi AWS
- Ottimizzazione delle funzioni Lambda per prestazioni ottimali
Compito 3: Utilizzare archivi dati nello sviluppo di applicazioni
Conoscenza di:
- Database relazionali e non relazionali
- Operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD)
- Chiavi di partizione ad alta cardinalità per un accesso bilanciato alle partizioni
- Opzioni di archiviazione cloud (ad esempio, file, oggetti, database)
- Modelli di coerenza del database (ad esempio, fortemente coerenti, eventualmente coerenti)
- Differenze tra operazioni di query e scansione
- Chiavi e indicizzazione di Amazon DynamoDB
- Strategie di caching (ad esempio, write-through, read-through, lazy loading, TTL)
- Livelli e gestione del ciclo di vita di Amazon Simple Storage Service (Amazon S3)
- Differenze tra modelli di archiviazione dati effimeri e persistenti
Abilità in:
- Serializzazione e deserializzazione dei dati per fornire persistenza a un archivio dati
- Utilizzo, gestione e manutenzione di archivi dati
- Gestione dei cicli di vita dei dati
- Utilizzo di servizi di caching dati
Dominio di contenuto 2: Sicurezza
Compito 1: Implementare l'autenticazione e/o l'autorizzazione per applicazioni e servizi AWS
Conoscenza di:
- Federazione di identità (ad esempio, Security Assertion Markup Language [SAML], OpenID Connect [OIDC], Amazon Cognito)
- Token di portatore (ad esempio, JSON Web Token [JWT], OAuth, AWS Security Token Service [AWS STS])
- Il confronto tra pool di utenti e pool di identità in Amazon Cognito
- Politiche basate sulle risorse, politiche di servizio e politiche principali
- Controllo degli accessi in base al ruolo (RBAC)
- Autorizzazione delle applicazioni che utilizza ACL
- Il principio del privilegio minimo
- Differenze tra politiche gestite da AWS e politiche gestite dal cliente
- Gestione delle identità e degli accessi
Abilità in:
- Utilizzo di un provider di identità per implementare l'accesso federato (ad esempio, Amazon Cognito, AWS Identity and Access Management [IAM])
- Protezione delle applicazioni utilizzando token di portatore
- Configurazione dell'accesso programmatico ad AWS
- Effettuazione di chiamate autenticate ai servizi AWS
- Assunzione di un ruolo IAM
- Definizione delle autorizzazioni per i principali
Compito 2: Implementare la crittografia utilizzando i servizi AWS
Conoscenza di:
- Crittografia a riposo e in transito
- Gestione dei certificati (ad esempio, AWS Private Certificate Authority)
- Protezione delle chiavi (ad esempio, rotazione delle chiavi)
- Differenze tra crittografia lato client e crittografia lato server
- Differenze tra chiavi AWS Key Management Service (AWS KMS) gestite da AWS e gestite dal cliente
Abilità in:
- Utilizzo di chiavi di crittografia per crittografare o decrittografare i dati
- Generazione di certificati e chiavi SSH per scopi di sviluppo
- Utilizzo della crittografia attraverso i confini degli account
- Attivazione e disattivazione della rotazione delle chiavi
Compito 3: Gestire i dati sensibili nel codice dell'applicazione
Conoscenza di:
- Classificazione dei dati (ad esempio, informazioni di identificazione personale [PII], informazioni sanitarie protette [PHI])
- Variabili d'ambiente
- Gestione dei segreti (ad esempio, AWS Secrets Manager, AWS Systems Manager Parameter Store)
- Gestione sicura delle credenziali
Abilità in:
- Crittografia delle variabili d'ambiente che contengono dati sensibili
- Utilizzo di servizi di gestione dei segreti per proteggere i dati sensibili
- Pulizia dei dati sensibili
Dominio di contenuto 3: Distribuzione
Compito 1: Preparare gli artefatti delle applicazioni da distribuire su AWS
Conoscenza di:
- Modi per accedere ai dati di configurazione dell'applicazione (ad esempio, AWS AppConfig, Secrets Manager, Parameter Store)
- Pacchettizzazione, livelli e opzioni di configurazione della distribuzione Lambda
- Strumenti di controllo della versione basati su Git (ad esempio, Git)
- Immagini dei container
Abilità in:
- Gestione delle dipendenze del modulo di codice (ad esempio, variabili d'ambiente, file di configurazione, immagini dei container) all'interno del pacchetto
- Organizzazione di file e struttura delle directory per la distribuzione dell'applicazione
- Utilizzo di repository di codice negli ambienti di distribuzione
- Applicazione dei requisiti dell'applicazione per le risorse (ad esempio, memoria, core)
Compito 2: Testare le applicazioni negli ambienti di sviluppo
Conoscenza di:
- Funzionalità nei servizi AWS che eseguono la distribuzione delle applicazioni
- Test di integrazione che utilizzano endpoint di mock
- Versioni e alias Lambda
Abilità in:
- Test del codice distribuito utilizzando servizi e strumenti AWS
- Esecuzione di mock di integrazione per API e risoluzione delle dipendenze di integrazione
- Test delle applicazioni utilizzando endpoint di sviluppo (ad esempio, configurazione di stage in Amazon API Gateway)
- Distribuzione di aggiornamenti dello stack dell'applicazione in ambienti esistenti (ad esempio, distribuzione di un modello AWS SAM in un ambiente di staging diverso)
Compito 3: Automatizzare i test di distribuzione
Conoscenza di:
- Stage di API Gateway
- Rami e azioni nei flussi di lavoro di integrazione continua e distribuzione continua (CI/CD)
- Test software automatizzati (ad esempio, test unitari, test di mock)
Abilità in:
- Creazione di eventi di test dell'applicazione (ad esempio, payload JSON per testare risorse Lambda, API Gateway, AWS SAM)
- Distribuzione di risorse API in vari ambienti
- Creazione di ambienti applicativi che utilizzano versioni approvate per i test di integrazione (ad esempio, alias Lambda, tag di immagini dei container, rami di AWS Amplify, ambienti di AWS Copilot)
- Implementazione e distribuzione di modelli di infrastruttura as code (IaC) (ad esempio, modelli AWS SAM, modelli AWS CloudFormation)
- Gestione degli ambienti in singoli servizi AWS (ad esempio, differenziazione tra sviluppo, test e produzione in API Gateway)
Compito 4: Distribuire il codice utilizzando i servizi CI/CD di AWS
Conoscenza di:
- Strumenti di controllo della versione basati su Git (ad esempio, Git)
- Approvazioni manuali e automatiche in AWS CodePipeline
- Accesso alle configurazioni delle applicazioni da AWS AppConfig e Secrets Manager
- Flussi di lavoro CI/CD che utilizzano servizi AWS
- Distribuzione di applicazioni che utilizza servizi e strumenti AWS (ad esempio, CloudFormation, AWS Cloud Development Kit [AWS CDK], AWS SAM, AWS CodeArtifact, AWS Copilot, Amplify, Lambda)
- Opzioni di pacchettizzazione della distribuzione Lambda
- Stage e domini personalizzati di API Gateway
- Strategie di distribuzione (ad esempio, canary, blue/green, rolling)
Abilità in:
- Aggiornamento di modelli IaC esistenti (ad esempio, modelli AWS SAM, modelli CloudFormation)
- Gestione degli ambienti applicativi utilizzando servizi AWS
- Distribuzione di una versione dell'applicazione utilizzando strategie di distribuzione
- Commit del codice in un repository per attivare azioni di build, test e distribuzione
- Utilizzo di flussi di lavoro orchestrati per distribuire il codice in diversi ambienti
- Esecuzione di rollback delle applicazioni utilizzando le strategie di distribuzione esistenti
- Utilizzo di etichette e rami per la gestione delle versioni e dei rilasci
- Utilizzo di configurazioni di runtime esistenti per creare distribuzioni dinamiche (ad esempio, utilizzo di variabili di staging da API Gateway in funzioni Lambda)
Dominio di contenuto 4: Risoluzione dei problemi e ottimizzazione
Compito 1: Assistere in un'analisi delle cause
Conoscenza di:
- Sistemi di registrazione e monitoraggio
- Linguaggi per query sui log (ad esempio, Amazon CloudWatch Logs Insights)
- Visualizzazioni dei dati
- Strumenti di analisi del codice
- Codici di errore HTTP comuni
- Eccezioni comuni generate dagli SDK
- Mappe dei servizi in AWS X-Ray
Abilità in:
- Debug del codice per identificare i difetti
- Interpretazione di metriche, log e tracce delle applicazioni
- Esecuzione di query sui log per trovare i dati rilevanti
- Implementazione di metriche personalizzate (ad esempio, formato di metrica incorporata CloudWatch [EMF])
- Revisione dello stato di salute dell'applicazione utilizzando dashboard e approfondimenti
- Risoluzione di guasti di distribuzione utilizzando i log di output del servizio
Compito 2: Strumentare il codice per l'osservabilità
Conoscenza di:
- Tracciamento distribuito
- Differenze tra registrazione, monitoraggio e osservabilità
- Registrazione strutturata
- Metriche delle applicazioni (ad esempio, personalizzate, incorporate, predefinite)
Abilità in:
- Implementazione di una strategia di registrazione efficace per registrare il comportamento e lo stato dell'applicazione
- Implementazione di codice che emette metriche personalizzate
- Aggiunta di annotazioni per i servizi di tracciamento
- Implementazione di avvisi di notifica per azioni specifiche (ad esempio, notifiche sui limiti di quota o sui completamenti delle distribuzioni)
- Implementazione del tracciamento utilizzando servizi e strumenti AWS
Compito 3: Ottimizzare le applicazioni utilizzando i servizi e le funzionalità AWS
Conoscenza di:
- Caching
- Concorrenza
- Servizi di messaggistica (ad esempio, Amazon Simple Queue Service [Amazon SQS], Amazon Simple Notification Service [Amazon SNS])
Abilità in:
- Profilatura delle prestazioni delle applicazioni
- Determinazione della memoria minima e della potenza di calcolo per un'applicazione
- Utilizzo di criteri di filtro degli abbonamenti per ottimizzare la messaggistica
- Caching dei contenuti in base alle intestazioni delle richieste
Appendice
Tecnologie e concetti che potrebbero comparire nell'esame
L'elenco seguente contiene tecnologie e concetti che potrebbero comparire nell'esame. Questo elenco non è esaustivo e può essere soggetto a modifiche. L'ordine e il posizionamento degli elementi in questo elenco non sono indicativi del loro peso o importanza relativa nell'esame:
- Analitica
- Integrazione delle applicazioni
- Calcolo
- Container
- Gestione dei costi e della capacità
- Database
- Strumenti per sviluppatori
- Gestione e governance
- Rete e distribuzione dei contenuti
- Sicurezza, identità e conformità
- Archiviazione
Menzioni dei servizi AWS nell'esame
AWS Certification sta riducendo il carico di lettura su questo esame utilizzando i nomi brevi ufficiali per i nomi dei servizi AWS che contengono abbreviazioni o informazioni tra parentesi. Ad esempio, Amazon Simple Notification Service (Amazon SNS) compare nell'esame come Amazon SNS.
La funzione Aiuto nell'esame (disponibile per ogni domanda) contiene l'elenco dei nomi brevi dei servizi AWS e i loro nomi completi corrispondenti.
È possibile consultare i nomi dei servizi AWS sul sito web AWS Certification per l'elenco dei servizi che compaiono con i loro nomi brevi nell'esame. Qualsiasi servizio presente nell'elenco ma fuori ambito per l'esame non comparirà nell'esame.
Nota: Non ogni abbreviazione viene completamente espansa nell'esame o disponibile nella funzione Aiuto. Il nome ufficiale completo di alcuni servizi AWS include un'abbreviazione che non viene mai espansa (ad esempio, Amazon API Gateway, Amazon EMR). L'esame può anche contenere altre abbreviazioni che ci si aspetta che il pubblico target conosca.
Servizi e funzionalità AWS inclusi nell'ambito
L'elenco seguente contiene servizi e funzionalità AWS che rientrano nell'ambito dell'esame. Questo elenco non è esaustivo e può essere soggetto a modifiche. Le offerte AWS appaiono in categorie allineate alle loro funzioni principali:
Analitica
- Amazon Athena
- Amazon Kinesis
- Amazon OpenSearch Service
Integrazione delle applicazioni
- AWS AppSync
- Amazon EventBridge
- Amazon Simple Notification Service (Amazon SNS)
- Amazon Simple Queue Service (Amazon SQS)
- AWS Step Functions
Calcolo
- Amazon Elastic Compute Cloud (Amazon EC2)
- AWS Elastic Beanstalk
- AWS Lambda
- AWS Serverless Application Model (AWS SAM)
Container
- AWS Copilot
- Amazon Elastic Container Registry (Amazon ECR)
- Amazon Elastic Container Service (Amazon ECS)
- Amazon Elastic Kubernetes Service (Amazon EKS)
Database
- Amazon Aurora
- Amazon DynamoDB
- Amazon ElastiCache
- Amazon MemoryDB
- Amazon Relational Database Service (Amazon RDS)
Strumenti per sviluppatori
- AWS Amplify
- AWS CloudShell
- AWS CodeArtifact
- AWS CodeBuild
- AWS CodeDeploy
- Amazon CodeGuru
- AWS CodePipeline
- AWS X-Ray
Gestione e governance
- 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
Rete e distribuzione dei contenuti
- Amazon API Gateway
- Amazon CloudFront
- Elastic Load Balancing (ELB)
- Amazon Route 53
- Amazon Virtual Private Cloud (Amazon VPC)
Sicurezza, identità e conformità
- AWS Certificate Manager (ACM)
- Amazon Cognito
- AWS Identity and Access Management (IAM)
- AWS Key Management Service (AWS KMS)
- AWS Private Certificate Authority
- AWS Secrets Manager
- AWS Security Token Service (AWS STS)
- AWS WAF
Archiviazione
- Amazon Elastic Block Store (Amazon EBS)
- Amazon Elastic File System (Amazon EFS)
- Amazon Simple Storage Service (Amazon S3)
- Amazon S3 Glacier
Servizi e funzionalità AWS esclusi dall'ambito
L'elenco seguente contiene servizi e funzionalità AWS che sono fuori ambito per l'esame. Questo elenco non è esaustivo e può essere soggetto a modifiche. Le offerte AWS che sono completamente estranee ai ruoli lavorativi target per l'esame sono escluse da questo elenco:
Analitica
Applicazioni aziendali
- Amazon Chime
- Amazon Connect
- Amazon WorkMail
Calcolo endpoint utente
- Amazon AppStream 2.0
- Amazon WorkSpaces
Web e mobile frontend
Game Tech
Machine Learning
- Amazon Lex
- Amazon Polly
- Amazon Rekognition
Gestione e governance
- AWS Managed Services (AMS)
- AWS Service Catalog
Servizi multimediali
- Amazon Elastic Transcoder
Migrazione e trasferimento
- AWS Application Discovery Service
- AWS Application Migration Service
- AWS Database Migration Service (AWS DMS)
Sicurezza, identità e conformità
- AWS Shield Advanced
- AWS Shield Standard
Archiviazione
- AWS Snow Family
- AWS Storage Gateway
Sondaggio
Quanto è stato utile questa guida all'esame? Facci sapere compilando il nostro sondaggio.
Versione 1.3 DVA-C02