DevOps

최대 1 분 소요

포스팅하는이유

업무를 하면서 DevOps의 특징이 현재 나의 포지션(?)과 닮았다 느꼈지만,
정확한 의미를 제대로 알지못하여
생각정리겸 최대한 간결하게 포스팅을 하기로하였다.

DevOps란?

DevOps == Dev(개발) + Ops(운영) 이다.
DevOps는 소프트웨어 개발방법론 중 하나이다.
각 프로세스(개발, 테스트, 배포(운영))의 담당자들을 모아놓은 하나의팀을 의미한다.

탄생배경(왜 ??)

일반적으로, 개발팀에서 개발이 끝나면 테스트를 거쳐 라이브 브랜치에 새로운 Feature가 이관된다,
운영팀은 이를 배포하고 관리, 운영한다.
개발팀과 운영팀이 분기되어있어 협업하는데 아래와같은 어려움이있었다.

어떤어려움이?? (전통적인 개발 운영체계)

문제1 : 잦은 변경요건에대한 장애발생

운영에 배포된 이후에도, 기획팀에 의해 서비스에 대한 신규 요구사항은 계속 나온다. 해당 요구사항에대해 신규개발, 테스트, 배포 그리고 지속적인 운영을 요하게된다.
제대로된 테스트를 거치지 못한경우, 장애를 유발하게된다.

문제2 : 개발자들은 왜 맨날 안된다고할까?

개발팀은 새로운 Feature가 운영에 배포된후, 해당 Feature에 대해 거의 관심을 두지않기 않지만,
고객은 항상 아쉬움을 발견하고, 그 요구사항은 운영팀에게,
운영팀은 다시 개발팀에게 전달되므로서 개발일이 늘어나며 개발자들은 이를 달가워하지않는다.

특징(장점?) : CI/CD

  • 소프트웨어 개발 프로세스 최적화
    • Continuous Development : 지속적인 개발
    • Continuous Deployment : 지속적인 배포
    • Continuous Integration : 지속적인 서비스제공

이 좋은걸 왜 이제서야.. ??

좋은 오픈소스, 좋은 툴(Jenkins(빌드, 배포 자동)), 클라우드의 등장 여러요인이 존재한다고 생각한다.

카테고리:

업데이트: