AWS Certified Developer Associate Exam Study Guide
The AWS Certified Developer Associate certification is for those who are interested in handling cloud-based applications and services. Typically, applications developed in AWS are sold as products in the AWS Marketplace. This allows other customers to use the customized, cloud-compatible application for their own business needs. Because of this, AWS developers should be proficient in using the AWS CLI, APIs and SDKs for application development.
The AWS Certified Developer Associate exam (or AWS CDA for short) will test your ability to:
- Demonstrate an understanding of core AWS services, uses, and basic AWS architecture best practices.
- Demonstrate proficiency in developing, deploying, and debugging cloud-based applications using AWS.
Having prior experience in programming and scripting for both standard, containerized and/or serverless applications will greatly make your review easier. Additionally, we recommend having an AWS account available for you to play around with to better visualize parts in your review that involves code. For more details regarding your exam, you can check out this AWS exam blueprint.
If you are not well-versed in the fundamentals of AWS, we suggest that you visit our AWS Certified Cloud Practitioner review guide to get started. AWS also offers a free virtual course called AWS Cloud Practitioner Essentials that you can take in their training portal. Knowing the basic concepts and services of AWS will make your review more coherent and understandable for you.
The primary study materials you’ll be using for your review are the: FREE AWS Exam Readiness video course, official AWS sample questions, AWS whitepapers, FAQs, AWS cheat sheets, and AWS practice exams.
For whitepapers, they include the following:
- Microservices on AWS – This paper introduces the ways you can implement a microservice system on different AWS Compute platforms. You should study how these systems are built and the reasoning behind the chosen services for that system.
- Running Containerized Microservices on AWS – This paper talks about the best practices in deploying a containerized microservice system in AWS. Focus on the example scenarios where the best practices are applied, how they are applied, and using which services to do so.
- Optimizing Enterprise Economics with Serverless Architectures – Read upon the use cases of serverless in different platforms. Understand when is it best to use serverless vs maintaining your own servers. Also familiarize yourself with the AWS services that are under the serverless toolkit.
- Serverless Architectures with AWS Lambda – Learn about Serverless and Lambda as much as you can. Concepts, configurations, code and architectures are all important and are most likely to come up in the exam. Creating a Lambda function of your own will help you remember features faster.
- Practicing Continuous Integration and Continuous Delivery on AWS Accelerating Software Delivery with DevOps – If you are a developer aiming for the DevOps track, then this whitepaper is packed with practices for you to learn. CI/CD involves many stages that allows you to deploy your applications faster. Therefore, you should study the different deployment methods and understand how each of them works. Also, familiarize yourself with the implementation of CI/CD in AWS. We recommend performing a lab of this in your AWS account.
- Blue/Green Deployments on AWS – Blue/Green Deployments is a popular deployment method that you should learn as an AWS Developer. Study how blue/green deployments are implemented and using what set of AWS services. It is also crucial that you understand the scenarios where blue/green deployments are beneficial, and where they are not. Do NOT mix up your blue environment from your green environment.
- Architecting for the Cloud: AWS Best Practices – Be sure to understand the best practices in AWS since exam questions will focus their scenarios around these best practices. The whitepaper contains a number of design principles with examples for each. These will help you realize which services are most suitable for which kinds of situations.
- AWS Security Best Practices – Understand the security best practices and their purpose in your environment. Some services offer more than one form of security feature, such as multiple key management schemes for encryption. It is important that you can determine which form is most suitable to the given scenarios in your exam.
- AWS Well-Architected Framework – This whitepaper is one of the most important papers that you should study for the exam. It discusses the different pillars that make up a well-architected cloud environment. Expect the scenarios in your exam to be heavily based upon these pillars. Each pillar will have a corresponding whitepaper of its own, that discusses the respective pillar in more detail.
Also check out this article: Top 5 FREE AWS Review Materials.
AWS Services to Focus On
AWS offers extensive documentation and well-written FAQs for all of their services. These two will be your primary source of information when studying AWS. You need to be well-versed in a number of AWS products and services since you will almost always be using them in your work. I recommend checking out Tutorials Dojo’s AWS Cheat Sheets which provides a summarized but highly informative set of notes and tips for your review on these services.
Services to study for:
- Amazon EC2 / ELB / Auto Scaling – Be comfortable with integrating EC2 to ELBs and Auto Scaling. Study the commonly used AWS CLI commands, APIs and SDK code under these services. Focus as well on security, maintaining high availability, and enabling network connectivity from your ELB to your EC2 instances.
- AWS Elastic Beanstalk – Know when Elastic Beanstalk is more appropriate to use than other compute solutions or infrastructure as a code solutions like CloudFormation or OpsWorks. Experiment with the service yourself in your AWS account, and understand how you can deploy and maintain your own application in Beanstalk.
- Amazon ECS – Study how you can manage your own cluster using ECS. Also, figure out how ECS can be integrated to a CI/CD pipeline. Be sure to read the FAQs thoroughly since the exam includes multiple questions about containers.
- AWS Lambda – The best way to learn Lambda is to create a function yourself. Also remember that Lambda allows custom runtimes that a customer can provide himself. Figure out what services can be integrated with Lambda, and how Lambda functions can capture and manipulate incoming events. Lastly, study the Serverless Application Model (SAM).
- Amazon RDS / Amazon Aurora – Understand how RDS integrates with your application through EC2, ECS, Elastic Beanstalk and more. Compare RDS to DynamoDB and Elasticache and determine when RDS is best used. Also know when it is better to use Amazon Aurora than Amazon RDS, and when RDS is more useful than hosting your own database inside an EC2 instance.
- Amazon DynamoDB – You should have a complete understanding of the DynamoDB service as this is very crucial in your exam. Read the DynamoDB documentation since it is more detailed and informative than the FAQ. As a developer, you should also know how to provision your own DynamoDB table, and you should be capable of tweaking its settings to meet application requirements.
- Amazon Elasticache – Elasticache is a caching service that you’ll be encountering often in the exam. Compare and contrast Redis from Memcached. Determine when Elasticache is more suitable than DynamoDB or RDS.
- Amazon S3 – S3 is usually your go-to storage for objects. Study how you can secure your objects through KMS encryption, ACLs, and bucket policies. Know how S3 stores your objects to keep them highly durable and available. Also learn about lifecycle policies. Compare S3 to EBS and EFS to know when is S3 more preferred than the other two.
- Amazon EFS – EFS is used to set up file systems for multiple EC2 instances. Compare and contrast S3 to EFS and EBS. Also study on file encryption and optimizing EFS performance.
- Amazon Kinesis– There are usually tricky questions on Kinesis so you should read its documentation too. Focus on Kinesis Data Streams. Also have an idea of the other Kinesis services. Familiarize yourself with Kinesis APIs, Kinesis Sharding, and integration with storage services such as S3 or compute services such as Lambda.
- Amazon API Gateway – API gateway is usually used together with AWS Lambda as part of the serverless application model. Understand API Gateway’s structure such as resources, stages and methods. Learn how you can combine API Gateway with other AWS services such as Lambda or CloudFront. Determine how you can secure your APIs so that only a select number of people can execute it.
- Amazon Cognito – Cognito is used for mobile and web authentication. You usually encounter Cognito questions in the exam along with Lambda, API Gateway, and DynamoDB. This usually involves some mobile application requiring an easy sign up/sign in feature from AWS. It is highly suggested that you try using Cognito to better understand its features.
- Amazon SQS – Study the purpose of different SQS queues, timeouts and how your messages are handled inside queues. Messages in an SQS queue are not deleted when polled, so be sure to read on that as well. There are different polling mechanisms in SQS, so you should compare and contrast each one.
- Amazon CloudWatch – CloudWatch is your primary monitoring tool for all your AWS services. Be sure to know what metrics can be found under CloudWatch monitoring, and what metrics require a CloudWatch agent installed. Also study CloudWatch Logs, CloudWatch Alarms and Billing monitoring. Differentiate the kinds of logs stored in CloudWatch vs logs stored in CloudTrail.
- AWS IAM – IAM is the security center of your cloud. Therefore, you should familiarize yourself with the different IAM features. Study how IAM policies are written, and what each section in the policy means. Understand the usage of IAM user roles and service roles. You should have read upon the best practices whitepaper in securing your AWS account through IAM.
- AWS KMS – KMS contains keys that you use to encrypt EBS, S3, and other services. Know what these services are. Learn the different types of KMS keys and on which situations is each type of key used.
- AWS CodeBuild / AWS CodeCommit / AWS CodeDeploy / AWS CodePipeline – These are your tools in implementing CI/CD in AWS. Study how you can build applications in CodeBuild (buildspec), and how you’ll prepare configuration files (appspec) for CodeDeploy. CodeCommit is a git repository so having knowledge in Git will be beneficial. I suggest to build a simple pipeline of your own in CodePipeline to see how you should manage your code deployments. It is also important to learn how you can rollback to your previous application version after a failed deployment. The whitepapers above should have explained in-place deployments and blue/green deployments, and how to perform automation.
- AWS CloudFormation – Study the structure of CloudFormation scripts and how you can use them to build your infrastructure. Be comfortable with both json and yaml formats. Read a bit about stacksets. List down the services that use CloudFormation in the backend for provisioning AWS resources, such as AWS SAM, and processes such as in CI/CD.
Aside from the concepts and services, you should study about the AWS CLI, the different commonly used APIs (for services such as EC2, EBS or Lambda), and the AWS SDKs. Read up on the AWS Serverless Application Model (AWS SAM) and AWS Server Migration Services as well as these may come up in the exam. It will also be very helpful to have experience interacting with AWS APIs and SDKs, and troubleshooting any errors that you encounter while using them.
Common Exam Scenarios
An application running in a local server is converted to a Lambda function. When the function was tested, an
Install the missing modules in your application’s folder and package it into ZIP file before uploading to AWS Lambda.
A Developer is writing a Lambda function that will be used to send a request to an API in different environments (Prod, Dev, Test). The function needs to automatically invoke the correct API call based on the environment.
Use Environment Variables
A Lambda function needs a temporary storage to store files while executing.
Store the files in the
A Lambda function is writing data into an RDS database. The function needs to reuse database connection to reduce execution time.
Use execution context by placing the database connection logic outside of the event handler.
A Developer needs to increase the CPU available to a Lambda function to process data more efficiently.
Increase the allocated memory of the function.
Amazon API Gateway
A Developer has an application that uses a RESTful API hosted in API Gateway. The API requests are failing with a
Enable CORS in the API Gateway Console.
A website integrated with API Gateway requires user requests to reach the backend server without intervention from the API Gateway. Which integration type should be used?
A serverless application is composed of AWS Lambda, DynamoDB, and API Gateway. Users are complaining about getting HTTP 504 errors.
The API requests are reaching the maximum integration timeout for API Gateway (29 seconds).
How to invalidate API Gateway cache?
A developer needs to deploy different API versions in API Gateway
Use stage variables
A Developer needs a cost-effective solution to delete session data in a DynamoDB table.
Expire session data with DynamoDB TTL
New changes to a DynamoDB table should be recorded in another DynamoDB table.
Use DynamoDB Streams
Reduce the DynamoDB database response time.
Use DynamoDB Accelerator (DAX)
Choosing the best partition key for the DynamDB table.
Use the partition key with the highest cardinality (e.g. student ID, employee ID)
An application is using a DynamoDB database with Global Secondary Index. DynamoDB requests are returning a
The write capacity of the GSI is less than the base table.
CloudFormation and AWS SAM
What section must be added to a CloudFormation template to include resources defined by AWS SAM?
A developer needs a reliable framework for building serverless applications in AWS
A CloudFormation stack creation process failed unexpectedly
CloudFormation will rollback by deleting resources that it has already created.
A CloudFormation template will be used across multiple AWS accounts
Use CloudFormation StackSets
Deployment and Security
It is required that incoming traffic is shifted in two increments. 10% of the traffic must be shifted in the first increment, and the remaining 90% should be deployed after some minutes.
You need to authenticate users of a website using social media identity profiles.
Amazon Cognito Identity Pools
A company has two accounts. The developers from Account A needs to access resources on Account B.
Use cross-account access role
Multiple developers need to make incremental code updates to a single project and then deploy the new changes.
Use AWS CodeCommit as the code repository and directly deploy the new package using AWS CodeDeploy.
A Developer is planning a task placement strategy for an ECS cluster based on the least available amount of CPU.
Relevant API/CLI commands
A Developer needs to decode an encoded authorization failure message.
How can a Developer verify permission to call a CLI command without actually making a request?
A Developer needs to deploy a CloudFormation template from a local computer.
A Developer has to ensure that no applications can fetch a message from an SQS queue that’s being processed or has already been processed.
A Developer has created an IAM Role for an application that uploads files to an S3 bucket. Which API call should the Developer use to allow the application to make upload requests?
Validate Your Knowledge
The AWS CDA exam will be packed with tricky questions. It would be great if you could get a feel of how the questions are structured through practice tests. Luckily, Tutorials Dojo offers a great set of practice questions for you to try out here. These practice tests will help validate your knowledge of what you’ve learned so far and fill in any missing details that you might have skipped in your review. You can also pair our practice exams with our AWS Certified Developer Associate Exam Study Guide eBook to further help in your exam preparations.
Sample Practice Test Questions:
A web application hosted in Elastic Beanstalk has a configuration file named
.ebextensions/debugging.config which has the following content:
For its database tier, it uses RDS with Multi-AZ deployments configuration and Read Replicas. There is a new requirement to record calls that your application makes to RDS and other internal or external HTTP web APIs. The tracing information should also include the actual SQL database queries sent by the application, which can be searched using the filter expressions in the X-Ray Console.
Which of the following should you do to satisfy the above task?
- Add metadata in the segment document.
- Add annotations in the segment document.
- Add metadata in the subsegment section of the segment document.
- Add annotations in the subsegment section of the segment document.
A developer wants to expose a legacy web service that uses an XML-based Simple Object Access Protocol (SOAP) interface through API Gateway. However, there is a compatibility issue since most modern applications communicate data in JSON format.
Which is the most cost-effective method that will overcome this issue?
- Use API Gateway to create a WebSocket API. Transform the incoming JSON into XML using
mapping templates. Forward the request into the SOAP interface by using a Lambda function and parse the response (XML) into JSON before sending back to API Gateway.
- Use API Gateway to create a RESTful API. Transform the incoming JSON into XML for the SOAP interface through an Application Load Balancer and vice versa. Put the legacy web service behind the ALB.
- Use API Gateway to create a RESTful API. Send the incoming JSON to an HTTP server hosted on an EC2 instance and have it transform the data into XML and vice versa before sending it to the legacy application.
- Use API Gateway to create a RESTful API. Transform the incoming JSON into XML using
mapping templates. Forward the request into the SOAP interface by using a Lambda function and parse the response (XML) into JSON before sending back to API Gateway.
Click here for more AWS Certified Developer Associate practice exam questions.
Check out our other AWS practice test courses here:
The AWS CDA certification is one of the most sought after certifications in the DevOps industry. It validates your knowledge of the AWS Cloud and foundational DevOps practices. It is an achievement of its own if you become AWS certified. Hence, it will be best if you could get proper sleep the day before your exam. Review any notes that you have written down, and go over the incorrect items in your practice tests if you took it. You should also check again the venue, the time, and the things needed for your exam. As so, we wish you the best of luck and the best of outcomes!