DevOps는 Development(개발)와 Operations(운영)의 합성어로, 개발과 운영팀 간의 협업을 강화하여 빠르고 안정적인 소프트웨어 제공을 목표로 하는 문화 및 실천 방법을 의미한다.
이는 단순한 개발 방법론이 아니라 자동화, 협업, 지속적 통합/배포(CI/CD) 등을 포함한 소프트웨어 엔지니어링 및 IT 운영 방식 전반을 개선하는 접근 방식이다.
DevOps 엔지니어링은 개발부터 배포, 운영까지의 전 과정을 자동화하고, CI/CD, 모니터링, 인프라 관리 등을 통해 신속하고 안정적인 서비스를 제공하는 것을 목표로 한다.
즉, 단순히 배포 자동화만이 아니라, 코드 작성부터 운영까지 모든 프로세스를 원활하게 만들기 위한 엔지니어링 접근 방식이다.
MSA(Microservices Architecture)에서는 각 서비스가 독립적으로 배포 및 운영되며, 서로 다른 기술 스택을 사용할 수 있다.
이로 인해 서비스 간 통신이 복잡해지고, 장애 발생 가능성이 증가하며, 운영 및 배포 부담이 커지는 문제가 발생한다.
초기에는 사람이 직접 장애를 해결할 수 있지만, 서비스 규모가 커질수록 장애 대응을 자동화하고 시스템의 신뢰성을 유지하는 것이 필수적이 된다.
이때 SRE(Site Reliability Engineering)가 중요한 역할을 한다.

SRE(Site Reliability Engineering)는 소프트웨어 엔지니어링 원칙을 적용하여 시스템의 신뢰성과 가용성을 높이는 엔지니어링 방법론이다.
Google에서 시작된 개념으로, 운영을 자동화하고, 장애를 예측 및 예방하며, 시스템의 안정성을 유지하는 것을 목표로 한다.
즉, SRE는 개발자들이 신뢰성 높은 서비스를 운영할 수 있도록 자동화된 플랫폼을 제공하고, 장애 대응을 효율적으로 수행하는 역할을 한다.