DevOps란 무엇인가요?
DevOps는 개발자와 운영 엔지니어 간 역할의 융합을 포괄적으로 일컫는 용어입니다. 데이터베이스 관리자, 시스템 관리자, 소프트웨어 엔지니어와 같은 역할 간의 경계가 허물어지면서, 이들 모든 분야의 책임이 교차하고 제품 수명 주기에서 서로 간의 연관성이 점차 커지는 현상을 설명하기 위해 DevOps라는 용어가 등장했습니다. 이러한 움직임을 가능하게 하는 핵심 요소는 대규모 애플리케이션의 빌드, 배포 및 모니터링 과정에서 자동화 활용이 확대된 것입니다.
DevOps 문화
클라우드 배포와 가상 인프라가 보편화되면서 대규모로 운영되는 기업들은 개별 서버보다 가상 호스트 및 서비스 그룹을 관리하는 데 더 중점을 두고 있습니다. 이러한 차이를 설명하기 위해 흔히 사용되는 비유가 바로 “애완동물을 돌보는 대신 가축을 관리한다”는 것입니다. 기존의 애플리케이션 제공 아키텍처에서는 각 팀이 인프라의 특정 부분만 관리합니다(데이터베이스 관리자는 데이터베이스 서버만 관리하고, 릴리스 엔지니어와 운영 담당자는 애플리케이션 서버만 관리함). 반면 DevOps 문화에서는 모든 구성원이 DevOps 도구를 사용할 수 있으며 제품의 모든 측면을 모니터링합니다.
DevOps 문화를 갖춘 기업은 지속적 통합 및 배포 모델을 사용하는 경향이 있으며, 릴리스 프로세스를 최대한 자동화하고 특정 제품을 담당하는 모든 팀이 코드와 책임을 공유하는 데 중점을 둡니다. 조직 전반에 DevOps를 도입하는 것은 일반적으로 애자일 개발로 나아가고 마이크로서비스로 전환하려는 더 큰 변화의 일부입니다. 이러한 구조적 변화와 더불어 NGINX Plus, Puppet, Chef 같은 모니터링 및 배포용 DevOps 도구를 사용하면 제품 담당자 모두가 코드 개발 및 테스트부터 데이터베이스와 애플리케이션 서버에서의 실제 운영에 이르기까지, 제품을 반복적으로 개선하면서 전체 배포 주기를 이해할 수 있습니다.
DevOps 구성 요소
DevOps라는 용어 자체는 ‘개발(Development)’과 ‘운영(Operations)’을 결합한 말이지만, 실제로는 이 두 역할보다 훨씬 더 넓은 범위를 포괄합니다. 개발 측면에서는 제품 설계부터 코드 개발에 이르는 다양한 사안을 통합합니다. 개발자는 자신의 코드가 어디에 어떻게 배포되는지를 더욱 주도적으로 관리합니다. 운영 측면에서 DevOps는 제품이 실행되는 플랫폼과 인프라부터 보안에 이르기까지 다양한 사안을 다룹니다. 결과적으로 이전에는 분리되어 있던 애플리케이션 개발 및 유지 관리 영역 간의 소통과 통합이 더욱 원활해집니다.
NGINX Plus는 어떻게 도움이 될까요?
NGINX Plus와 NGINX는 Dropbox, Netflix, Zynga와 같이 트래픽이 많은 웹사이트에서 사용하는 업계 최고의 웹 서버 및 애플리케이션 전송 솔루션입니다. 전 세계 3억 5천만 개의 웹사이트가 콘텐츠를 빠르고 안정적이며 안전하게 전송하기 위해 NGINX Plus와 NGINX Open Source를 사용합니다.
- NGINX Plus와 클라우드 배포는 서로 밀접한 관련이 있습니다. 전체 AWS 애플리케이션 구현의 약 40%에서 NGINX 또는 NGINX Plus를 사용합니다.
- NGINX Plus는 강력하고 사용자 지정 가능한 모니터링 기능을 제공하여 애플리케이션 상태에 대한 실시간 피드백을 제공하며, 배포 파이프라인에 통합할 수 있는 시스템 친화적인 JSON 형식의 상태 메트릭 피드도 지원합니다.
- 지속적 배포 프로세스에서 여러 클라우드 인스턴스를 재구성해야 하는 경우, NGINX Plus는 백엔드 서버 그룹의 동적 재구성 기능을 제공하므로 구성 파일을 수동으로 다시 작성하고 로드하지 않고도 백엔드 서버 검색을 자동화할 수 있습니다.
- 소프트웨어 로드 밸런서인 NGINX Plus는 더 뛰어난 유연성과 구성 가능성을 제공하므로 Chef 및 Puppet과 같은 다른 최신 DevOps 도구를 사용하여 구성을 관리하고 자동화할 수 있습니다.

