본문 바로가기
기타 개념정리

devops 란? 뜻부터 장단점까지

by wakestand 2020. 5. 12.
반응형

Devops 란

개발(development)과 운영(operations)의 합성어로

개발팀과 IT 운영팀의 작업에 대한 공유 방식을 말하는데

 

조직 내 여러 팀간 의사소통과 협업을 활성화시키는

운영 철학이라고 보면 되겠다

 

개발팀과 IT 운영팀이 나누어져 있는 상황에서

개발팀은 프로그램의 개발만을

IT 운영팀은 기존 시스템의 운영만을 담당하므로

 

개발자와 운영자에 대한 구분과 불신이 나타나게 되고

 

이렇게 되면

개발한 프로그램에 대한 배포와

오류를 잡아 프로그램을 안정화하는 과정이

오래 걸려 비효율을 초래하게 되는데

 

개발자와 IT 운영자를 통합하는 Devops를 적용하여

개발부터 운영까지 한번에 처리해보자는 것이다

 

Devops를 사용 시에는 다음과 같은 이점이 있는데

장점은 다음과 같다

 

1. 개발팀과 운영팀간의 의사소통 증가로 생산성 증대

2. 한 곳에서 개발부터 검증, 배포까지 전체를 담당하게 되어

개발과 배포 속도가 빨라짐

3. 구성원에게 개발 책임감과 코드의 소유권을 높여줘

개발 프로세스 간소화

 

반면 단점으로는

 

1. 다양한 팀이 모여 업무 역할이 변경되기 때문에

활성화되기 위해서는 충분한 시간이 필요

2. 코드를 자주 배포할 필요가 없다면 비용만 늘어남

3. 포괄적인 자동화 도구가 필요함

 

이 주요 장단점이 되겠다

 

Devops는 도구가 아니라

일을 이렇게 하자는 방법론이지만

주요 구성 내용은 다음과 같다

 

코드 리포지토리(Code repositories)

코드 수정내용 보관 및 타 개발자들이 변경된 코드 적용

EX) Git, SVN

 

아티팩트 리포지토리(Artifact repositories)

프로젝트 수행 시 만든 산출물(설계문서, .jar 파일 등)을

버전별로 보관

EX) JFrog, Nexus Repository

 

CI/CD

CI는 Continuous Integration

CD는 Continuous Deploy or Continuous Delivery

를 의미하는데 

각각 지속적인 통합, 지속적인 배포를 의미한다

품질관리를 위해 지속적인 빌드와 테스트 과정 지원과

지속적으로 배포 가능한 기능을 포함한다

EX) Jenkins, Travis CI

 

컨테이너(Containers)

가상 환경에 접속한 후 해당 환경에 맞추어 세팅해주면

개별 시스템별로 세팅해줄 필요 없이

컨테이너에 맞춘 대로

개별 시스템에 동일하게 세팅이 가능해진다

EX) Docker, Microsoft Hyper-V

 

Configuration Management

서버, 컨테이너 릴리즈별 설정 관리

EX) Puppet, Chef

반응형

댓글