https://github.com/vedant-kakde/devops-roadmap
Step by step guide for DevOps
https://github.com/vedant-kakde/devops-roadmap
ansible devops devops-tools docker git github github-actions gitlab golang jenkins kubernetes prometheus python ruby
Last synced: 10 months ago
JSON representation
Step by step guide for DevOps
- Host: GitHub
- URL: https://github.com/vedant-kakde/devops-roadmap
- Owner: vedant-kakde
- Created: 2021-08-15T08:59:52.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-08-15T13:30:04.000Z (over 4 years ago)
- Last Synced: 2025-03-29T08:51:10.858Z (10 months ago)
- Topics: ansible, devops, devops-tools, docker, git, github, github-actions, gitlab, golang, jenkins, kubernetes, prometheus, python, ruby
- Homepage:
- Size: 66.4 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π£ DevOps Roadmap

- What DevOps concepts & tools to learn ?
- Tasks & Responsibilities ?
## π° There are two Departments
πΉ **DEVELOPMENT** :-
- deploying of application
- testing of application
πΉ **OPERATIONS** :-
- deployment of application
- maintained on a server
## π° Concepts of Software Development
**Development**
β
Git
β
How developers work
β
Which git workflow
β
How application is configured
β
Automated testing
## π° Operating System & Linux Basics
πΉ Operations -> Server
πΉ Prepare the infrastructure
β
Linux Basics
β
Comfortable using CLI
β
Shell commands
β
Linux File System
β
Server Management
β
SSH Key Management
## π° Networking & Security
β
Firewall, Proxy Servers
β
Load Balancers
β
HTTP/HTTPS
β
IP, DNS Name Resolution
## π° Containers
β
Virtualization
β
Containers
β
## π° How to release the Operations?
**Build Automation & CI/CD**
β
Build Tools & Package Manager
(Maven & Gradle -> Java app. , npm -> JS app.)
β
Build Docker Images
β
Artifact Repository (Nexus, Docker Hub)
β
Build Automation (,
,
)
β
Configure complete CI/CD pipeline
## π° Cloud Providers
**Infrastructure as a Service**
,
,
πΉ Save costs
πΉ Offer a range of services - Load balancing, Backup, Clustering, Security, ...
πΉ Many services are Platform-specific services
πΉ There are too many services
πΉ Only learn services you actually need
## π° Container Orchestration
πΉFor small containers -
β
Docker compose, Docker Swarm
πΉIf we have lot more containers or Incase of big microservices
We need more powerful tool
β
Kubernetes
π© Learn
π© How it works, Administor & Manage the cluster, Deploy applications
## π° Monitoring
- Track Performance
- Discover Problems
β
Monitor Software
β
Monitor Infrastructure
Tools - , Nagios, etc.
## π° Infrastructure as Code
πΉ For Production, Testing, Dvelopment
πΉ You need more than one environment
πΉ Manually creating & maintaining the environment :-
- Time consuming
- Error prone
πΈ Use code to :-
- Create infrastructure
- Configure to run & deploy your app
- Infra. Provisioning (Terraform)
- Config. management (
, Chef, Puppet)
πΉYou should know one of these tools to be:-
- More efficient
- Transparent
- Easy to replicate & recover
## π° Scripting Language
πΉ Automating tasks for development & operations :-
Backups, cron jobs, system monitoring
β
Know a Scripting Language
π© OS-specific - bash, shell
π© OS-independent - ,
,
π Python is most popular
π© Easy to read
π© Easy to learn
π© Many Libraries for most of Databases, OS Tasks & Cloud Platforms
## π° Version Control
β
β
## β How many tools to learn?
πΉ One tool in each category
πΉ Most popular / widely used