DevOps(데브옵스)는 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로서, 클라우드 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화, 철학, 방식 및 도구의 조합을 의미한다.
개발팀과 운영팀과 협력하여 개발에서 테스트, 배포, 운영에 이르기까지 전체 애플리케이션 수명 주기에 걸쳐 작업하고 확장성을 고려한 광범위한 기술을 개발한다. 속도가 느리고 수동으로 수행되던 프로세스를 자동화하거나 서비스를 안정적으로 운영하고 개선하는 도구를 사용하여 팀 작업속도를 극대화시키는 작업도 진행한다.
설치형 소프트웨어(SW)의 시대가 저물고 'SaaS(Software as a Service, 서비스형 소프트웨어)'의 시대가 열리며 소프트웨어를 자주, 빨리 그리고 보다 안전하게 배포해야할 필요성이 생겼다. 그러기 위해서는 애자일과 같은 민첩한 개발방법을 통해 변경되는 범위를 작게 하며 배포에 따른 위험을 낮추고 균등하게 할 필요가 있다. 게다가 개발과 운영조직이 공동의 비즈니스 목표를 가지고 전체 개발과정에서 원활한 협업을 하기 위하여 애자일이 강조하는 빠른 피드백과 상호작용이 필수적이라 할 수 있게 되었다. 이러한 점에서 Devops는 개발, 품질보증, 운영의 교집합이 되는 부분에 위치한다. 즉, Devops는 개발과 품질 보증, 운영이 겹치는 기능교차적 (cross-functional) 역할을 수행하는 것이다. 각 기능간의 협업과 의사소통을 이끌고, 프로젝트 성공을 위하여 협업을 통해 문제를 해결해 나가는 것이다. 서로가 기능교차적인 역할을 수행함으로써, 책임을 전가하려기보다는 문제의 원인을 함께 해결하고 시스템을 보다 견고하게 만드는데 집중할 수 있다.
-> 클라우드 환경으로의 변화
-> 높은 가용성(얼마나 사용가능한지)을 요구하는 애플리케이션
출처 및 참고
https://aws.amazon.com/ko/devops/what-is-devops/
http://pds26.egloos.com/pds/201310/24/85/Devops1.pdf