Getting Started
How to use this roadmap?
This roadmap is polymorphic
, which means it's designed to work in different modes, depending on how fast you want to go.
1. Self-Learning Course
This mode is the default and is available for everyone in this repo. In this mode, you are not expected to have DevOps experience, and you want to go from zero to hero, transforming your knowledge to land your first job as a DevOps Engineer.
How to process:
- Read each module in the roadmap in the same order.
- In each module, you will find two sections:
What you need to know
: It emphasizes the most important points and areas you should know about as a DevOps Engineer.Resources
: It provides some learning resources, but you are free to learn from any other resources.
- In this mode, you manage all your learning plans by yourself, and we highly recommend asking a Senior DevOps Engineer (a friend or someone from the community) to review your plans and progress.
2. Hands-on Project
In this mode, you already have some experience with DevOps (usually between 1-2 years of work experience). Still, you want to further your skills with a real hands-on industry-grad project to learn DevOps pragmatically. This mode is also available to everyone in this repo.
The project follows the Learning by Doing
method (aka Problem-based Learning
), which is done in iterative phases. In this method, you learn as you go and cover the whole DevOps cycle.
How to process:
- Go to the HiveBox hands-on project.
- Read the intro of the project and the goals of it.
- Follow and implement the requests of each phase in the same order.
- Each stage builds on the previous stage (the phases are continued, not separated).
NOTE Each phase of this project is tackled gradually as part of the roadmap modules. But it's also standalone, and you can work on it if you have the required knowledge for each phase.
3. Mentorship Program
This mode covers the previous two modes (that means it could be only for the project or the whole roadmap) but with support from a mentor
! DevOps Hive will provide you with a DevOps expert who will guide you in following up on your progress and personalizing your learning plan.
A plus point in the mentorship is that you will get access to the roadmap board, where you can utilize Agile methodologies like Epics and Kanban to implement the plan. This will incorporate real-world scenarios and best practices, which you will use in a real job when working in an Agile environment.
Roadmap Index
Visit if you are interested in the DevOps hands-on project only. Continue if you want the full roadmap.
Introduction
Module 1: Welcome to the DevOps World
- 1.1 Overview - What and Why DevOps?
- 1.2 Software Production - Software Development Life Cycle
- 1.3 Software Production - Agile Software Development
- 1.4 Software Production - Change Management and Golden Triangle
- 1.5 DevOps Methodology - DevOps and DevSecOps Core Pillars
- 1.6 DevOps Methodology - DevOps, Cloud, Platform Engineer, and SRE
- 1.7 DevOps Methodology - T-Shaped Skills DevOps Engineer
- 1.8 Project - HiveBox Phase 1
Module 2: Basics - DevOps Core
- 2.1 Code - Python Fundamentals
- 2.2 Code - Common Development Tools
- 2.3 Code - Git Basics
- 2.4 Operating System - Linux Fundamentals
- 2.5 Operating System - Common Tools and Commands
- 2.6 Operating System - Bash Scripting Basics
- 2.7 Containers - Docker Fundamentals
- 2.8 Containers - Docker CLI Basics
- 2.9 Project - HiveBox Phase 2
Module 3: Start - Laying the Foundation
- 3.1 Planning - Define Goals and Requirements
- 3.2 Code - Modularity and Reusability
- 3.3 Code - Testing and Quality Assurance
- 3.4 Code - Writing Unit Tests
- 3.5 Containers - Docker Best Practices
- 3.6 Continuous Integration - Introduction and Solutions in the Market
- 3.7 Continuous Integration - GitHub Actions Essentials
- 3.8 Continuous Integration - Pipelines and Quality Gates
- 3.9 Project - HiveBox Phase 3
Module 4: Expand - Constructing a Shell
- 4.1 Planning - Review the Goals and Requirements
- 4.2 Code - Twelve-Factor App Methodology
- 4.3 Code - REST API Best Practices
- 4.4 Continuous Integration - CI Best Practices
- 4.5 Containers - Kubernetes Overview and Core Concepts
- 4.6 Observability - Monitoring Application and Infrastructure
- 4.7 Continuous Delivery - Introduction and Solutions in the Market
- 4.8 Infrastructure - Cloud Computing and Cloud Native Applications
- 4.9 Project - HiveBox Phase 4
Module 5: Transform - Finishing the Structure
- 5.1 Planning - Refine the Goals and Requirements
- 5.2 Code - Working with External Systems
- 5.3 Code - Writing Integration Tests
- 5.4 Infrastructure - Infrastructure as Code and Configuration Management
- 5.5 Infrastructure - Terraform Essentials
- 5.6 Containers - Kubernetes Configuration Management
- 5.7 Observability - Log Aggregation Systems
- 5.8 Continuous Delivery - CD Best Practices
- 5.9 Project - HiveBox Phase 5
Module 6: Optmization - Keep Improving
- 6.1 Planning - Agile Retrospective
- 6.2 Code - Performance Optimizations
- 6.3 Continuous Integration - Software Supply Chain Security
- 6.4 Infrastructure - Multi-environment Architecture
- 6.5 Containers - Kubernetes Operators
- 6.6 Continuous Delivery - End-to-End Release Automation
- 6.7 Continuous Deployment - Introduction and Solutions in the Market
- 6.8 Continuous Deployment - GitOps and Argo CD Essentials
- 6.9 Project - HiveBox Phase 6