This is my proposed learning curriculum for DevOps, and I am dropping this after extensive research on the best, free and paid resources that can be used to achieve this goal.
DevOps is a software engineering methodology that aims to integrate the work of development and operations teams by facilitating a culture of collaboration and shared responsibility.
It is a set of practices, tools, and a cultural philosophy that automate and integrate the processes between software development and IT teams. DevOps emphasizes team empowerment, cross-team communication and collaboration, and technology automation.
It began some years back when the software development and IT operations communities raised concerns about the traditional software development model, where developers who wrote code worked apart from operations who deployed and supported the code.
DevOps is an approach to culture, automation, and platform design intended to deliver increased business value and responsiveness through rapid, high-quality service delivery.
What you will learn:-
- Continuous Integration and Delivery (CI/CD) practices, tools, concepts and how to set up a CI/CD pipeline using Jenkins or GitHub Actions.
- Cloud computing platforms like AWS, Azure, Google Cloud Platform and its pros and cons.
- Use of containerization technologies such as Docker & Kubernetes
- Monitoring and Logging Tools: Prometheus, Grafana.
- Microservices architecture principles and best practices
- Version Control Systems - Git, Github and/or Gitlab.
- Automated deployment using CI/CD tools like Jenkins etc.
- Infrastructure as Code (IaC) tools like Terraform, Ansible etc.
- Learn Linux OS and its CLI: Although Windows OS and MacOS can be used via virtual machine, most tools such as Ansible, Terraform, Graffana - - etc were developed using Linux OS as the preferred OS.
End Goals
- Become a DevOps Engineer or SRE(Site Reliability Engineer)
- Understand the core concepts of cloud computing and infrastructure management.
- Earn cerification in any cloud computing platform.
- Gain hands on experience with monitoring tools, logging systems, version control systems, automation tools
- Learn a programming language:- Python, Java, Go, Rust, JavaScript. Although several languages can be used to learn DevOps, I will suggest - - Python because of its simplicity, since it easy to pick-up and learn, readable syntax and it is the moost widely adopted language for DevOps - and SRE.
- Linux certification can also be acquired, although this is not necessary.
- Become a sought after DevOps Engineer and be job ready.
Learning Path
**Note: This learning path is designed to provide a comprehensive understanding of the skills.
-
DevOps Fundamentals
-
Version Control System
-
Linux Fundamentals
-
Python Programming Language
-
Shell and Bash Scripting
-
Jenkins
-
Docker
-
Kubernetes
-
Prometheus
-
TerraForm
-
Ansible
Learning and Cloud Certification
-
AWS
-
AZURE
-
Google Cloud
Top comments (1)
Hi sir.
I've been struggling with devops for the past 2 months now. It's really making me go craze. Can you help me go about it. Like just like a mentor that gives projects and assignments. I'm ever ready to learn this.