-
1.Version Control Systems:
- Git: A distributed version control system to track changes in source code during software development.
- Developer, Test engineer, Operations(Infra, Deployment, Monitoring)
- Goal of DevOps – Automation -> using tools -> CI/CD
2.CI/CD Tools:
- Jenkins/GitLab: An open-source automation server that enables developers to build, test, and deploy their software.
3.Configuration Management and Infrastructure as Code:
- Ansible: An open-source tool for IT automation, configuration management, and application deployment.
- Terraform: An open-source IaC software tool that provides a consistent CLI workflow to manage hundreds of cloud services.
4.Containerization and Orchestration:
- Docker: A platform to develop, ship, and run applications inside containers.
- Kubernetes: An open-source system for automating the deployment, scaling, and management of containerized applications.
5.Monitoring and Logging:
- Grafana/Cloudwatch: An open-source platform for monitoring and observability, which integrates with various data sources.
- Linux commands – CLI/GUI
- GitBash – CLI interface for Windows
- Python script/programming
- SSH authentication – Password-less auth – private/public key
- Vi editor commands – Command mode vs Insert mode
- Git commands – git add, git pull, git clone, git commit and git push
- Build tools – maven/gradle – packaging dependencies and libraries
- Virtualization – VM in VMWare or EC2 in AWS
- Containers – Docker – Isolated and light weight OS
- Cloud – Iaas, Paas, Saas
- Public Vs Private Vs Hybrid
- CURL -> Commandline URL
- JSON -> JavaScript Object Notation
- YAML -> Not a markup language