Devops 이해하기 ( 개발과 운영은 남이 아니다 !)
Ⅰ . Devops 란 무엇인가 ?
매일 새로운 용어가 등장하는 IT 분야에서 요즘 Devops 란 말이 자주 등장하고 있다 . IT 관리자 및 전문가에게 널리 알려진 CIO 전문지에서 “ 놓치지 말아야 할 필수 IT 프로젝트 ” 경력중 하나로 Devops 를 꼽기도 하였다 . Devops 란 무엇인지 살펴보기 위해 위키피디아 (wikipedia) 에서 정의한 내용을 먼저 살펴보자 .
▶ DevOps 란 ?
DevOps(Devops = Development + Operations) 라는 합성어는 소프트웨어 개발자들과 IT 종사자들 사이의 의사소통 ,협업 , 융합을 강조한 소프트웨어 개발 방법론이며 , 소프트웨어 개발과 IT 운영간의 상호 의존관계에 대한 산물이다 . DevOps 는 조직에서 소프트웨어 상품과 서비스를 신속히 생산하는 것에 도움이 되는 것을 목적으로 한다 .
Ⅱ . Devops 가 아닌것은 ?
Ⅲ . 새로운 개발문화로써의 Devops
Devops 구현하기 ( 품질 , 프로세스 , 도구 관점에서 )
Ⅰ . 품질
전통적인 폭포수 개발 모델에서는 코드가 개발이 완료되어야 빌드와 테스트가 이루어질 수 있다 . 코드가 최종 단계에 이르러야 테스트가 수행되므로 테스트 결과는 프로젝트 후반에서 파악할 수 있다 . 테스트를 통과하지 못할 경우 , 변경된 사항과 해결할 문제 사이에 상관관계를 파악하기 어려워 문제 해결에 많은 시간을 낭비하게 된다 . 그나마도 프로젝트 일정과 비용 등의 제약으로 아직 해결하지 못한 문제가 남아 있지만 운영 단계로 넘어가야 하는 경우 품질에 상당한 악영향을 미칠 수밖에 없다 .
저명한 컴퓨터 과학자인 Gerald M. Weinberg 는 품질은 사용자의 요구사항에 부합하는 것이라고 정의하였다 . 즉 , 품질이라는 것은 정도가 있는 것으로 ‘ 얼마나 잘 ’ 이라는 것이 사용자에 따라 달라질 수 있다 . 가령 , 시스템 성능은 얼마나 많은 사용자가 동시에 사용하는지 , 어떤 기능을 주로 사용하는지에 따라 그 기준이 달라진다 . 이는 품질이 절대적인 기준 값이 있는 것이 아니라 전체적 맥락 (context) 하에서 정의되고 주요 품질 속성과 아닌 것을 구분하는 것이 필요하다는 것을 말해준다 .
Ⅱ . 프로세스
Ⅲ . 도구
IV. 결어
댓글 없음:
댓글 쓰기