In this article, I will review the content of the Cloud DevOps Engineer Nanodegree from Udacity. You can use this to decide whether it’s a good idea to pay for the nanodegree.
Consider getting this nanodegree if you have absolutely zero knowledge about AWS and cloud computing in general. Some of the content covers subjects that you are very likely to know or even be very good at if you’ve worked in the field for a while – such as CI/CD, monitoring and logging.
If you are a beginner in these areas, though, you might benefit from learning what this nanodegree has to teach you. Just keep in mind that you will still have a learn to learn by yourself, as the material doesn’t go very in depth about most subjects – some of it is even treated very superficially, and feels a bit rushed.
Udacity estimates 4 months to complete the nanodegree, at a pace of 10 hours/week. I finished it in less than 3 months, still having 2 breaks larger than a week. So you might be able to save some money if you’re putting in even 10 hours/week.
If you’re pressured by time, you can check the course projects before beginning a specific course – some of them don’t actually require you to go through all the course material, so you can save some time this way. You can always come back to those materials after finishing the nanodegree, as they’ll still be available.
The nanodegree is divided into 4 courses: Cloud Fundamentals, Infrastructure as Code, CI/CD and Microservices at scale. Each of them ends with a project that is reviewed by Udacity, and that need to be passed in order for you to graduate. Most lessons have videos that are easy to follow along, so you can practice before doing the final project for each course.
As you might expect, this course covers the basics of AWS and lays the foundation for the rest of the nanodegree. Not all the topics covered here are needed in the other courses, but it’s nice to have an overview of what is achievable with AWS.
The concepts are nicely explained and, if you actually have no prior experience with AWS, you can start experimenting with the different services and see how they work, or how they can be integrated.
The final project is pretty straight forward: deploying a static website on Amazon S3. The steps are easy to follow, so you shouldn’t encounter too many problems here.
Deploy Infrastructure as Code
This course teaches you how to use CloudFormation (an AWS service) to deploy your infrastructure through code, as well as designing diagrams for your infrastructure. It also takes this opportunity to teach concepts like security groups, different storage types, and networking components.
The final project expects you to basically combine the knowledge from the course to deploy a simple application to AWS – even if you are stuck, there are guidelines that are easy to follow and direct you to the desired result.
Building CI/CD pipelines, Monitoring & Logging
Almost unanimously, the worst course from this nanodegree. It tries to teach CI/CD with Jenkins (with the Blue Ocean plugin), Ansible, and monitoring with Prometheus. How much it actually achieves to teach is up to discussion.
What you need from this course, in order to progress and be able to graduate, is to learn how to use Jenking for building CI/CD pipelines – not something you wouldn’t be able to learn by yourself in a couple of hours.
Udacity probably recognized the low quality of the course, so the project has a different set of videos that guide you through all the steps. Easy to follow, but not worth going through all the other material.
Microservices at Scale using AWS & Kubernetes
This one is quite interesting, as it touches the basics of Docker and Kubernetes. It teaches you how to create the container and run it locally, as well as how to configure a cluster locally with minikube. The name of the course seems a bit misleading, as it doesn’t actually teach you how to deploy the containers to any AWS service.
It’s a good base if you have no prior knowledge on these subjects, but there’s a lot more research you will need to do if you want to be able to finish the capstone project.
The course is better than the CI/CD one, but it could definitely benefit from a bit more work and refinement.
As expected, the capstone project combines the knowledge you should have acquired throughout the nanodegree. On top of it, it has you do research on deploying your Kubernetes cluster to EKS and creating a CI/CD pipeline for it with Jenkins.
I personally feel like I learned more by developing the capstone project than by going through the rest of the lessons. Not sure if that’s a good thing or not, but the requirements are definitely a bit above what is taught during the courses.
However, it is doable, and you can find the right resources to complete the project and graduate – even if it might take a few days of struggling.
Is the nanodegree worth it? I would tend to say no, but it depends on what you are looking for. After all, you get a lot of information in a single place, so you don’t have to look for what to learn and where to learn.
It does feel like they could have put a little more effort into the content – both in the quality of the existing one, as well as in the quantity of information.