1. DevOps란?
개발과 운영이 분리되면서 오는 문제점을 해결하기 위해서 개발과 운영 나아가 테스트까지 하나의 조직으로 합쳐 팀을 운영하는 문화이자 방법론.
2. DevOps를 적용하려면?
- Cross Functional Team
하나의 팀에 각각 다른 역할을 할 수 있는 팀원들로 세트업 해서 전체 End 2 End 서비스를 운용할 수 있도록 한다. 한 팀 내에서 서비스의 기획부터 운영 그리고 영업까지 해당 서비스에 관련된 모든 것을 할 수 있는 구조로 팀을 구성한다. - Widely Shared Metric
팀 전체가 기준으로 삼을 수 있는 서비스에 대한 공통적인 지표를 둔다. 예를 들어, 하루 방문자 수, 평균 체류 시간, 가입자 수와 같은 비즈니스 지표부터 CPU 사용률, 메모리 사용률, 응답 시간 같은 기술 지표가 있다. - Automating Repetitve Tasks
반복적인 작업은 도구를 이용해서 자동화한다. 일반적으로 CI (Continuous Integration)이나 CD (Continuous Delivery)등을 이용해서 다루는 빌드, 배포, 테스트 자동화가 이에 속한다. - Post-mortem
장애나 이슈가 있을 때 처리 후에 그 내용을 전체 팀과 공유해야 한다. - Regular Release
정기 릴리즈. 릴리즈가 끝나면 다음 릴리즈를 위한 기능 정의 과정을 거쳐야한다. 정기적으로 릴리즈 주기를 설정하면 전체 협업을 하는 입장에서 언제 어떤 협업을 해야 할지도 명확해진다.
3. DevOps를 구성할 때 주의점
- DevOps팀을 새로 만들지는 말 것.
- DevOps 엔지니어를 따로 채용하지 말 것.
- DevOps는 소규모 스타트업 기업에 유리, 조직이 크면 인내심을 가지고 차근차근 적용할 것.
참조 저서 : 조병욱(조대협), 대용량 아키텍처와 성능 튜닝, 프리렉 출판, 123쪽
반응형
'Architecture' 카테고리의 다른 글
JWT의 이해 (0) | 2017.08.30 |
---|---|
REST의 이해 (2) | 2017.08.29 |
마이크로 서비스 아키텍처 (Micro Service Architecture) (0) | 2017.08.28 |
모노리틱 아키텍처 (Monolithic Architecture) (0) | 2017.08.28 |
SOA (Service Oriented Architecture) (0) | 2017.08.28 |