What you should focus on for the AWS Developer Exam
Tags: aws, certification, cloud, developer
Published: 2020-07-21 01:30:55

---
title: What you should focus on for the AWS Developer Exam
published: true
description: 
tags: aws, certification, cloud, developer 
//cover_image: 
---
##**The breakdown**
Currently, the AWS Developer Associate (DVA) is broken into 5 sections: _Deployment_, _Security_, _Development_, _Refactoring_, and _Monitoring and Troubleshooting_.
 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vpypaoxstmvsbn9w91oh.PNG)


Now that we see how that the exam is split up, I will relay the related services that will likely fall under each category. 

##**Deployment**
For the deployment section, focus on **CodePipeline**, **CloudFormation**, and **Elastic Beanstalk**. 

CodePipeline could be understood fairly quickly if you have some experience with CI/CD. What falls under CodePipeline is CodeCommit, CodeBuild, and CodeDeploy. _CodeCommit_ is like GitHub but it only uses private repos, _CodeBuild_ helps with packaging code, and _CodeDeploy_ gets it ready for deployment. 

CloudFormation helps you build out the infrasture via JSON or YAML so essentially Infrastructure as Code much like Terraform. Elastic Beanstalk lets you focus on the code without worrying about the infrastructure. This is because Elastic Beanstalk utilizes CloudFormation to build its infrastructure. Also AWS Serverless Application Model (AWS SAM) might be mentioned as well since AWS SAM is an extension of CloudFormation.

##**Security**
For the security section, focus on **Amazon Cognito**, **AWS KMS**, **AWS IAM**, and perhaps **Amazon S3**. 

Amazon Cognito has two main uses which are authenication and authorization. Cognito user pools (authenication) can be used for sign-in purposes and establishing a directory of users and Cognito identity users (authorization) can help to issue temporary credentials or help qualify unidentified users. 

AWS KMS revolves around encryption. You have to recognize the difference between AWS Managed Customer Managed Keys (CMKs) and Customer Managed CMKs and how envelope encryption works in AWS. 

For AWS IAM, it would be good to learn some AWS best practices, the concept of IAM users, groups, and roles, and which policies should be use in different situations such as AWS Managed Policies, Customer Managed Policies, Identity-based policies, etc.

The biggest takeaway from Amazon S3 for the DVA would be anything related to encrypting objects in S3. 

##**Development with AWS Services**
In my opinion, the biggest topics for the development section would be **AWS Lambda**, **API Gateway**, and **DynamoDB** for the services that would most likely be covered. 

Each one is too extensive to cover in just one article so I will attempt to highlight some key features for each. For Lambda, comprehend the difference between synchronous and asychronous invocations, which AWS services can map to Lambda natively, how Lambda versioning works, what is a concurrency execution, and where to view logs. 

For API Gateway, understand what kind of the backend points can API Gateway integrate with, how methods and resources work, how to use mapping templates, and how API caching works.

For DynamoDB, grasp the concept of partitions and primary keys, how to calculate Read Capacity Units and Write Capacity Units and what they are, the difference between the Scan and Query API, the differences between Local Secondary Index and Global Secondary Index, and how DynamoDB Streams work. 

Some other services that would be good to know are RDS, S3, ElastiCache, Kinesis, and DynamoDB Accelerator (DAX). 

##**Refactoring**
The notion of refactoring centralizes on how to improve performance, the idea of improving code or applications, or  transitioning from a traditional on-premises architecture to a cloud architecture. So most likely what would be covered are decoupling strategies and breaking down a large application into smaller parts or containers.

AWS decoupling strategies would most likely revolve around **Amazon Standard Queue Service (SQS)** and **Simple Notification Service (SNS)**. SQS helps to create a sort of buffer between the application producing the event and the application consuming the event. SNS has a concept of pub and sub relationship where services can _subscribe_ to an SNS topic in order to receive the message. 

AWS has a feature called **Amazon Elastic Container Service (ECS)** where you can split an EC2 instance into multiple containers. ECS has two different methods which are the EC2 or Fargate Launch Types.

##**Monitoring and Troubleshooting**

For monitoring and troubleshooting, focus on **CloudWatch**, **X-Ray**, and **CloudTrail**. 

Some key concepts in CloudWatch would be CloudWatch Alarms, Events, and Logs. Also understanding namespaces, metrics, and dimensions doesn't hurt too. 

X-Ray provides insights into how an application is running by doing an internal trace. This helps with analyzing and debugging the application.

CloudTrail is used for auditing purposes since it keeps a records of all API calls made on your account. 

##**Wrap-Up**
This is just a brief intro to what may be covered on the DVA exam however most of the services mentioned are crucial before you  attempt to take on the DVA. Also even if you plan to take the AWS SAA, DVA, or SysOps having a core understanding of IAM, EC2, EBS, ELB, S3, and VPC is impervative to figuring out AWS. Hope this is gives you some insights into the AWS DVA and good luck earning that next badge!

![Alt text of image](https://dev-to-uploads.s3.amazonaws.com/i/kdxplfz91701li2kdtya.jpg)