AWS Certified Solutions Architect - Associate
AWS Certified Solutions Architect - Associate is one of the most sought-after certifications in the IT industry.
Here's a few tips for those seeking this certification.
Background Knowledge And Experience
AWS recommends "at least one year of hands-on experience designing available, cost-efficient, fault-tolerant, and scalable and distributed systems on AWS." In other words, if you recently started your career in IT, there are a few things you have to do before you start preparing for this certification.
- Have a thorough foundation in IT. Learn about computers and networking. Many people struggle with networking. Do not ignore and carry-on with your networking struggles. Fix the knowledge gap. Perhaps, take a networking course. I recommend The Bits and Bytes of Computer Networking course by Google offered on Coursera. You can audit the course without paying a dime. Check out the COMPTIA A+ and Network+ syllabus. Master these topics before you move on.
- Learn Linux. Check out the syllabus in the Linux Foundation's Certified SysAdmin and Certified Engineer certifications. Master these topics before you proceed further. Don't forget to learn shell scripting. Write a lot of shell scripts and make your life a lot easier.
- Learn using virtual machines. I recommend learning KVM and
libvirt. Also, learn Vagrant. Other tools are also fine. The takeaway is that you can experiment a lot locally without paying for the cloud usage.
- After you learn virtualization, the next natural step is to learn and play with containers. Learn the basics of Docker. You will see how easy it is to experiment with certain applications using Docker.
- Learn what these terms are: high-availability, cost-efficiency, fault-tolerance, scalable and distributed systems. Read a Wikipedia article or a blog post about each individual term. Once you start making sense of these, proceed to the next step.
- Start implementing what you have learned. Have a pet project. The project could be something like building and hosting your own Wordpress powered blog. Make your blog highly available, cost-efficient, fault tolerant, scalable and distributed.
- Start small. Evolve the system. Learn and apply. Rinse and repeat.
- In the initial stages, do not use AWS managed services like RDS, Aurora, Route 53, ElastiCache, etc. Instead get your hands dirty. Run your own highly available DNS servers using BIND. Build your own MySQL server with replication. Build your own Redis cluster. Build your own firewalls and HIDSes. Stick to EC2 only in this stage of learning. Once you gain a thorough understanding of these technologies and architectural design patterns, slowly start consuming AWS managed services.
- Initially, when you learn about various AWS services, you might do so using the AWS console. Once you learn a particular concept or an AWS service, stop using the console and start using the AWS CLI. Eventually, start using AWS CloudFormation.
- Read the well-architected framework. If the document appears dry and boring, don't get demotivated. Try to read it a few times. Review your pet-project's architecture and implement what your learned from the well-architected framework. This step alone will expand your mind. It is an opportunity to think and learn about systematic way of doing things as opposed to naive and crude style.
- Costs: you can do a great deal using the free-tier account. Eventually, if you want to gain experience and understanding you will have to spend some dollars to consume AWS services over and above the free-tier limits. The good thing about the cloud is that you can turn-off things when not in use and reduce costs.
Should you use a course?
Video courses help a lot. If you have membership at Linux Academy or A Cloud Guru platforms, in addition to the Certified Solutions Architect - Associate courses, go through the videos of Certified Developer Associate and Certified SysOps Associate courses. They have a huge overlap and helps you gain a better understanding of AWS services. Also, after completing the CSA exam you can quickly prepare for the Certified Developer Associate and Certified SysOps Administrator Associate exams.
Should you use dumps?
Dumps are huge lists of questions and answers compiled by third-parties. Do not waste your time with dumps. Instead focus on gaining first-hand experience by doing it yourself. Instead of memorizing which AWS service would you use from the dump's question and answer perspective, do the research yourselves. Read the AWS documentation and find out what service you would use for a particular situation. To understand various contexts of these questions, read the AWS FAQs. You can also get a sense of the question contexts from the well-architected framework. Take one or two official practice exams. They give you a good overview of what to expect in the exam.
Why this difficult path?
It won't be unfair if you dub this plan as "getting AWS certified the hard-way". You could probably pass the certification exam by taking a video course and reading some dumps. That can only give you the certification but not the knowledge and experience required to provide solutions to real-world problems. The idea behind this suggested learning path is improving the knowledge depth and breadth as opposed to shallow understanding of relevant subjects.
How long is the preparation time?
The answer is subjective. It depends on your prior experience and ability to learn new things. Some people are fast and some slow. If you have a full-time day job, and you decided to utilize your spare time on weekdays and weekends, it will probably take somewhere between six months to a year or more. Don't be disheartened by the length of preparation time. In the end, it will definitely payoff.