# DevOps DevOps is a set of practices combining software development (Dev) and IT operations (Ops) to shorten the development lifecycle and deliver software continuously. It emphasizes collaboration, automation, and monitoring throughout the entire software development and deployment process. The term emerged around 2008-2009, popularized by [[Patrick Debois]] and others who sought to bridge the gap between development and operations teams. ## Core Principles - **Collaboration**: Break down silos between Dev and Ops teams - **Automation**: Automate repetitive tasks (build, test, deploy) - **Continuous improvement**: Iterate and refine processes - **Customer focus**: Deliver value quickly and reliably - **End-to-end responsibility**: Teams own the full lifecycle ## Key Practices ### CI/CD (Continuous Integration/Continuous Deployment) - **CI**: Frequently merge code changes, run automated tests - **CD**: Automatically deploy validated changes to production - Platforms: [[GitHub]] Actions, [[GitLab]] CI/CD, Jenkins, CircleCI ### Infrastructure as Code (IaC) - Define infrastructure in version-controlled code - Tools: Terraform, Pulumi, AWS CloudFormation, Ansible ### Containerization & Orchestration - Package applications with dependencies - Tools: Docker, Kubernetes, Podman ### Monitoring & Observability - Track application and infrastructure health - Tools: Prometheus, Grafana, Datadog, New Relic ## DevOps Lifecycle ``` ┌─────────────────────────────────────────────────────────┐ │ DevOps Loop │ │ │ │ Plan → Code → Build → Test → Release → Deploy │ │ ↑ ↓ │ │ └──── Monitor ← Operate ←──────────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ ``` ## DevOps vs Traditional IT | Aspect | Traditional | DevOps | |--------|-------------|--------| | Releases | Infrequent, large | Frequent, small | | Teams | Siloed | Collaborative | | Deployment | Manual | Automated | | Feedback | Slow | Rapid | | Failure response | Blame | Learn and improve | ## References - https://en.wikipedia.org/wiki/DevOps - https://aws.amazon.com/devops/what-is-devops/ ## Related - [[Mean Time To Recovery (MTTR)]] - [[DevSecOps]] - [[Continuous Integration (CI)]] - [[Continuous Delivery (CD)]] - [[Continuous Deployment (CD)]] - [[CI CD pipelines]] - [[GitHub]] - [[GitLab]] - [[Git]] - [[Patrick Debois]] - [[Yet Another Markup Language (YAML)]] - [[Feedback Loop]]