I would like to welcome you and extend my gratitude for choosing this publication as your guide on the journey to becoming an AWS Certified Developer. The main purpose of the book is to guide you through the process of learning about Amazon Web Services from the point of view of a developer. The book covers the topics that are listed as required knowledge when preparing for the AWS Certified Developer–Associate exam.
This book also provides examples and code snippets to help you learn how to perform the tasks being described in the book and also gives you the knowledge and tools required to develop applications on the AWS cloud computing environment.
Taking any exam should not be taken lightly. Many experts who rate the IT industry exams have put the AWS exams on the top of the scale as far as difficulty is concerned. Some have gone so far as to claim that AWS sets the bar for everyone in the industry much higher. But don’t worry, by reading through this book and following the examples, you should gain valuable knowledge that you can put to use when you decide to take the AWS Certified Developer–Associate exam.
But a book can only go so far, and throughout the book I stress that having hands-on experience with AWS services, tools, and platforms is crucial to being prepared to pass the exam. Think of the learning process as having two parts:
Gaining theoretical knowledge and practicing (which is what this book is designed to do)
Getting real-world hands-on experience (which will be helpful as you use AWS on a daily basis)
It is important to understand the knowledge requirements for passing the AWS Certified Developer–Associate exam. This will help you lay down a solid foundation of understanding of the concepts that the exam is designed to test and allow you to carve a focused path through the complicated world of AWS. I recommend creating a skills map that you can update as you learn. This part of the book will help you create an initial skills map and help you focus on the parts that matter.
Each AWS certification exam conforms to an exam blueprint. You can use the blueprint as a reference tool to get an overview of which areas of knowledge the exam is designed to test. The AWS Certified Developer–Associate exam blueprint also states that taking and passing the exam will prove:
Your understanding of core AWS services
Your understanding of AWS architecture best practices
Your proficiency in developing, deploying, and debugging cloud-based applications using AWS
In the blueprint, AWS also outlines the experience that a candidate attempting the AWS Certified Developer–Associate exam should have. The ability to understand and be able to use AWS services should be complemented by a strong background in development. AWS outlines that each candidate attempting the exam should have experience in the following areas:
One or more years of hands-on experience developing and maintaining an AWS-based application
In-depth knowledge of at least one high-level programming language
Understanding of core AWS services, uses, and basic AWS architecture best practices
Proficiency in developing, deploying, and debugging cloud-based applications using AWS
Ability to use the AWS service APIs, AWS CLI, and SDKs to write applications
Ability to identify key features of AWS services
Understanding of the AWS shared responsibility model
Understanding of application life cycle management
Ability to use a CI/CD pipeline to deploy applications on AWS
Ability to use or interact with AWS services
Ability to apply a basic understanding of cloud-native applications to write code
Ability to write code using AWS security best practices (such as not using secret and access keys in code but instead using IAM roles)
Ability to author, maintain, and debug code modules on AWS
Proficiency writing code for serverless applications
Understanding of the use of containers in the development process
As you see, the list of recommended AWS knowledge is quite extensive and mainly covers real-world experience, which is invaluable in being able to develop on AWS. Of course, this list of requirements is intended for your own assessment. AWS does not require you to prove your experience and does allow you to take the exam even if you do not possess all the knowledge recommendations. The basic rule is that the more recommendations you meet, the more likely you are to pass the exam. This book is designed to provide the theoretical part of the recommendations and to allow you to read and study the concepts at your own pace. But I highly encourage you to gain the required hands-on experience with all of the above before you attempt the exam.
The AWS Certified Developer–Associate exam is designed to test the areas of knowledge that are aggregated into five domains of knowledge. The following table lists the breakdown of each of the domains represented on the exam.
Domain |
Percentage of Representation on Exam |
1: Deployment |
22% |
2: Security |
26% |
3: Development with AWS Services |
30% |
4: Refactoring |
10% |
5: Monitoring and Troubleshooting |
12% |
Total 100% |
The sections that follow describe each domain in greater detail.
The Deployment domain, as the name indicates, focuses on testing the understanding and knowledge of how to deploy applications on AWS. As a developer, you should have a good understanding of how to deploy applications on AWS using the CLI, the SDK, CI/CD pipelines, and AWS deployment processes and patterns.
The exam will test your ability to implement deployment and provisioning best practices and gauge whether you are able to determine the right solution to use for deploying an application. The exam also focuses on testing your understanding of tools and approaches that allow developers to integrate the deployment of applications into their code.
The Deployment domain involves understanding serverless application design because an increasing number of applications are being deployed in this manner due to the benefits of running serverless.
The exam will test you on the following AWS topics:
The CLI and the SDKs: The exam will evaluate your understanding of what can be achieved with the CLI and SDKs and how these tools are applicable when deploying infrastructure services in AWS.
CloudFormation: The exam will test your understanding of when CloudFormation is applicable, what its general purpose is, and also the ability to read the CloudFormation syntax in JSON or YAML.
Elastic Beanstalk: The exam will test your ability to understand the benefits and advantages of Elastic Beanstalk as well as the limitations of the solution. You should understand the capabilities of Elastic Beanstalk and the most common use cases and should have a good understanding of the Elastic Beanstalk update process and the processes of customizing a deployment.
CodeDeploy and CodePipeline: The exam will ask questions focused on determining the understanding of the deployment part of a typical CI/CD pipeline as per the best practices outlined by AWS.
AWS Lambda: The exam will evaluate whether you understand the AWS Lambda deployment procedure and how it can integrate with other AWS services to provide a supporting role during a deployment.
Static websites on S3: In some cases, the exam will evaluate whether you understand when a static website on S3 is the right type of deployment option for the outlined case.
Possibly the most important aspect of any application is security. The Security domain is designed to make sure you understand how to design, develop, and deploy applications on AWS with security in mind. Among the most important aspects tested on the exam is the understanding of authentication and authorization, with a focus on calls to the AWS infrastructure as well as the security of the application running on top of AWS.
The exam will test you on the following AWS topics:
Types of credentials: You must understand the different types of credentials that can be used to access AWS and the services running on AWS, including the username and password, access key and secret key, key pairs, and multifactor authentication (MFA).
The CLI and the SDKs: The exam will evaluate your understanding of authentication practices that should be observed when using the AWS CLI and the AWS SDKs.
IAM: The exam will test your understanding of the practices associated with managing users, groups, and roles; assigning policies; and granting access via the least privilege approach.
IAM federation: The exam will give special focus to evaluating your understanding of how to federate authentication and authorization with external directories and identity providers.
Security groups and NACLs: The exam will focus on understanding how to secure an application over the network; thus basic understanding of the way security groups and NACLs operate in VPC is required.
As this exam tests your development skills, a big portion of it (about a third) is dedicated to the development aspects. The exam will test your knowledge of how to implement application designs into code for applications running on servers and serverless platforms, and it will also test your knowledge of how to interact with the AWS infrastructure through the AWS CLI, the SDKs, and the APIs.
The exam will test you on the following AWS topics:
AWS CLI and the SDKs: The exam will test your ability to use the SDKs and the CLI to interact with the AWS services and deliver application components straight out of the code. Some focus is given to the ability to understand the command structure and identify the correct command. The exam will also include questions that test your general understanding of the capabilities of the CLI and SDKs.
DevOps and Code* tools: The exam will focus on your ability to understand the DevOps approach to development and identify the functionality of the CodeCommit, CodeDeploy, CodeBuild, and CodePipeline tools.
Many enterprises are in the midst of a cloud adoption process, and therefore, the exam will test your ability to understand which AWS services and features will best suit your application and how to migrate existing applications and application code to AWS. The exam will test you on the following AWS topics:
AWS migration tools: The exam will test your basic understanding of what AWS migration tools can be used to transfer (VPN, DirectConnect), transport (Snowball/Snowmobile), or transform (AWS DMS) the data from on-premises systems to AWS.
Managed AWS services: The exam will test your understanding of which managed services can be used to refactor an application that is being implemented on or migrated to AWS.
The Monitoring and Troubleshooting domain is designed to test your ability to write code that can be integrated with the AWS monitoring and logging tools. In addition, the exam will test your ability to analyze the environment by looking at the performance information and logs captured by these tools.
The exam will test you on the following AWS topics:
CloudWatch: The exam will evaluate your ability to capture performance data and logs to CloudWatch. Further, it will test your ability to use and analyze the captured data to perform troubleshooting, scaling, and optimization on the application being monitored. You should also have a clear understanding of the features and limitations of CloudWatch, CloudWatch Logs, and CloudWatch Alarms.
CloudTrail: The exam will test your ability to trace the actions in the environment and provide an audit-compliant log of events and actions in the AWS account.
General troubleshooting: The exam will include questions on general troubleshooting of applications, such as steps to be taken when an application is experiencing unusual behavior. Although some might say that this is beyond the scope of AWS, being able to understand application behavior and general troubleshooting steps is required.
The following table presents the domain objectives listed in the exam blueprint and where they are covered in this book:
Domain/Objective |
Chapter(s) Where This Is Covered |
Domain 1: Deployment |
|
1.1 Deploy written code in AWS using existing CI/CD pipelines, processes, and patterns. |
Chapters 3 and 6 |
1.2 Deploy applications using Elastic Beanstalk. |
|
1.3 Prepare the application deployment package to be deployed to AWS. |
Chapters 3 and 5 |
1.4 Deploy serverless applications. |
Chapters 3 and 5 |
Domain 2: Security |
|
2.1 Make authenticated calls to AWS services. |
Chapters 1 and 2 |
2.2 Implement encryption using AWS services. |
|
2.3 Implement application authentication and authorization. |
|
Domain 3: Development with AWS Services |
|
3.1 Write code for serverless applications. |
Chapters 3, 4, and 5 |
3.2 Translate functional requirements into application design. |
Chapters 1, 3, 4, and 5 |
3.3 Implement application design into application code. |
Chapters 3, 4, and 5 |
3.4 Write code that interacts with AWS services by using APIs, SDKs, and AWS CLI. |
Chapters 1, 3, 4, and 5 |
Domain 4: Refactoring |
|
4.1 Optimize application to best use AWS services and features. |
Chapters 1, 4, 5, and 7 |
4.2 Migrate existing application code to run on AWS. |
Chapters 5 and 7 |
Domain 5: Monitoring and Troubleshooting |
|
5.1 Write code that can be monitored. |
|
5.2 Perform root cause analysis on faults found in testing or production. |
To become an AWS Certified Developer–Associate, a test candidate must follow specific procedures. Test candidates must qualify for the exam and sign up for the exam.
The steps required to sign up for the AWS Certified Developer–Associate exam are as follows:
Step 1.Create an AWS certification account at https://www.aws.training/Certification and schedule your exam.
Step 2.Complete the Examination Agreement, attesting to the truth of your assertions regarding professional experience and legally committing to adhering to the testing policies.
Step 3.Submit the examination fee.
The exam, which needs to be taken at an authorized exam proctor location, consists of 70 to 80 multiple-choice and multiple-answer questions and is available in English, Japanese, and Simplified Chinese. The allotted time for the exam is 130 minutes. The registration fee for the exam is US$150. If you would like to try your knowledge before you take the actual exam, you can take an online practice exam consisting of 20 questions at any time. The registration fee for the practice exam is US $20.
Taking the practice exam is a good idea if you would like to get a feel for the exam with sample questions that come out of the same pool of questions as the actual exam. The practice exam can be a great tool to help you gauge your knowledge and determine whether you are ready to pass the exam. However, passing the practice exam does not guarantee that you will pass the real exam.
The questions that will be testing your knowledge on the exam carry different weights. Each question has a certain score assigned to it, and the scores of all the questions together will add up 1000. AWS will be scoring you according to a percentage out of 1000 points rather than based on the number of questions you get correct. All the exam questions are always scored in full. This means an incorrect or missing answer for a multiple-response question will cause the score to be determined as 0. Make sure to take your time and carefully read each question as some of the questions might be lengthy and will be hiding crucial information that would easily help you determine the right answer.
The passing score of each exam is never fully determined, and the score to shoot for is not released publicly; however, the typical passing score for this exam is 720 points. AWS uses statistical analysis of multiple metrics to determine the passing score. This means that you should be as prepared as possible to pass the exam. But that can be difficult to do, so I recommend setting a certain “confidence level” for yourself. This confidence level can be determined by looking at the requirements and the content of this book and taking practice exams like the ones provided in the Pearson Test Prep software for this book. I like to set the confidence level of the content at 90%, meaning you should be able to answer most of the questions you encounter on a certain topic.
Use the exams in the Pearson Test Prep software to gauge your confidence level. With a 90% content confidence level, you should be able to answer at least 80% of the questions correctly. I urge you not to attempt the exam before you reach this confidence level.
Keep in mind that AWS sources a lot of the exam question content from the FAQs for each service, so another way to prepare for the exam is to read the FAQs and try to answer them yourself. If you can get to this level, then you should be able to pass the exam. The idea behind this is that an AWS certified developer should be able to do any task outlined in the FAQs by heart. A certified developer would certainly still need to consult the documentation and contact AWS support if needed.
Once you have determined that your confidence level is high enough to take the exam, make sure to follow a few simple rules that will help you relax and pass the exam with ease. Make sure you have enough time to get to the exam location. I usually plan to be at the proctor about 30 minutes early, which helps me deal with any kind of delays on the way. Try to clear your calendar before you take the exam; you’ve been studying for the exam for quite a while so don’t try to cram your exam into an already packed day. Any additional stress might prohibit you from relaxing when taking the exam, and being relaxed during the exam is very important.
You will be required to carry two forms of ID because the proctor will need to verify your identity and sign you in to the exam. You will be given a secure locker to store your essentials; you are not allowed to bring anything into the exam room. The lockers at some locations are quite small and will not fit a laptop bag. I therefore recommend that you make sure you really do take only your essentials to the exam. You will then be taken to the exam station, where you will verify your information and have to agree to the terms and conditions onscreen before you start the exam. This is a good time to take a deep breath and relax, release the stress of traffic on the way, and be ready to start the exam.
Once you start the exam, the timer will start ticking down from the allotted time. Make sure to read each question and all the answers carefully. If you are unsure of an answer, try not to spend too much time thinking about it but move on and try to answer other questions. You can mark each question you are unsure of for review, and I highly recommend doing that and continuing on. You will probably be able to answer all the easier questions and get to the end of the exam before your time expires. Use the time left over to focus on the questions that you marked for review. This way, you are certain to get the highest number of questions answered. Remember that any unanswered questions will not be scored, meaning you can lose a lot of points due to that fact.
Once you are happy with your answers, you can submit your exam. A quick survey is then presented, asking a handful of questions. After answering the survey, you are presented with the result of the exam—either pass or a fail with a percentages score. It might take some time for the exam to be recorded; after AWS receives your results, you will receive an email with a breakdown of scores across the domains. If you fail the exam, this breakdown will help you better prepare for the next time.
Keep calm and good luck!
To help you customize your study time using this book, the core chapters have several features that help you make the best use of your time:
Foundation Topics: These are the core sections of each chapter. They explain the concepts for the topics in that chapter.
Exam Preparation Tasks: This section provides a series of study activities that you should do at the end of each chapter:
Review All Key Topics: The Key Topic icon appears next to the most important items in the “Foundation Topics” section of the chapter. The “Review All Key Topics” activity lists the key topics from the chapter, along with their page numbers. Although the contents of the entire chapter could be on the exam, you should definitely know the information listed in each key topic, so you should review these.
Define Key Terms: Although the AWS Certified Developer–Associate exam may be unlikely to ask a question such as “Define this term,” the exam does require that you learn and know a lot of AWS-related terminology. This section lists the most important terms from the chapter and asks you to write a short definition and compare your answer to the glossary at the end of the book.
Q&A: Confirm that you understand the content just covered by answering these questions and reading the answer explanations.
Web-based practice exam: The companion website includes the Pearson Test Prep application, which allows you to take practice exam questions. Use it to prepare with a sample exam and to pinpoint topics where you need more study.
This book contains eight core chapters—Chapters 1 through 8. Chapter 9 provides preparation tips and suggestions for how to approach the exam. Each core chapter covers a subset of the topics and technologies that you will encounter on the AWS Certified Developer–Associate (DVA-C01) exam.
All the electronic review elements, as well as other electronic components of the book, exist on this book’s companion website.
To access the companion website, which gives you access to the electronic content with this book, start by establishing a login at www.pearsonITcertification.com and register your book:
Step 1.Go to www.pearsonITcertification.com/register and enter the ISBN of the print book: 9780135853290.
Step 2.After you have registered your book, go to your account page and click the Registered Products tab.
Step 3.Click the Access Bonus Content link to get access to the book’s companion website.
Note that if you buy the Premium Edition eBook and Practice Test version of this book from Pearson, your book will automatically be registered on your account page. Simply go to your account page, click the Registered Products tab, and select Access Bonus Content to access the book’s companion website.
Please note that many of our companion content files are very large, especially image and video files.
If you are unable to locate the files for this title by following these steps, please visit www.pearsonITcertification.com/contact and select the nature of your query from the drop-down box. Our customer service representatives will assist you.
You have two options for installing and using the Pearson Test Prep application: a web app and a desktop app. To use the Pearson Test Prep application, start by finding the registration code that comes with the book. You can find the code in these ways:
Print book: Look in the cardboard sleeve in the back of the book for a piece of paper with your book’s unique PTP code.
Premium Edition: If you purchase the Premium Edition eBook and Practice Test directly from the Pearson IT Certification website, the code will be populated on your account page after purchase. Just log in at www.pearsonITcertification.com, click account to see details of your account, and click the digital purchases tab.
Amazon Kindle: For those who purchase a Kindle edition from Amazon, the access code will be supplied directly from Amazon.
Other bookseller e-books: Note that if you purchase an e-book version from any other source, the practice test is not included because other vendors to date have not chosen to vend the required unique access code.
Once you have the access code, to find instructions about both the PTP web app and the desktop app, follow these steps:
Step 1.Open this book’s companion website, as shown earlier in this Introduction, under the heading “The Companion Website for Online Content Review.”
Step 2.Click the Practice Exams button.
Step 3.Follow the instructions listed there both for installing the desktop app and for using the web app.
Note that if you want to use the web app only at this point, just navigate to www.pearsontestprep.com, establish a free login if you do not already have one, and register this book’s practice tests using the registration code you just found. The process should take only a couple of minutes.
In the exam settings screen of the Pearson Test Prep Software, you can choose to take exams in one of three modes:
Study mode: Allows you to fully customize your exams and review answers as you are taking the exam. This is typically the mode you use first to assess your knowledge and identify information gaps.
Practice Exam mode: Locks certain customization options to present a realistic exam experience. Use this mode when you are preparing to test your exam readiness.
Flash Card mode: Strips out the answers and presents you with only the question stem. This mode is great for late-stage preparation when you really want to challenge yourself to provide answers without the benefit of seeing multiple-choice options. This mode does not provide the detailed score reports that the other two modes provide, so it is not the best mode for helping you identify knowledge gaps.
In addition to these three modes, you will be able to select the source of your questions. You can choose to take exams that cover all of the chapters, or you can narrow your selection to just a single chapter or the chapters that make up specific parts in the book. All chapters are selected by default. If you want to narrow your focus to individual chapters, simply deselect all the chapters and then select only those on which you wish to focus in the Objectives area.
You can also select the exam banks on which to focus. Each exam bank comes complete with a full exam of questions that cover topics in every chapter. The two exams included online with the purchase of this book are available to you, as are two additional exams of unique questions available with the Premium Edition. You can have the test engine serve up exams from all four banks or just from one individual bank by selecting the desired banks in the exam bank area.
You can make several other customizations to your exam from the exam settings screen, such as the time allotted to take the exam, the number of questions served up, whether to randomize questions and answers, whether to show the number of correct answers for multiple-answer questions, and whether to serve up only specific types of questions. You can also create custom test banks by selecting only questions that you have marked or questions on which you have added notes.
If you are using the online version of the Pearson Test Prep software, you should always have access to the latest version of the software as well as the exam data. If you are using the Windows desktop version, every time you launch the software while connected to the Internet, it checks whether there are any updates to your exam data and automatically downloads any changes made since the last time you used the software.
Sometimes, due to a number of factors, the exam data may not fully download when you activate your exam. If you find that figures or exhibits are missing, you may need to manually update your exams. To update a particular exam you have already activated and downloaded, simply select the Tools tab and click the Update Products button. Again, this is only an issue with the desktop Windows application.
If you want to check for updates to the Windows desktop version of the Pearson Test Prep exam engine software, simply select the Tools tab and click the Update Application button. Doing so allows you to ensure that you are running the latest version of the software engine.