손을 들어보세요. 이 글을 읽고 있는 사람 중에 프로덕션 환경에서 OpenStack을 실행하고 있는 사람이 있나요? 프로메테우스? 아마도 Grafana 대시보드를 생성하고 계신가요? 깃허브. 깃랩. 나기오스. 젠킨스. 앤서블. 꼭두각시 기업?
어서, 손을 내리세요. 솔직히, 어차피 저는 그들을 볼 수 없잖아요.
이 불완전한 목록의 요점은 프로덕션 환경에서 애플리케이션을 배포, 관리, 모니터링하는 오픈 소스 솔루션이 12개 이상일 가능성이 있다는 것입니다.
2017년 가장 인기 있는 오픈소스 프로젝트 중 IT 운영 범주가 데이터 및 분석과 DevOps 지원 도구에 이어 상위 3위를 차지했습니다. 2018년 트렌드 ML, AI 및 반응형 앱을 타겟으로 하는 강력한 오픈소스 소프트웨어 중에서? 자동화를 위해 설계된 소프트웨어: Ansible (#3), 보안 관리: Vault(#7) 및 런타임에 애플리케이션 확장/라우팅: 쿠버네티스(#9). 운영에 중점을 둔 소프트웨어.
오픈소스 운영의 인기가 높아지는 이유 중 하나는 물론 DevOps의 영향과 클라우드 기반 아키텍처 도입 입니다. 후자는 완전히 작동하고 확장 가능한 애플리케이션을 제작하기 위해 인프라와 애플리케이션을 결합해야 합니다. 전자는 기업이 성장하는 애플리케이션 자본 포트폴리오에서 기대하는 가치 실현 시간을 실현하기 위해 지속적인 배포와 지속적인 전달을 원활하게 통합하는 수단으로 채택이 필요합니다.
예를 들어 NGINX Ingress Controller를 살펴보겠습니다. 말 그대로 무료이고 오픈 소스입니다. 그렇습니다. 이는 클라우드 기반 애플리케이션의 일부이지만 그 목적은 애플리케이션 요청을 라우팅하는 것 입니다. 일반적으로 이는 대부분 엔터프라이즈 네트워크 아키텍처에서 운영 기능입니다. 실제로 2년에 한 번 실시되는 CNCF 설문 조사의 마지막 결과를 살펴보면 NGINX가 응답자 기반에서 가장 많이 사용하는 유입 컨트롤러(64%)이고, 그 중 36%가 운영 역할을 맡고 있다는 것을 알 수 있습니다.
하지만 그게 인프라 운영이잖아요? 네트워크 운영은 어떠한가요? 글쎄요, 그들도 "운영"이고 오픈 소스 사용자이기도 하죠. 예를 들어 Ansible을 살펴보겠습니다. 문자 그대로 파이프라인을 실행하는 운영 소프트웨어로, 앱 인프라와 앱 서비스의 배포를 자동화합니다. 당사의 애플리케이션 서비스 현황 조사 에 따르면, NetOps를 포함한 모든 역할에서 자동화를 위해 Ansible을 사용하는 비율이 2018년 20%에서 2019년 23%로 증가했습니다. 여기에는 Chef, Puppet, OpenStack과 같은 경쟁 오픈소스 솔루션도 포함됩니다.
현실은 오픈소스 소프트웨어가 IT를 먹어치우는 소프트웨어를 먹어치우고 있다는 것입니다. 그리고 IT에는 운영이 포함됩니다.
오픈 소스를 향한 이러한 움직임이 미치는 중요한 영향은 일상적으로 IT를 운영하는 데 사용되는 소프트웨어에만 국한되지 않습니다. 또한 아이디어와 해결책이 공유되고, 협업되고 , 궁극적으로 동료들에 의해 소비되는 커뮤니티의 문화적 영향이기도 합니다. 이는 다른 사람들의 성공을 돕는 데 관심이 있는 열린 사고방식의 커뮤니티가 설계하고 개선한 템플릿, 구성 및 스크립트를 보관하는 개방형 저장소 의 성장에서 분명히 드러납니다.
애플리케이션 제공 속도와 확장성에 필요한 배포 아티팩트에 대한 커뮤니티 간 협업은 DevOps를 기업으로 확장하는 것과 같으며, 이 접근 방식과 관련된 방법론(예: Agile)이기도 합니다. 이러한 협력을 통해 궁극적으로 보안, 성능, 애플리케이션 가용성을 포괄하는 전체 아키텍처를 구축하기 위한 모범 사례와 사실상의 표준이 유기적으로 개발될 것입니다.
오늘날 운영 환경의 엄청난 복잡성을 감안할 때, 이러한 종류의 협업과 지원은 운영이 더 빠르고 안전하게 애플리케이션을 배포한다는 목표를 달성하는 데 필수적입니다.
운영 부서에서는 오픈 소스 솔루션을 도입하고 있어야 합니다. 그러나 이점을 완전히 실현하려면 운영진도 구현을 위한 구성, 템플릿, 모범 사례를 만드는 커뮤니티에 적극적으로 참여하고 기여해야 합니다.
오픈소스는 더 이상 단순히 코드를 만드는 것에 관한 것이 아니라, 그 코드가 고객에게 전달될 때 어떻게 패키징되고, 배포되고, 운영되는지에 관한 것입니다.
오픈소스는 운영에도 절대적으로 필요합니다.