Devops

DevOps, short for "development" and "operations", is a software development practice that combines people, processes, and technology to deliver value to customers

  • Code repositories: Allow multiple developers to work on code 
  • Artifact repositories: Compile source code into an artifact for testing 
  • CI/CD pipeline engines: Enable DevOps teams to automate the delivery of applications to end users during development 
  • Containers: Provide isolated runtimes for software on a shared OS
  • Define a release management process: With clear manual approval stages and automated gates to move applications between stages 
  • Automate delivery processes: To make them scalable, repeatable, controlled, and well-tested


Fundamentals of DevOps

  • What is DevOps?
  • Understanding the lifecycle
  • Benefits of DevOps in Modern Software Development
Version Control Systems (VCS)

  • Centralized vs Distributed VCS
  • Git Basics and Workflow
  • Branching & Merging
  • GitHub, Bitbucket & GitLab
Continuous Integration (CI)

  • Setting Up Jenkins for CI
  • Writing & Managing Pipelines
  • Automating Build and Test
  • Integrating CI with VCS
Continuous Deployment (CD)
  • Automating Deployment
  • Deployment Strategies
  • Infrastructure as Code (IaC) Terraform/Ansible
Configuration management

  • Writing Playbooks
  • Managing Configurations across multiple environments
  • Immutable Infrastructure
Containerisation

  • Introduction to Containers
  • Dockerfile, Images and containers
  • Docker Compose

Container Orchestration

  • Orchestration with Kubernetes
  • Architecture
  • Managing Pods, Services & Deployements

Monitoring, Logging & Security

  • Prometheus
  • Security in DevSecOps
  • Securing CI/CD Pipelines
  • Vulnerability Scanning & Management