Devops is mainly three things -
- Infrastructure
- Automation
- Monitoring
Infrastructure
You need a server for hosting, server is an infrastructure. You need database for backend, database is infrastructure. It refers to the underlying system and hardware responsible for development and delivery.
Automation
It means automating stuff being done manually to waste less time doing the same stuff.
Monitoring
It means keeping track of application working, finding problems and bugs and fixing them right away.
Roadmap
- Start learning basic linux commands
- Start with networking concepts - VPC, CIDR block, Subnetting DNS Records(https://www.cloudflare.com/learning/dns/dns-records/#:~:text=DNS%20records%20(aka%20zone%20files,is%20known%20as%20DNS%20syntax.), route tables
- Virtualization using vbox or vmware(not needed rn)
- Programming(Python) and Git. Learn Django, flask and Boto3 for automation.
- Create Projects and push on git repos
- Do the AWS practitioner course to understand AWS services to work on them.
- Learn Infrastructure as Code with help of YAML and JSON. Learn Terraform - what it is, how it automates, it’s resources, provisioners, providers, variables and outputs.
- Learn Ansible which is configuration management tool to configure multiple servers at a time.
- Learn CI/CD. Start with understanding principle of automation and continous improvement. Difference between pipelines CI(Source => Build => Test) => CD(Deploy). Get hands on with Jenkins and Gitlab.
- Do projects on setting pipelines that automatically builds and tests your code everytime it’s changed and how to deploy it on production safely.
- Learn Docker and Kubernetes. What is Docker? How to create it? What is DockerFile? What is DockerImage? What is Kubernetes? How to deploy application on Kubernetes? Architecture of Kubernetes?