After a few years of working on plenty of cloud projects, where AWS was around 95% of my daily duty, I just wanted to give it a try. No other reasons that I'm aware of ;).
AWS states on the official Exam Guide:
"This exam validates advanced technical skills and experience in designing distributed applications and systems on the AWS platform."
You are going to be tested on five domains:
Domain 1: Design for Organizational Complexity
Domain 2: Design for New Solutions
Domain 3: Migration Planning
Domain 4: Cost Control
Domain 5: Continuous Improvement for Existing Solutions
On my LinkedIn post, I wrote.
"A very nice exam, but you have to rush, really - for me, the time was short. It covers all possible solutions available on the AWS cloud, so you should have hands-on experience with most of them. Most of the questions are migration-related, so again you have to have experience."
And above is a nutshell of what you can expect and what is expected from you.
The exam itself is a "Blitzkrieg," if you know what I mean. Questions are quite long, so you have to keep the focus on the details. Answers are not so tricky, but the devil is in the details - again. What you can expect is well shown here.
It lasts for 220 mins. Due to Covid-19, the only way to get it done is the on-line way. I did online exams before, but never for 4h in a row, so bear in mind that you are stick to your desk without an option to move or use a bathroom (that's insane).
220 mins for 75 questions, give you like 3 minutes per question. It means that you have to be confident about the topic. There is not that much time for consideration. At least for me, the time was short, even, the language is quite straightforward (I'm not a native English speaker).
The best preparation is to use the cloud and work with multiple projects for few years.
Before the cloud, I was responsible for building multi-branches secure networks, highly available and resilient solutions, clustered virtualized environments, that supported the companies I worked for.
What helped me a lot was that I've conducted commercial "AWS driven" training for multiple groups of professionals in the area of Development on AWS, Architecture, and dedicated Security training for the last two years.
If you can, try to teach someone, for sure you will have a very good recap for all services :). You can pick someone from your surrounding, maybe a colleague who starts his/hers journey with the cloud. You will be able to find gaps in how you understand particular services.
Creating materials, labs, and writing articles for my newly created site was extremely helpful too.
You might be surprised that I don't write much about certain services. This is for a reason, as you will find all possible solutions on the exam that fits within 5 domains.
Most questions were around the fifth domain, so I was asked about possible improvements to the existing solutions: a few questions involved AWS DMS and the overall migration process. Also, I got a few technical questions about VPC, like AWS Transit Gateway or Peering connections. Of course, you will find services like Kinesis or SQS (remember, decoupling). But there are few questions, that ask about 4-5 services to be implemented in a row.
A list of services you might find on the exam can be found here even it's in Polish.
I also used Adrian Cantrills AWS Certified Solutions Architect - Professional course to do a quick re-cap around services, which I haven't touched for a while.
The last service I've used was a Whizlabs, as they have very good tests, so you can practice and find your gaps also.
The TutorialsDojo has well-prepared AWS cheat sheets, they also might be helpful for you.
Build your own lab and use as many services as you can. Play a lot. Think like you would have a three-tier application on your on-premises environment, and how would you migrate it to the cloud, when you have 10 GB, 100GB, and 100TB of data to move. What services are involved, what are your options for transfer, and so on?
Take your time to get a good understanding of the costs of migration, what costs more, what is better if you are thin into time.
Bear in mind, that cost is not always the determinant.
What if you want to implement something quickly without disrupting the production environment.
How would you secure the application, when you have attacks coming from distributed sources with random IPs - what services can help you with it.
If you haven't work on multiple domains yet, wait and come back sooner or later. I mean it.
Try to teach someone, it's the best way I found, to be on track with the services and how you understand them.
Take advantage of the previous exam discount (if you still have one) - AWS gives you a 50% discount coupon for each exam you pass.