회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
깃허브(Github) – 소스 제어 관리(Source Control Management, SCM) 젠킨스(Jenkins) – 지속적 통합(Continuous Integration, CI) 나기오스(Nagios) – 경고 관리(Alert Management) 및 모니터링(Monitoring) 도커(Docker) – 컨테이너 관리(Container Management) 및 오케스트레이션(Orchestration) 엘라스틱서치(Elasticsearch) – 로그 분석(Log Analytics) 아이싱어(Icinga) – 분산 모니터링(Distributed Monitoring) 셰프(Chef) – 설정 관리(Configuration Management)
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
이번 시간에는 최근 들어서 점점 더 인기를 얻고 있는 개념인 데브옵스(Devops)에 대해서 알아보도록 하겠습니다. 소프트웨어 개발에서 데브옵스 방식은 애자일 기법과 함께 사용되어, 기업의 경쟁력에 크게 기여할 수 있는데요. 운영의 생산성, 품질, 수익을 늘리는데 특히나 도움이 되는 것으로 유명합니다. 여러분이 만약 제품 개발 프로세스를 계속해서 발전시키고 싶다면 데브옵스의 개념과 장단점을 숙지하는 것이 매우 중요할 텐데요. 이번 시간, 위시켓은 데브옵스의 개념과 이 방법론이 가진 장담점에 대해 알아보는 시간을 갖도록하겠습니다.
데브옵스라는 용어는 드부아(Debois)라는 유명한 애자일 기법 전문가가 개발(development)과 운영(Operation)이라는 단어들을 조합해 만든 개념입니다. 드부아의 원래 목적은 소프트웨어 개발에 드는 시간과 비용을 최소화하면서 동시에 사용자들에게는 뛰어난 품질의 제품을 보다 빠르게 전달하는 것이었습니다. 그리고 첫 번째 컨퍼런스가 열린지 10년이 지난 오늘날, 전 세계의 개발 조직에서 데브옵스 팀원들의 수가 꾸준히 늘어 현재는 전체의 26%를 차지하고 있다고 하죠.
아마존(Amazon)
아마존은 세계 최대의 온라인 소매업체이면서, 동시에 데브옵스 분야에서도 가장 성공한 기업들 중의 한 곳입니다. 아마존이 데브옵스 환경에서 성공할 수 있었던 데에는 수만 가지의 이유들이 있습니다. 아마존은 세계 최고 수준의 고객지원에서부터 제품에 대한 문제 해결, 인하우스(in-house) 솔루션을 만들어내는 것에 이르기까지 다양한 문제들을 처리하기 위해 소프트웨어를 활용하고 있는데요. 데브옵스가 속도를 빠르게 하는 것은 물론이고, 품질보증(QA) 및 리스크 관리에서도 아주 유용하다는 것을 알고 있습니다.
넷플릭스(Netflix)
넷플릭스는 업계에서도 데브옵스 기법을 가장 먼저 사용해서 프로그래머들과 IT 관리자들의 일상 업무를 자동화하는데 큰 도움을 받았습니다. 넷플릭스 스트리밍 서비스는 마이크로서비스(microservice)를 가진 클라우드 기반의 인프라 위에서 운영되고 있는데요. 그뿐만 아니라 거의 대부분이 오픈소스로, 커뮤니티의 지원을 받는 소프트웨어를 사용하고 있기에 2015년 잭스(JAX) 컨퍼런스에서 혁신에 대한 공로를 인정받기도 했습니다.
페이스북 (Facebook)
데브옵스 방법론은 페이스북 비즈니스의 핵심이자 그들이 성장할 수 있었던 근간이 됩니다. 예를 들면, 소프트웨어를 정식으로 출시하기 전 미리 버그를 고칠 수 있게 도와주고, 인프라도 신속하게 구축할 수 있었죠. 실제로 페이스북은 데브옵스 분야에서는 선구자에 속하며, 소프트웨어의 개발과 활용 방법을 변화시켰습니다.
왜, 다들 데브옵스(DevOps) 하는가.
이쯤에서 한 가지 중요한 질문을 던지고자 합니다. '대체 왜 데브옵스인가?'하는 것인데요. 데브옵스는 기존의 '소프트웨어 개발 생명주기(Software Development Life Cycle, SDLC)' 방법론에 비해 많은 장점들이 있으며 개발(Dev)과 운영(Ops)을 분리해왔던 오래된 전통인 SDLC 방법론을 뛰어넘을 수 있게 해줍니다.
뿐만 아니라 속도, 안정성, 배치 및 설정 관리 등 여러 가지 면에서 장점을 가질 수 있죠. 그 외에도 데브옵스는 스케일드 애자일 프레임워크(Scaled Agile Framework, SAFe)에도 필수적인데, 배치 사이즈의(batch size)의 소형화, 지연 시간의 단출, 빠른 피드백 등 SAFe의 많은 개념과 원칙들이 데브옵스에서도 사용될 수 있습니다.
깃허브(Github) – 소스 제어 관리(Source Control Management, SCM)
젠킨스(Jenkins) – 지속적 통합(Continuous Integration, CI)
나기오스(Nagios) – 경고 관리(Alert Management) 및 모니터링(Monitoring)
도커(Docker) – 컨테이너 관리(Container Management) 및 오케스트레이션(Orchestration)
엘라스틱서치(Elasticsearch) – 로그 분석(Log Analytics)
아이싱어(Icinga) – 분산 모니터링(Distributed Monitoring)
셰프(Chef) – 설정 관리(Configuration Management)
소스코드 제어.
: 새로운 버전의 시스템을 적절한 시기에 얻어낸다.
구축 및 테스트 자동화.
: 새로운 버전의 시스템에서 발견된 품질 관련 문제들을 모두 정리한다.
출시 자동화.
: 다수의 팀에서 수행되는 업무들을 자동화하고 서로 연결한다.
배치 및 모니터링.
: 버전 관리를 활용해서 개발 환경으로 새로운 버전의 시스템을 배포한다.