After studying for a while I finally scheduled the CKAD exam and passed the exam hitting 95/100. There is quite a lot of confusing information on the internet, which made me a little bit stressed before the exam, so I'd like to share some information about my preparation process and the resources I have used. I hope this will help you to ace your exam, without unnecessary stress.
What it is?
Certified Kubernetes Application Developer (CKAD) is a certification program offered by the Cloud Native Computing Foundation (CNCF) to validate the skills and knowledge of developers in designing, building, configuring, and managing applications on Kubernetes.
CKAD focuses specifically on assessing an individual's proficiency in working with Kubernetes and its various components. It tests the ability to perform tasks such as deploying applications, managing pods, configuring networking, and implementing storage solutions.
The CKAD exam is a practical, hands-on test where candidates are evaluated based on their ability to solve real-world problems using Kubernetes. It assesses practical skills rather than theoretical knowledge. Even if someone can argue, that the CKAD tasks are not very similar to the real-world cases, where K8s is configured by some IaC tools, I am sure that they are very helpful in day-to-day work with Kubernetes cluster.
Why I think it's worth having CKAD certification.
I believe that we are currently witnessing a shift in organizational mindset towards cloud migration, where there is a hint of skepticism compared to the enthusiasm we have seen in the past. The cost of hosting an application in the cloud is not as low as claimed by cloud evangelists and sales representatives. In such cases, when a company wishes to host an application on its own, Kubernetes appears to be a prudent choice. It enables the company to leverage features such as scaling and zero-time deployment without incurring bills from cloud providers.
Furthermore, when comparing the transition from one cloud provider to another while utilizing their PAAS K8s instances to adopting other, more granular configurations with FAAS services, the level of vendor lock-in is comparatively less pronounced.
According to the CNCF Annual Report for 2022, there was a significant increase of 44% in people registered for the CKAD exam. The total number of exam registrations reached almost 50,000, with approximately 15,000 registrations made within the past year. This means its popularity is growing quickly, and I expect to see this trend in the nearest future.
By considering all these factors, I strongly believe that it will become increasingly important for developers to have a deep understanding of Kubernetes and its inner workings. Kubernetes will no longer remain solely within the realm of DevOps. It will become a crucial knowledge area for developers as well. In the past, we witnessed the need for developers to understand how Application Servers functioned, and I am confident that a similar scenario will emerge this time. It is essential for all developers to possess knowledge about the platform on which their applications are hosted. This can't be skipped.
How to prepare for the CKAD exam?
How can you ensure that you are well-prepared for the exam? Honestly, I'm not certain, but I can share the process that worked for me. First and foremost, I purchased the exam bundle, which included an exam voucher and The Linux Foundation course. To clarify, my company sponsored this(thank you!). My expectation was that completing the course would adequately prepare me for the exam since the CKAD certificate is issued by CNCF, which is a Linux Foundation project. This reasoning seemed logical, right? However, I found the course to be less helpful than anticipated. While it did provide valuable insights into Kubernetes basics, it focused more on theory rather than practical exercises that adequately prepared me for the exam. If you have prior commercial experience with Kubernetes and are familiar with concepts such as Pods, Deployments, Volumes, Secrets, and others, I recommend exploring alternative resources for exam preparation and skipping this one.
After finishing the course from Linux Foundation, I started doing "Kubernetes Certified Application Developer (CKAD) with Tests" on Udemy. This is an excellent course created by Mumshad Mannambeth. It's created specifically for those who want to pass the CKAD exam, which makes it superior to the previously described course from The Linux Foundation. I can highly recommend this. I really liked the KodeKloud environment provided as a part of the training. You will use it to do the labs which are available for each section.
I'd like to highlight the most important parts of this course:
The course content itself, on Udemy, helps you to understand how Kubernetes resources work, and how to configure them
Labs, on the KodeKloud platform to verify your understanding in practice
Lightning Labs, which are the labs not assigned to any specific section to test your knowledge after completing the course
Mock Exams, which are somehow similar to real CKAD exams.
I did all of the stuff above once, and then I repeated all the labs and mock exams. I believe doing it was a solid foundation, before moving forward to Killer Shell/Killer Coda resources, which was my next step.
We have two "Killer" resources. The first one is Killer Coda which has a set of exercises. They are available for free for everyone, and they cover some stuff that was covered in previously mentioned courses. No need to do them, but if you are still unsure if you are ready for the exam, you have some more exercises to do here.
The second one is the Killer Shell exam simulator. It's a very valuable resource, which can help a lot in your exam preparation journey. You have 2 exam sessions included in your CKAD Exam voucher price. The exam consists of 22 questions which are the most similar to the ones you will see on the actual exam. Few important things about those sessions:
You have 2 identical sessions available - they are the same so the set of questions in the first session is the same as in the second session.
Once you start a session it will be active for 36 hours. You can go back within that time to see your work, and try to fix any tasks you didn't score points for.
You can always reset your session, which will create a new environment but will not reset the 36-hour timer. You can use it to take the exam once again, not using your second session. After the reset, it will start with a 2-hour timer - exactly the same as you'll have when you open a fresh session.
Given that the Killer Shell exam simulator is the most similar to the real exam, I'd say it's the most important resource when preparing for CKAD Certification. The difference between them and the real exam is in average complexity and the time available per task. In the simulator exams, you have more tasks and less time, and I think that on average they are a little bit more complex.
I took my first session after finishing the Udemy course, and the second 2 days before the exam.
To sum up, my preparation steps in chronological order were as follows:
The Linux Foundation Course
Kubernetes Certified Application Developer (CKAD) with Tests
Killer Coda Exercises
Killer Shell Exam Simulator - 1st Session
Reading about the stuff I realised I don't understand after taking the mock exam.
Killer Shell Exam Simulator - 2nd Session
CKAD EXAM
Summary
All of those resources, along with a small amount of commercial experience using Kubernetes, helped me pass the exam and achieve a decent score. Depending on your experience and the time you have, I recommend not overthinking it and sticking with a subset or all of the mentioned resources. I'm quite sure that with these resources, you will be able to pass your exam and obtain a CKAD certificate!
If you're interested in more CKAD resources, such as example questions and the most useful commands, stay tuned and follow my blog. I will be posting all of these in the near future.