- What DevOps concepts & tools to learn ?
- Tasks & Responsibilities ?
🔹 DEVELOPMENT :-
- deploying of application
- testing of application
🔹 OPERATIONS :-
- deployment of application
- maintained on a server
Development
✅ Git
✅ How developers work
✅ Which git workflow
✅ How application is configured
✅ Automated testing
🔹 Operations -> Server
🔹 Prepare the infrastructure
✅ Linux Basics
✅ Comfortable using CLI
✅ Shell commands
✅ Linux File System
✅ Server Management
✅ SSH Key Management
✅ Firewall, Proxy Servers
✅ Load Balancers
✅ HTTP/HTTPS
✅ IP, DNS Name Resolution
✅ Virtualization
✅ Containers
✅
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
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
🔹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
- Track Performance
- Discover Problems
✅ Monitor Software
✅ Monitor Infrastructure
Tools - , Nagios, etc.
🔹 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
🔹You should know one of these tools to be:-
- More efficient
- Transparent
- Easy to replicate & recover
🔹 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
🔹 One tool in each category
🔹 Most popular / widely used