I recently sat and passed the CLF-C01 Exam, receiving my AWS Cloud Practitioner Certification.
Overall I spent around a month studying for it, with basically zero knowledge of the AWS Services themselves, so I thought I would write this article with my thoughts, resources and a few tips on how to pass the exam itself.
Before we get started, it is worth noting that while I started out this process not having used AWS itself, I work in data and analytics full time and do have pretty good conceptual knowledge of some of the topics covered such as databases, cloud databases (as I use BigQuery a fair bit), and data transformation processes such as ETL.
Why Cloud Practitioner?
AWS itself is incredibly broad, covering so many different areas of cloud computing, and because of this the AWS Cloud Practitioner Certification is also incredibly broad and pretty surface level. This certainly isn’t a bad thing though, as there are associate, professional and specialist exams as well.
My personal reasons for studying for and taking this exam were really just wanting motivation to really learn the basics of AWS as a platform, and find ways to use the data and analytics services – specifically S3, Lambdas, Athena, Glue, and the database services.
Outside of this the exam covers other key AWS services such as EC2, basic machine learning concepts, security and encryption, and of course users/roles through the IAM (Identity and Access Management).
Resources and Courses
There are a lot of great resources online to study for the Cloud Practitioner Exam – from paid courses, free resources on the AWS website, YouTube videos, blog posts and more.
The main course I took was the Ultimate AWS Certified Cloud Practitioner which can be found here (no affiliate link for this, I just highly recommend it!)
The other course on Udemy which I see recommended over and over again is this one and while I personally didn’t take this course it receives consistent positive reviews so thought it would be worth linking to as well (again no affiliate link).
Notes and Tips
While the resources above are more than enough to learn everything you need, I thought I’d post my own high level summaries of what I learnt along the way, and some tips. I won’t go too much in depth for each section below as I don’t want to steal content from the paid courses, especially the two I linked to above.
My number one tip when taking any of the courses is to actually get hands on experience whenever possible. In some courses there will be follow along tutorials, but if you have the time and capacity to do so I would strongly recommend playing around with the services and trying things out. The great thing about AWS is that so many of the features won’t cost you a cent. EC2 instances have free tiers, S3 storage won’t cost you anything to upload small files in to, Athena queries are free when working with small data, and setting up basic Lambda functions with Python also won’t result in any charges.
That being said – be careful. It is very very easy to turn on something like a database using a level that is not free and suddenly find yourself wit a $300 bill a month later!
Based on my experiences with the exam and the key focus areas, I have split up my summaries into the following categories:
- IAM and Security
- Virtual Machines – EC2
- Storage – S3 and Databases
- Lambda Functions
- Other Services
There are a lot of questions in the exam, and based on the length of the courses linked above there are so many AWS services that are covered, but in my experience the focus areas that I will summarise cover off the bulk of what I learned, and was able to gain exposure to.
IAM and Security
This is probably the single most important thing to learn in AWS – not just for this exam, but across the board. Other than stating the obvious by saying security is important, the way that users, roles and permissions run through pretty much every different service in AWS means that you will keep coming back to this time after time when setting up different features.
IAM in general is also extremely useful outside of working with internal user permissions, as it is very likely when working in AWS day to day that you will need to grant read or write permission to something such as S3 for external users to transfer data.
Virtual Machines – EC2
Working with Virtual Machines is a massive part of cloud computing – with the AWS version of this called EC2 (Elastic Compute). Outside of things such as storage (more on that soon), the setting up of an EC2 virtual machine (or multiple machines!) is going to be used in so many different types of day to day tasks, that getting a solid understanding of the concepts here is incredibly important.
There are a range of different options available when setting up a virtual machine – from basic general use, to projects that may require higher levels of processing power, or memory. My advice here is to get a solid understanding of the different types of EC2 options – the use cases, pricing models, and additional features such as which type of network drive and storage volumes are required.
On top of this, another concept that is important is scaling and elasticity. This isn’t one hundred percent specific to just EC2, but the both vertical and horizontal scaling is a core cloud concept. A brief explanation of this is:
Vertical – increasing the power of an individual virtual machine – more memory, storage etc
Horizonal – increasing the number of virtual machines that are running at once.
What makes this concept so powerful is that you can also set up rules (called Auto Scaling Groups) to manage this automatically depending on the tasks assigned.
Storage – S3 and Databases
Outside of virtual machines, S3 storage is probably the single most well known and used component of AWS. It is essentially an online network drive that you can dump files into. It has file paths and folders (in the UI at least), and in a more modern data engineering world can act as a data lake.
On top of this, AWS also has data warehousing offerings such as RDS and Redshift. This essentially helps turn S3 raw data into a relational database set up.
There are a lot of different options here from the larger scale Redshift, to simply running a MySQL database on top of EC2, so make sure to understand the differences in options here as the exam will quiz you on which option to choose based on a certain scenario.
Serverless – Lambda Functions
AWS Lambda functions are covered in the Exam, and while they may not feel like a huge part of AWS initially – it is very likely that Lambda will be used over and over again day to day simply due to how simple but powerful they are.
Essentially, Lambda functions are a way of scheduling a function to run without a whole lot of set up. For example – let’s say we had some basic Python code we wanted to run every 24 hours to clean up some raw data. Normally we might need to set up EC2, load up something such as Airflow, and schedule the whole process – all while paying a monthly fee due to needing to keep the VM running. If the code has a run time of less than 15 minutes, this can actually be set up inside a Lambda function and scheduled at basically no cost. Technically there are small costs, but the free tier for Lambda makes it quite unlikely that for the majority of basic Python code runs you won’t pay a cent.
Other AWS Services
As mentioned, AWS overall is absolutely massive, with over 200 different features! It would be impossible to learn and memorise the details of them all, but luckily the cloud practitioner exam doesn’t require this.
That being said, some of the other areas that would be good to get at least a basic understanding of are:
- AWS well architected framework and its core pillars
- Billing and Costs – across the board
- VPC concepts and Networks
- CodeDeploy / CodeCommit / CodeBuild / CodePipeline
- Security – eg: KMS
A lot of these additional services it is going to be quite hard to really get hands on experience with, which is where some of those online courses come in really handy. Things such as S3, EC2, Lambda functions and so on it is very possible to experiment within the free tier of AWS by uploading files, setting up scheduled code, creating EC2 instances and launching them, but concepts such as billing, VPC, the core pillars of the AWS well architected framework are things you will simply need to read up on and understand.
Final Thoughts and Where to Next?
There isn’t really one correct way to study for the Cloud Practitioner Exam, but I personally found the combination of an online course, hands on testing, and just reading up about concepts to be the best approach. If you can find any real world examples to test, whether its for your current job, or just sample data sets online to load into S3 and see what you can do with it everything helps.
From here there are a range of higher level exams that can be taken, sitting within three categories:
Even if you are looking to sit a specialty exam such as the Data and Analytics one, my recommendation from here is to sit the Associate Solutions Architect exam as it tends to be seen as the next step up in complexity and depth from the AWS Cloud Practitioner exam and will really set you up for some more advanced concepts within the Specialty exams.
This sums up my thoughts on the AWS Cloud Practitioner certification exam and how I approached studying for it. While these are my own thoughts on what is and isn’t important to learn, there is a lot covered and can appreciate that not every exam ends up being identical.
For more guides on AWS and Data Engineering make sure to check out our other guides.