Devops Training materials
This repository contains the materials for the DevOps training path. It's a step-by-step guideline to learn DevOps practices and tools from basic things like setting up a server to advanced topics like deploying applications using Kubernetes. The training is designed to be self-paced and hands-on. You will learn by doing and make mistakes, not just by reading or watching tutorial videos. I'll not teach you anything, but I'll guide you to learn by yourself and keep you on the right track.
The training is divided into multiple modules. Each module is a separate folder in this repository. You must fork this repository to your own GitHub account and clone it to your local machine. You can then follow the instructions in each module to complete the training. On each step, you should add your knowledge and notes to the training materials for future reference.
The modules are as follows (✅ means I've done the instructions)
- Module 1: Preparing project ✅
- Module 2: Setup a server ✅
- Module 3: Setup dependencies ✅
- Module 4: Deploy backend ✅
- Module 5: Deploy frontend ✅
- Module 6: Setup a domain ✅
- Module 7: Setup a reverse proxy ✅
- Module 8: Setup SSL ✅
- Module 9: CI/CD basics
- Module 10: Deploy using docker
- Module 11: Deploy using Swarm
- Module 12: Logging
- Module 13: Deploy using Kubernetes
- Module 14: Advanced CI/CD
- Module 15: Monitoring
Each module contains the following information:
- Requirements: What you need to do aka what is the goal of the module.
- Basic instructions: Basic steps to complete the module or hints. Just a skeleton to get you started.
- 🔥 Useful Resources: Some useful links to get started with the module like examples, tutorials, documentations, etc.
You will have your time to research, learn, and implement the module. You can add your notes, commands, and configurations to the module's folder. You can also add your questions, thoughts, and ideas to the module's README file. After that, ping me to review your work and give you feedback.
Well, everything has a starting point. In the beginning it might be easy and you will feel like you are not learning anything new. But as you progress and write down your notes, you will see that some basic things are not that basic. There's a lot of knowledge behind them. By listing down all of the fragments of knowledge, you will see the big picture and understand how everything is connected. So, don't rush, take your time, and enjoy the learning process.
If you have any questions or suggestions, please feel free to ping me. I'll be happy to help.
If you find this repo helpful, you can buy me a coffee: