딜리버리 및 배포 툴체인: 여전히 '가장 약한 고리'의 법칙이 적용된다

F5 에코시스템 | 2017년 5월 11일

요즘은 어디를 가든 누군가가 DevOps를 지원하는 툴체인을 언급하는 것을 쉽게 들을 수 있습니다. 누구나 하나쯤은 갖추고 있으며(물론 저희도 마찬가지입니다), 이 모든 툴체인은 또 다른 API 경제를 기반으로 합니다. 위키백과에 따르면, DevOps 툴체인이란 “DevOps 방식을 사용하는 조직의 조율 아래 소프트웨어 개발 수명 주기 전반에 걸쳐 애플리케이션의 제공, 개발 및 관리를 지원하는 도구의 집합 또는 조합”입니다.

가장 약한 고리

지금까지는 주로 앱에 초점을 맞췄지만, 소프트웨어가 일반적으로 수명의 상당 부분을 보내는(적어도 그러기를 바라는) 프로덕션 측면도 있습니다. 이 경우에도 같은 정의를 적용할 수 있지만, 제가 보는 관점에서는 “DevOps 방식을 사용하는 조직의 조율 아래 앱 수명 주기 전반에 걸쳐 네트워크 및 앱 서비스를 프로비저닝하고 구성하며 관리하는 것”에 초점을 둔다는 점을 고려해야 합니다. 전통적인 DevOps의 맥락에서 이러한 초점은 주기 내 ‘릴리스’ 단계를 확장하며, 소프트웨어를 프로덕션 환경에 프로비저닝하고 배포하는 작업을 포함한 ‘릴리스 관련 활동’을 포괄합니다. 여기에는 대상 사용자에게 애플리케이션을 안전하고 보안이 유지된 상태로 제공하는 데 필요한 네트워크 및 앱 서비스가 반드시 포함됩니다(또는 포함되어야 합니다).

문제는 지속적 배포라는 이상적인 꿈을 실현하는 데 필요한 모든 도구를 단일 벤더나 오픈 소스 프로젝트가 제공하지는 못한다는 점입니다(참고로 지속적 배포는 프로덕션 영역에 해당합니다). 실제로 애플리케이션 개발 영역에서 사용하는 도구 중 일부는 프로덕션 영역에서도 사용됩니다. 최근에는 이 두 영역 간의 교류가 점점 늘어나고 있는데, 이는 전반적인 ‘DevOps’에 긍정적인 신호입니다. 애플리케이션 외에는 공통점이 거의 없고 전통적으로 각자의 영역에 깊이 뿌리내린 두 조직이 어느 정도 통합되고 있음을 보여주기 때문입니다.

따라서 Puppet 또는 Chef를 VMware 및 Cisco와 함께 사용하여 네트워크 및 애플리케이션 서비스의 전체 스택을 자동화함으로써 애플리케이션의 보안, ID 및 확장성 요구 사항을 지원할 수 있습니다. 이를 위해 필요한 템플릿과 스크립트를 만들고, 실험실의 가상 인프라를 대상으로 Postman과 그 스크립팅 기능을 사용해 테스트하는 등의 방법으로 정확성을 검증했을 수도 있습니다. 또한 git 은 애플리케이션 개발팀에서 이미 사용하고 있어 관련 지침을 제공하거나 한두 차례 교육 세션까지 진행할 수 있으므로 구성 아티팩트의 저장소로 적합하다고 판단했을 수 있습니다. 더 나아가 프로세스를 오케스트레이션하고 개별 서비스를 셀프서비스 방식으로 이용할 수 있도록 애플리케이션을 구축하거나 OpenStack 구현 환경을 마련하기 시작할 수도 있습니다. 즉, 배포 툴체인을 정의하는 것입니다.

바로 이 지점에서 ‘가장 약한 고리의 원칙’이 골치 아픈 문제로 떠오르기 시작합니다. 여러분도 그 전제는 잘 알고 있을 것입니다. 사슬의 강도는 가장 약한 고리의 강도에 의해 결정됩니다. 여기서 ‘강도’를 강조하는 이유는 이를 ‘신뢰성’, ‘보안성’, ‘확장성’ 같은 다른 특성으로 바꾸어도 이 원칙은 여전히 성립하기 때문입니다. 이는 지속적 배포를 지원할 도구 체인을 정의하기 시작할 때 매우 중요합니다. 그 체인의 각 ‘고리’가 장애 지점이 되어 보안, 확장성 또는 가용성이 저하될 수 있기 때문입니다.

DevNetOps 도구 체인

계획, 검증, 모니터링이 DevOps 도구 체인의 핵심 연결 고리인 것처럼 NetOps 도구 체인에서도 마찬가지입니다. 특히 프로덕션 환경에서 애플리케이션과 인프라(네트워크 및 애플리케이션 서비스)가 가장 많이 교차하는 모니터링 영역에서는 더욱 중요합니다. 장애가 발생했을 때 모니터링(가시성)을 통해 비즈니스 트랜잭션부터 개별 요청과 응답에 이르기까지 모든 요소를 종합적으로 파악할 수 있습니다.

구성 역시 필연적으로 툴체인을 서로 연결합니다. 네트워크 및 애플리케이션 서비스의 구성은 특정 애플리케이션에 고유할 수 있으며, 실제로 그런 경우가 많기 때문입니다.

패키징 및 릴리스 메커니즘은 유사한 도구를 활용할 수 있지만, 서로 별개의 사안이며 필요한 사항도 크게 다른 경우가 많습니다. 네트워크 및 애플리케이션 서비스는 공유 인프라에 배포될 수 있으므로, 단일 시스템 방식을 전제로 하는 도구는 NetOps에 적합하지 않을 수 있습니다. 반면, 표준화된 서비스를 프로덕션 환경에 신속하게 배포하기 위해 템플릿을 사용하는 사례가 점점 늘고 있지만, 애플리케이션마다 고유성이 매우 높은 DevOps에서는 템플릿을 적용하기 어려운 경우가 많습니다.

어쨌든 두 툴체인에는 한 가지 공통점이 있습니다. 바로 하나의 연결 고리가 취약하면 전체 체인에 악영향을 미친다는 점입니다. 스크립트를 활용하더라도 대부분 수동으로 진행되는 배포 방식에 의존한다면, 여전히 전체 전달 및 배포 프로세스를 나타내는 툴체인이 존재합니다. 오늘날에는 사람도 소프트웨어를 전달하고 배포하는 툴체인의 연결 고리가 될 수 있으며, 실제로도 그렇습니다. 그리고 밥이 최근 유행하는 독감에 걸려 자리를 비우는 것처럼 중요한 연결 고리가 빠지면 프로세스가 중단됩니다. 툴체인은 전달(또는 배포)에 실패합니다.

내부 디지털 혁신을 계속 추진해 나갈 때는 DevOps 및 NetOps 툴체인의 중요성을 인식하고, 이를 구성하는 어느 연결 고리도 간과하지 않는 것이 중요합니다. 지속적 배포라는 목표를 향해 나아가는 과정에서 단 하나의 연결 고리라도 주의를 기울이지 않으면 전체 체인이 약화됩니다. 비즈니스가 서로 연결된 이러한 체인에 점점 더 의존하게 되면서, 취약한 연결 고리는 단순히 프로세스만 중단시키는 것이 아니라 비즈니스 자체도 무너뜨립니다.

공유
태그: 2017

작성자 소개

Lori Mac Vittie
Lori Mac Vittie수석 엔지니어 겸 최고 에반젤리스트 | F5

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.

Lori Mac Vittie의 다른 블로그 게시물

관련 블로그 게시물

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5 에코시스템 | 2023. 07. 13.

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A

F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.

TLS 검사에서 피터 파커 원칙 다루기
F5 에코시스템 | 2019. 12. 09.

TLS 검사에서 피터 파커 원칙 다루기

“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.

Venafi와 F5를 통한 머신 아이덴티티 보호
F5 에코시스템 | 2018. 12. 11.

Venafi와 F5를 통한 머신 아이덴티티 보호

‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
F5 에코시스템 | 2018. 07. 23.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다

물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...

내 클라우드에서 나가!
F5 에코시스템 | 2016. 10. 12.

내 클라우드에서 나가!

F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.

Shift(웹 앱) 보안 레터
F5 에코시스템 | 2015. 07. 06.

Shift(웹 앱) 보안 레터

웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.