Phase 4: DevOps fundamentals
How does this phase apply to Cloud?
DevOps is all about getting your solutions to run efficiently from deployment to updates. It's not specific to Cloud, as you can implement DevOps practices on-prem and in hybrid environments as well. DevOps is not limited to a single role. However most companies have dedicated roles to DevOps. If your aim is to become a DevOps engineer, this phase will get you started but you'll have to go deeper.
DevOps is a culture, and not a specific tool or service. Read up on what DevOps is. Each cloud platform has a suite of DevOps tools, I've linked a few articles here:
I also think it's worth reading The Phoenix Project it's a pretty fun read because it's a fictional story but it explains the importance of DevOps. But if you'd prefer something more like a textbook with similar ideas, check out The DevOps Handbook.
You should've completed the Cloud Resume Challenge in the previous phase. That project introduces you to DevOps concepts, if you haven't, go back and do so.
How to break down this phase
|1||CI/CD with GitHub Actions|
|2||IaC with Terraform|
|3||Containers with Docker|
|4||Containers orchestration with Kubernetes|
|5||Monitoring with Prometheus and Grafana|
Of course feel free to spend as much time as you'd like, people have asked for a timeline and breakdown so I've added it. Every DevOps practice matters, but these are the most used on an entry/junior level. You should already be familiar with Version Control from Phase 2.
|GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker||Nana is the queen of DevOps and creates some of the best DevOps learning content out there. This tutorial will introduce you to GitHub actions.|
|Complete Terraform Course - From BEGINNER to PRO!||Learn how to use Terraform to automate your AWS infrastructure.|
|Docker tutorial for Beginners||Complete Docker Hands-on course with a lot of demos and explaining the concepts behind, so that you really understand it.|
|Kubernetes Crash Course for Absolute Beginners||Hands-On Kubernetes Tutorial|
|Complete Prometheus Monitoring Tutorial||Complete Prometheus Monitoring Tutorial|
|DevOps Journey Using Azure DevOps||This tutorial/lab setup is going to take you through a DevOps journey using Azure DevOps. From setting up your pipeline to deploying an application to your Azure Kubernetes cluster!|
|DevOps the Hardway - Azure||This tutorial contains a full, real-world solution for setting up an environment that is using DevOps technologies and practices for deploying apps and cloud services/cloud infrastructure to Azure.|
|DevOps the Hardway - AWS||This tutorial contains a full, real-world solution for setting up an environment that is using DevOps technologies and practices for deploying apps and cloud services/cloud infrastructure to AWS.|
Things you should be familiar with at the end of this phase
Be able to explain each DevOps practice
- Why each one matters.
- What each one accomplishes.
- Most popular tools for each practice.
Have personal projects in your GitHub. For at least 2 of your projects:
- Have a CI/CD pipeline.
- Have IaC files for each project.
- Have monitoring implemented for each one.
- Make sure you can understand the logging and metrics data.
- If something were to go wrong with your project, understand how to troubleshoot.