데브 옵스로 경쟁사보다 30배 많은 코드 배포를 경험하다.

데브 옵스란 문화를 만들어 가는 것입니다.

DevOps(Development + Operations)는 소프트웨어를 배포를 자동화하고 인프라를 변경하는 과정에서 소프트웨어 개발자와 타 분야 IT 전문가들의 협업과 대화를 강조하는 문화, 움직임 또는 행동이라 할수 있습니다. 데브 옵스는더 빠른, 더 빈번한 그리고 안정적인 빌드, 테스트, 소프트웨어 릴리즈가 가능한 문화와 환경을 만들어 가는 것을 목표로 합니다.

개발 주기의 극적인 변화

2000년대 중반까지도 소프트웨어를 만드는데 필요한 개발 주기는 작은 프로젝트라해도 1년 이상을 잡았습니다. 수 개월간 기획을 하고 개발을 완료하면 품질 관리부서가 테스트를 진행하였습니다. 수많은 테스트를 완료하고 나서야 제품이 고객에게 인도될 수 있었습니다. 이런 작업 방식은 서비스까지도 이어졌죠. 개발팀이 개발을 완료하면 운영팀이 들어가서 서비스를 운영하는 것이 너무나도 당연하였습니다. 하지만 2000년대 후반부터 조금씩 변화의 조짐이 나오기 시작했습니다. 스타트업에서 부터 점점 더 짧은 개발 주기에 대한 이야기들이 나오기 시작한 것입니다. 대표적인 방식이 린 스타트업이였죠. 그리고 페이스북 같이 매일 서비스를 릴리즈 하는 기업들이 나타나게 됩니다.이렇게 개발 주기의 극적인 변화와 함께 개발과 운영의 경계가 무너지기 시작하게 되었고 데브 옵스는 이런 움직임을 이끌어 가고 있습니다.

데브 옵스, 더 자주 코드를 배포하다.

데브 옵스의 프랙틱스를 실행하는 회사들은 더 많은 것들을 완료해 나가고 있습니다. Puppet Labs에 따르면 데브 옵스의 회사들은 일반적으로 경쟁사들보다 30배 더 코드를 배포하며 배포가 실패하는 확률은 50% 이상 줄어들었습니다. 데브 옵스 환경안에서 가장 큰 변화는 개발자, 품질관리자, DBA, 비즈니스 분석가, 운영자 가 하나의 팀으로 구성된다는 것입니다. 이렇게 다양한 멤버들이 하나의 팀으로 구성된다는 것은 다음과 같은 이점을 제공해 줍니다.

기술 장점 :

소프트웨어의 지속적인 제공이 가능해 집니다. 해결해야 할 문제의 복잡도를 낮출 수 있습니다. 문제를 다양한 관점에서 빠르게 해결할 수 있습니다.

비즈니스 이점 :

고객에게 기능을 더 빠르게 제공합니다. 보다 안정적인 운영 환경을 구축할 수 있습니다. 유지와 보수에 들어가는 시간보다 더 많은 시간을 가치를 제공하는데 사용할 수 있습니다.

데브 옵스와 서비스의 지속적인 개선

이전에는 기획, 개발, 운영이라는 사이클 상에서 서비스가 이루어 졌습니다. 하지만 린 스타트업은 개발과 운영 과정에서 나온 데이터를 기반으로 기획을 하게 되죠. 그런 의미에서 지속적인 소프트웨어 배포는 서비스를 성공으로 이끄는 거대한 두개의 요소를 가지고 있습니다. 먼저, 아이디어에서 작동하는 소프트에어까지의 초기 프로젝트 개발 기간을 단축할 수 있습니다. 그리고 우리는 실행 속도, 판매, 가입과 같은 측정 가능한 것들을 지속적으로 개선하는 과정에서 더 많은 것들을 경험할 수 있습니다.

기능을 자주 추가하면 안정성이 떨어지더라.

개발과 운영이 분리된 환경에서는 새로운 기능을 배포하는 것과 운영적 안정성을 유지하는 것 사이에서 갈등이 발생하는 경우가 있습니다. 개발팀은 새로운 기능을 더 많이 배포하는 것으로 인정받으며 운영팀은 안정적으로 시스템을 운영해야지만 인정받을 수 있기 때문입니다. 여기서 발생되는 다양한 이슈들은 과거 몇년간 많은 조직의 고민이였습니다.

데브 옵스 환경에서는 개발과 운영이 하나의 팀이며 새로운 기능과 안정성에 대한 책임을 모두 가지게 됩니다. 더이상 운영과 코드의 경계가 존재하지 않기 때문에 코드의 공유, 지속적인 통합, 테스트 기반의 개발 기술들과 자동 배포의 조합을 통해 어플리케이션 코드, 인프라의 구성 또는 설정에서 발생되는 문제를 더 빠르게 찾아낼 수 있습니다. 또한 잦은 배포로 인해 변화의 크기가 작아지면 작아질 수록 문제의 복잡도는 점점 더 떨어지는 경향이 있습니다. 팀이 분리되어 있지 않기 때문에 트러블슈팅과 수정이 한 팀에서 이루어지며 문제를 해결하는 시간은 더 단축됩니다.

개발팀과 운영팀을 합치면 데브 옵스인가?

데브 옵스는 자동화된 배포와 표준화 된 생산 환경등으로 일상적인 반복 작업을 없애는 것이 핵심입니다. 이런 목표를 만들어 가는 과정에서 개발팀과 운영팀이 합쳐지는 것입니다. 운영팀이 일상적으로 책임져야 하는 단순 업무가 많다면 이런 것들을 개발팀과 함께 줄여가야 합니다. 이런 활동에 도움을 주는 다양한 오픈 소스와 좋은 서비스들이 정말 많습니다. 와탭 과 같은 서버 모니터링 서비스 또한 이런 흐름에서 만들어진 좋은 서비스입니다. 데브 옵스는 린 스타트업과 함께 현재의 개발 흐름을 대표하는 움직임 중에 하나입니다. 데브 옵스를 통해 많은 회사들이 개발과 운영의 벽을 허무는 과정에서 더 빠른 릴리즈와 더 안정적인 환경을 만들어 갈 수 있으면 합니다.

관련 글

https://en.wikipedia.org/wiki/DevOps http://newrelic.com/devops/benefits-of-devops