Community post originally published on Medium by Giorgi Keratishvili
Introduction
So want to pass CGOA exam but not sure where to start? Don’t worry I will help you with what to pay attention to and will share my experience. I had been part of beta tester for CGOA and contributed to creating the exam and can say from both sides what to look for and what is overall expected from candidates who will pass it, but first, let’s start with the format of the exam and difficulty level.
Who should take this exam?
Certified GitOps Associate is an entry-level certification compared to CKAD/CKA/CKS it is a multiple choice 90-minute exam also it is an online proctored exam keep in mind also it is much easier compared to them would say it is on pare with KCNA/KCSA, the main theme of this exam is to emphasize open GitOps standard and give candidate understanding of concepts, structuring repositories and general patterns what to look for and keeping everything in vendor neutral format which was hard part cause some times mentioning during discussion which tool is best ArgoCD or FluxCD could cause hot debates…
Lets discuss the Certification Domains & Competencies
**GitOps Terminology 20%**
Continuous
Declarative Description
Desired State
State Drift
State Reconciliation
GitOps Managed Software System
State Store
Feedback Loop
Rollback
**GitOps Principles 30%**
Declarative
Versioned and Immutable
Pulled Automatically
Continuously Reconciled
**Related Practices 16%**
Configuration as Code (CaC)
Infrastructure as Code (IaC)
DevOps and DevSecOps
CI and CD
**GitOps Patterns 20%**
Deployment and Release Patterns
Progressive Delivery Patterns
Pull vs. Event-driven
Architecture Patterns (in-cluster and external reconciler, state store management, etc.)
**Tooling 14%**
Manifest Format and Packaging
State Store Systems (Git and alternatives)
Reconciliation Engines (ArgoCD, Flux, and alternatives)
Interoperability with Notifications, Observability, and Continuous Integration Tools
As we see big percentage is given to general Principles and Patterns/Terminologies as it is crucial to understand in which problem GitOps helps us, where it sits in our Continues Deployment and how it differs from traditionally deploying applications and CI/CD.
From an experienced person who has been using GitOps for a while it could be intuitive and the majority of questions should be related to day-to-day tasks which they had performed but what if we are new to all this jazz? In such cases we need to fill our gaps and deep dive into the world of cloud native ecosystem and GitOps, the best place to start exploring would be documentation of Open GitOps
These four Pillars are fundamentals similar to the “10 commandments.” Based on these principles the whole philosophy is built around which is shared across all GitOps tools sound like a cult isn’t it? Joke aside, this approach and consistency helped to shape current approaches to how we deliver our deployment and management components in most simple and easy way on a large scale which fits well in the Kubernetes ecosystem
Okay at this point we are excited and want to rush into the exam but from where should start preparing and especially when wo do not have experience?
The documentation is our best friend and let’s start with the most first tools that start this whole GitOps and Progressive delivery movement. I am speaking about FluxCD. I would say it has a great introduction to general concepts and patterns of how to structure GitOps delivery and can say the person who has been working with Flux V1 and V2 this documentation has seen very big progression over the time and was one of my most reference points, second great documentation, of course, is ArgoCD and third documentation which I would recommend is from Jenkins X beside documentation Linux Foundation provides also Free training materials which are good addition if we want something paid nice place it to check kodekloud catalog with there ArgoCD Course also to practice before taking the exam would recommend checking the Codefresh bage test and materials for ArgoCD, GitHub is also good place to check for repos such as this one.
If you prefer videos, I would recommend one of my favorite CNCF Youtube channels. They always upload conference videos from KubeCon or GitOpsCon so highly recommend checking on them but do not get stuck in a Youtube rabbit hole. Remember, practice is everything and not watching someone else but where could we practice in this case I would highly recommend to check Killerkoda playground and scenarios regarding materials would say it should be enough, one recommendation which I can give is before starting whole this journey take some target day for exam and schedule it for yourself have timeline and urge to study seriously from my experience it helped me.
So it is exam day: how will it look? All Linux Foundation and CNCF certifications are online and proctored. Before the exam, check all prerequisites and ensure the PSI browser plugin is installed. 30 minutes before, you will see the join button. I would recommend to starting your exam early because there are always some issues (saying this as a person who has passed more then 15 PSI proctored exams). In the room, we should not have any posters or whiteboard, the desk should be clean and nothing extra should be on if you are doing from laptop, then only the laptop, if using a PC, then a keyboard and mouse but no pen, notebook or anything. Proctors are very serious on this. You could have glass of water as the exam is long (90 min) but the most important is to have a good chair. After 24 hours, you will know your score the passing one is >75% and you will receive a Creadly certificate.
At this point, congrats you have passed and obtained certification. I hope this post was informative and would encourage you to learn more and take bigger challenges as there are many certifications from the Linux Foundation, CNCF, and the CD Foundation, remember to stay curious and share your knowledge with others 🚀