The breakdown
Currently, the AWS Developer Associate (DVA) is broken into 5 sections: Deployment, Security, Development, Refactoring, and Monitoring and Troubleshooting.
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!
Top comments (1)
Good post. Very nicely you summarized on services, for each domain. But please suggest if above domains are still valid in 2024, I see some changes made to exam syllabus.