
You’re here! You made it to this point in your AWS career that you’re seriously considering taking the Solutions Architect Professional exam.
Likely, you’ve already heard a lot about this test. It has its own legend in the AWS community because it’s appropriately hard for what’s expected of a person who sits it: someone with roughly 2-5 years of AWS experience, typically working towards a Solutions Architect role or something similar.
However, I’m here to tell you that if you’re doing that kind of work every day–I think this test won’t be as hard as you think. If you aren’t, well…I can’t really say. Maybe it will be that hard for you!
Who It’s For and Why It’s Hard
From the horse’s mouth:
“The AWS Certified Solutions Architect – Professional (SAP-C02) exam is intended for individuals who perform a solutions architect role. The exam validates a candidate’s advanced technical skills and experience in designing optimized AWS solutions that are based on the AWS Well-Architected Framework.”
https://d1.awsstatic.com/training-and-certification/docs-sa-pro/AWS-Certified-Solutions-Architect-Professional_Exam-Guide.pdf
This test isn’t about knowing tons of features, in-depth configuration, or even a 300-400 level on any individual service. It’s a test for architects, which means you’ll have to wade through a series of questions that assess your ability to make design decisions based on business requirements.
The old analogy of a foot deep and a mile wide plays well here. I’d say that it’s twice as deep as the Associate exam but also twice as wide. Take a peek at the appendix of the document I cited above and you’ll see what I mean. You’re about to see services you’ve likely never touched in your life!
That breadth of the AWS portfolio in my opinion is what makes it hard. I had the immense privilege of taking the Advanced Networking Specialty exam 6 months prior to this one, which was hard because it was so deep. 300-400 level questions for 70 questions. This one is 200-250ish level questions for 75 questions, so slightly longer but less depth, in exchange for a 10x increase in portfolio size.
Personally, I found this test to be about 25% easier than taking the ANS-C01. I didn’t fail this one, whereas I failed the other one. I found breadth to be easier to tolerate than raw depth. Depending on how you think, you might believe otherwise! Regardless, it’s a hard test. That much is certain.
Exam Resources
Okay, onto the good stuff!
This test consists of 4 domains, which are:
- Domain 1: Design Solutions for Organizational Complexity – 26%
- Domain 2: Design for New Solutions – 29%
- Domain 3: Continuous Improvement for Existing Solutions – 25%
- Domain 4: Accelerate Workload Migration and Modernization – 20%
Notice that it’s a fairly balanced test. There’s no “gaming” this one in terms of studying hard for a few domains and slacking on one. While Domain 2 is the heaviest, it’s not by much.
If you do this work daily, I think you’ll find that some of these resonate more than others. I found Domain 1 + 4 to be easier to grasp, whereas I spend less time with 2 and 3. Many customers I work with are in the process of migrating and building new solutions, so naturally the conversations I have around those lend to this test. You might be in a different boat. If you work with very mature cloud organizations, Domain 2 and 3 might be more your style.
This is something I appreciate about this test–it maps well to real-world work. It is a practical exam.
Unlike some of the Specialty AWS exams that have fewer resources available, there are an immense amount of resources for this exam. It’s borderline overwhelming the number of courses and books that exist for it, so I’m going to offer you what I used and nothing else.
Adrian Cantrill. I’ve used his materials since I began my trek in 2020 and he has never let me down. This test is no different. Adrian Cantrill videos are the standard. In-depth, beautifully illustrated, and well-designed. You will get the maximum value per hour of study if you use his materials. I didn’t use any other courses to study, just this one. There are a handful of services that he doesn’t cover, but they are so few that I was able to simply look them up instead. Please refer to the AWS study guide to fill those gaps, I promise they are few.
Tutorials Dojo exams (aka Jon Bonso exams). Similarly, I’ve used these as well since 2020, and once again I’m here to say that they are the most accurate reproduction of the style and content of real-world AWS questions. Please, don’t buy dumps of the actual exam. If you can get through one of these and get a passing score, I promise you’ll do well on this exam. Serious kudos to the Tutorials Dojo team for providing this level of quality!
The AWS Skillbuilder Exam Review course. This is available on the Tutorials Dojo site or on Skillbuilder itself, but I’ve linked it here to the TD site. I thought this was a great recap of everything you need to know to sit the exam, and offers you some probing questions to practice how you answer questions. This is an important skill for the SAP-C02.
User guides. I can’t tag them all here, but I spent a considerable amount of time in user guides for many of the services on this exam. As I said earlier, if this is your day-to-day job, you’ve likely already been in dozens of user guides. This test is simply assessing the knowledge that you’ve accrued over the years.
What You Should Know Well Going into this Exam
This is such a broad test that it’s hard to encapsulate every possible thing that you’d need to know, so I’m going to take a different approach. Let’s talk through architect tasks and map them to test items.
- Migrations
- Assess ways of migrating data and applications to AWS. Opt for native AWS tools like Application Discovery service, Server Migration Service, AWS DataSync, and the Database Migration Service.
- Learn your 6 (or is it 7?) R’s. You’ll frequently see decisions between lift-and-shift/rehost and replatform. Rearchitecting/refactoring is also a hot topic that favors event-driven architectures and serverless options.
- Establish Hybrid Connectivity. It’s rare to see organizations that are 100% in the Cloud, and this test acknowledges that. Know your options when it comes to VPNs, Direct Connect, etc. for extending on-prem to Cloud. I put this under migrations because it’s often a concern of new Cloud adopters, but obviously, it’s relevant for any organization.
- Integrate Active Directory. Windows shops typically don’t give up AD when they migrate. Know Managed AD and AD Connector, and how to federate with AD.
- Storage Solutions
- Develop a storage solution against business requirements. Think S3, FSx, EFS. Know where they apply and why to choose them. For example, you can present S3 storage as an SMB file share, so maybe you don’t need to use FSx just because it’s a Windows environment. You might need FSx if DFS is a requirement throughout and you want a highly performant file system. And if it’s Linux hosts where a highly elastic shared file storage space is required…you already know, it’s EFS. Beyond this, understand S3 lifecycles, bucket permissions, tiering, access points, etc. You need to know storage well to pass this exam.
- Connecting storage into AWS. Storage Gateway, File Gateway, Tape Gateway. Why would you choose this vs. DataSync? Know the trade-offs. Also oddly enough, AWS Transfer family had a showing on the test so don’t forget that.
- Move data on a short timeline. Snowball. Sometimes it’s the fastest way into AWS. Know how it works and when to use one.
- Organizations + Identity Management
- Design an AWS organization mapped to the business. Learn how Control Tower can do this in an automated way. Learn OU structure, inheritance, and how SCPs apply at each level. How do you centralize billing and apply chargeback models? How can you share resources across an Organization effectively?
- Build Principle of Least Privilege environments. Learn how to use IAM roles effectively, that’s the preferred option. Learn about cross-account roles and how to make those. How would an auditing account be permitted read access? These are the things that will come up in the test.
- Manage identities. IAM, Cognito, SSO. These are all in play and for good reason. It’s hard to find a single customer that isn’t making use of these, so expect to see a lot of questions geared around federating identities and how that works in AWS terms. Temporary credentials via STS are a must-know item.
- Networking for Complex Organizations
- Design a hub and spoke network for a multi-account, multi-AZ or multi-regional organization. You better know VPC inside and out at a minimum. Get familiar with AWS best practices in this space like using Transit Gateway effectively, ingress/egress architectures for inspection, integration of security appliances, etc.
- Know the right hybrid network connectivity option. VIFs…Private, Public, Transit. Where does a DX Gateway make sense? When is it better to just use a private VIF? Is a VPN performant enough? All good to know items on the test.
- Leverage Endpoints to access internal services. You won’t see too much of this topic but know your options and why they’re important. If you need a private option that scales well for high bandwidth requirements, or simply for the privacy it provides, you’ll want to be familiar with PrivateLink, interface endpoints, gateway endpoints, and gateway load balancer endpoints for this exam. You’ll also want to know how to design these endpoints and where to put them.
- Integrate hybrid DNS solutions. You’ll want to have a solid understanding of DNS records at a minimum. Can you clearly state the difference between an Alias and CNAME record? Think through Inbound and Outbound endpoints and where to use them (Managed AD perhaps?). Understand the use case of private DNS records. Learn how to integrate an on-prem environment with AWS.
- Content Distribution Networks + Web-Facing Content
- Design a CDN to serve static content to customers. This is an ultra-common scenario on this test in particular. Know CloudFront inside and out, how it connects to S3, how to secure your connection with HTTPS + SSL certs, how OAIs work, how the edge cache works, TTLs, etc. Also know when not to use CloudFront and instead use Global Accelerator (when you need to move the network closer to the customer and not content).
- Leverage Lambda@Edge to perform functions closer to users. It needs to be said, it comes up a few times. Know the common use cases like inspecting URLs or headers, checking cookies, generating HTTP responses, etc. It will almost certainly be on the test so expect to know when to use it.
- Connect to web servers from the internet. How are customers accessing web servers? Via CF, via a load balancer? How are certificates managed? Where do you terminate your SSL connection? How do web servers scale to support increased traffic? Learn the many ways this could be done and be prepared to see a lot of questions related to this topic.
- Make it resilient. Get familiar with the ASG + Load Balancer combo, and failover routing with Route53. How do you respond to health checks? What happens when there’s a failure? Assume there will be a failure and plan for it effectively.
- Monitoring Your Environment
- See what’s happening and respond accordingly. There are a lot of questions about detecting changes in your environment, whether it be user actions or resource changes. Understand how you can use CloudWatch Logs and CloudTrail to identify and aggregate these items of interest and then leverage tools like SQS + Lambda to provide remediation. Know how alerts can be sent out via SNS to responsible parties. Ideally, you can automate a lot of this!
- Correct user actions. While AWS Config is only detective in nature and doesn’t provide remediation, it can be used in combination with Lambda to correct unwanted user actions.
- Detect PII in your environment. Macie gets a few features here and there, so understand where it’s applicable. IMO, this is a great one to score easy points…if you see PII, think Macie.
- App Modernization & Event-Driven Architectures
- Decouple the monolith using AWS services. SQS and Lambda are common features in event-driven architectures. Knowing their capabilities and limitations is a must. Lambda in particular has some constraints around startup, concurrency, and time to run. You might find using Batch to be the better option for long-running tasks, and maybe you’ll want to use Step Functions for sequential items.
- Leverage APIs in your environment with native AWS services. API Gateway is a frequent mention in this exam, although I found it wasn’t at depth. One thing you definitely want to know is the errors it throws (4XX & 5XX errors). You should always be familiar with how it stages and deploys, and the interaction it has with other AWS services, especially with Lambda.
- Assess using container services against each other as a matter of best fit. In the real world, this is often a matter of customers figuring out what level of management they need over their resources and what tasks they’d rather hand over to AWS. One common scenario you’ll see in this exam is comparing a few different container solutions and choosing the best one. Should you use ECS in EC2 mode, Fargate mode, or pick EKS? I think at a basic level you have to understand containers well to figure any of these out, but moreso you need an understanding of the tradeoffs of each AWS service and where it is most appropriate. You’ll see some explicit mentions of Kubernetes, nodes, etc. so maybe brush up on those terms if you’re not already familiar.
- Infrastructure as Code
- Make use IaC to simplify operations and control changes. AWS heavily favors using CloudFormation (duh) and this test is a continuation of that. No mention of Terraform here, just CloudFormation. This means you should be familiar with CloudFormation and how it works (how it’s built, how it deploys). Know terms directly related to the service, some of the functions it includes, the variety of “stack” options to include Nested Stacks, StackSets, Cross-Stack references, etc. Also know the problem it solves and why you should choose CloudFormation in a list of options to build a new solution.
- Use the Serverless Application Model (SAM). AWS is pushing this, but if you’re not aware of what it is and what it does, it’s worth checking it out. SAM is like a combination of serverless + CloudFormation which is fairly easy to understand and implement.
- Databases and Data Warehousing
- Pick the right database for the job. This is harder than it sounds because AWS has an extensive list of DB options that can achieve a high level of specificity for each use case. I found RDS, Aurora, and DynamoDB to all be heavy features on this exam. You’ll see one of them in at least 50% of the questions on this test because the DB layer is in nearly every architecture. Just as in the real-world, many of the questions are about features of the services themselves, especially around the areas of Business Continuity and Disaster Recovery. How do each of these fail, and which one addresses the given RTO and RPO requirements? You should know the capabilities of each in depth in this area. The robustness of these solutions is exam fodder, so allocate a considerable amount of your study time to each of them. I didn’t see as many mentions of some of the lesser-known DBs but that doesn’t mean you should avoid them. I’d still brush up on Neptune, DocumentDB, and QLDB.
- Solutioning with Redshift. Understand how Redshift ingests data, what sources it uses, and how it works internally. It’s an OLAP database–if you’re unclear what that is, it’s worth reading through why that’s important and what it solves. You’ll occasionally see Redshift compared to other DBs which either makes it a dead giveaway or allows you to scratch it out, but either way it does get attention so be ready for it. One last item–know how it fails, it might surprise you.
- Make use of caching solutions. Get familiar with some of the AWS solutions like ElastiCache and DAX and the problems they solve. If you see read-heavy workloads, it might be the right fit. You’ll see scenarios where customers are struggling to keep pace with traffic and this is often a good solution for that.
- Data Analytics and Streaming
- Architect for demanding levels of ingest and analytics. Kinesis is the go-to product for real and near-time solutions. If you hear those words, your ears should perking up already. It’s a bit of a tricky product especially if you don’t interact with it that much, but rest assured that if you can understand it conceptually with the problem it solves you should be able to take it on in the exam. Be able to explain the differences between Data Streams and Data Firehose. Understand where they can ingest from and what comes out, and where that data can go. Know how to differentiate it from SQS, which is similar but still different. Kinesis is for big-scale ingestion!
- Analyze your data. Make use of Kinesis Data Analytics for real-time data processing. Use other products for non-real-time analytics. You might see some EMR mentions (AWS Hadoop), mentions of QuickSight (intelligence dashboards), or AWS Batch (long-running AWS Lambda). I think familiarity here with each product will serve you well, but don’t over-prioritize it.
- I’ll be the first to admit, I don’t spend a lot of time with Data Streaming or Analytics products. Because of this, I tried to get to the point where I could easily distinguish these services, but my hands-on knowledge is lacking. I still passed, so it’s doable.
- Dev Products
- Leverage the AWS Code suite for CI/CD. The Code suite refers to a list of the AWS Code products–Code Commit, CodeBuild, CodeDeploy, CodePipeline. It’s a blessing and a curse…they all work together, but that can also make them difficult to separate. In my mind, CodeCommit = AWS Github, CodeDeploy = AWS Jenkins, CodePipeline is self-explanatory, and AWS Code Build is..complicated. Rember it’s used for builds and that you can customize it with buildspec.yml. All in all, if you can understand how these all work together as part of a functioning CI/CD pipeline, you should do well.
- Know when to use Elastic Beanstalk. One of the strangest named AWS services, this odd product is a way of abstracting the AWS away from the developer. The good thing about it is that it emphasizes being very managed, so the use case will likely stand out when you see it. Elastic Beanstalk is aimed at smaller teams, where abstracting the infrastructure is paramount.
- Cost Optimization
- Save money in your designs. I am so happy to see this prioritized in this exam because it speaks to real concerns. How can we save money? Know things like savings plans (EC2, Compute), using reserved instances, Spot instances, and timeframes related to spending. Design using ASGs to save money when stuff isn’t running. Make use of storage tiers that are based on frequency of access, and leverage lifecycle policies to move data or delete it when necessary.
- Implement tagging. This might only get a mention or two, but understanding how to do cost allocation is a useful skill regardless of the exam. Know how to apply tags, where to create them, who can modify them, and where they will be inherited.
- Security
- Bake in security to all your designs. If you’ve used AWS for any period of time, you’ll know that AWS by design nudges you to choose secure options. What this exam wants you to do is default to AWS best practices, and default to picking the best-fit option for every scenario. Big items include Key Management, Secrets management, and detective services. KMS, Secrets Manager, Guard Duty, Shield, Inspector, WAF, and Config will be there. Choose Roles > Users most of the time. Apply the principle of least privilege in all your policies. Reinforce security posture using features like NACLs in combination with Security Groups.
- This is not the Security Specialty exam. I think at this point in time you’ll be equipped if you understand the portfolio of security products and general AWS best practices–there are no “gotcha” security items on this exam.
- Random Stuff (The Extended AWS Portfolio)
- Systems Manager. I couldn’t fit this elsewhere but let it be known, you should know about Systems Manager on this exam. Understand how the agent works, how patching works, and how you can use Systems Manager to make your life easier in operations. A common scenario involves simplifying operations, so you’ll see it come up in questions like that.
- IoT. Greengrass, IoT Core…I had a surprising number of questions about these products. In hindsight, I would have allocated an hour or two to learn these products so I could easily differentiate them. While IoT is a niche solution, it is certainly a feature on this exam.
- Amazon Text + Speech products. There’s a long list of them, including Lex, Polly, Textract, Transcribe, and Translate. Being able to distinguish between them is important as they are all different and frequently used in combination with one another.
- Workspaces. AppStream. Know the difference.
- SageMaker. Do not bury yourself trying to learn it, but it’s worth knowing about and what it does before you head in. It’s an incredibly complex product that might confuse you without some preparation.
- X-Ray. This understated service might be on the exam, so know the use for it. It might help a dev in need!
Conclusion
This is without a doubt the longest review I’ve written for an AWS exam, and it’s still too short to cover the portfolio of services that are included in this exam.
I felt like this test was a perfect assessment for a budding Architect–it covers a lot of ground, presents you with challenging questions, and dives into services that you don’t run into often that you still ought to know. I would not recommend this test to anyone with less than 2 years of AWS experience, and I certainly would not recommend it to someone who has never held an AWS job before. I would highly recommend it to someone who has been working with AWS for 2+ years and is ready to push themselves on a certifiably difficult exam.
With adequate preparation, this test is very achievable. Take it seriously, get your hands dirty, take on AWS design problems at work, and you’ll certainly pass this. Best of luck!






























