DevOps Fundamentals

Description:
DevOps combines development and operations to streamline software delivery. This course teaches automation, CI/CD, version control, and deployment strategies.

Learning Objectives:

  • Understand DevOps culture and goals

  • Learn Continuous Integration & Continuous Deployment (CI/CD)

  • Use Git, Jenkins, Docker, Kubernetes

  • Automate infrastructure with Terraform/Ansible

Detailed Content:

13.1 What is DevOps?

DevOps is a set of practices aimed at unifying software development (Dev) and IT operations (Ops). Goals include shorter development cycles, increased deployment frequency, and dependable releases.

13.2 Version Control with Git

  • Initialize a Git repo, commit changes, branch, and merge.

  • Use GitHub or GitLab for remote repositories.

13.3 CI/CD Pipelines

  • Automate build, test, and deploy stages using Jenkins, GitHub Actions, or GitLab CI.

  • Sample pipeline:

stages:
- build
- test
- deploy

13.4 Infrastructure as Code

  • Use Terraform to provision infrastructure in AWS/Azure.

  • Use Ansible to configure servers declaratively.

13.5 Docker and Containers

  • Docker creates portable app environments (containers).

  • Create Dockerfiles, build images, and run containers.

13.6 Kubernetes Orchestration

  • Kubernetes manages containerized applications.

  • Concepts: pods, deployments, services, clusters.

13.7 Monitoring and Logging

  • Use Prometheus + Grafana for real-time metrics.

  • ELK Stack (Elasticsearch, Logstash, Kibana) for log management.