데이터 센터 관련 논의의 중심을 차지하게 된 모든 기술이 그렇듯, 현재 DevOps도 정의에 대한 피로감에 시달리고 있습니다. 사실 이쯤 되면 피로를 넘어 탈진 상태라고 생각하지만, 둘 사이의 경계를 구분하기는 어렵습니다. 한마디로 DevOps는 클라우드나 SDN만큼이나 보편적으로 통용되는 정의가 확립되지 않은 상태입니다.
하지만 DevOps는 이를 구성하는 개념들 역시 자주 혼동되거나 동일시된다는 점에서 독특합니다. 예를 들어 CD는 ‘지속적 제공(continuous delivery)’ 또는 ‘지속적 배포(continuous deployment)’를 의미할 수 있습니다. 이 둘은 서로 다르며, 혼동하거나 동일시해서는 안 됩니다. Puppet Labs는 다음 블로그 게시물에서 그 차이를 훌륭하게 설명했습니다:

결정적인 차이는 프로덕션 배포가 ‘수동’(지속적 제공)인지 ‘자동’(지속적 배포)인지에 있다는 점을 알 수 있습니다.
문제는 ‘프로덕션에 배포’라고 표시된 작은 주황색 상자 안에 자동화해야 할 작업이 상당히 많다는 것입니다. 단순히 앱과 그 종속 요소(데이터베이스, 기타 서비스, 인프라 등)를 배포하는 것만이 아닙니다. 또한 해당 애플리케이션을 최종 사용자에게 제공하는 데 필요한 모든 네트워크 및 애플리케이션 서비스를 배포하는 것도 포함됩니다. 바로 이 지점에서 애플리케이션 서비스가 중요한 역할을 하며, 애플리케이션 딜리버리(개발 관점이 아닌 프로덕션 관점)가 지속적 배포 파이프라인에 포함됩니다.
지속적 배포 파이프라인에서 ‘프로덕션에 배포’ 단계를 자동화하려면 수많은 구성 요소를 프로비저닝하고 구성한 후 테스트해야 합니다. 여기에는 기본 네트워킹부터 보안(방화벽 등), 가용성(부하 분산), 성능(가속, 캐싱 등) 관련 서비스까지 모두 포함됩니다. 평균적으로 조직은 11가지 애플리케이션 전송 서비스를 사용하여 빠르고 안전하며 가용성이 높은 애플리케이션에 대한 요구를 충족합니다. 각 서비스는 배포(프로비저닝 및 구성)해야 하며, 일부 서비스는 다른 서비스가 먼저 배포되어야 합니다.
이러한 각각의 서비스에는 (함께 풀어보시는 분이라면 세인트 아이브스 수수께끼와 비슷합니다) 구성해야 할 특성이 저마다 다양하게 있으며, 옵션을 참 또는 거짓으로 설정하고, 알고리즘을 선택하고, 경로를 지정하는 등의 작업이 필요합니다…
다시 말해, ‘수동’에서 ‘자동’으로 전환하는 일은 말처럼 결코 쉽지 않습니다.
네트워크 구축이 지연되는 이유는 무엇일까요?
이러한 프로세스를 자동화하는 데 있어 큰 걸림돌은 공유 구성 요소와 앱별 구성 요소의 차이에서 찾을 수 있습니다. 애플리케이션 인프라 영역에서 코드형 인프라(Infrastructure as Code)가 가능한 이유는 웹 서버나 로드 밸런서 같은 인프라를 특정 애플리케이션 전용으로 할당할 수 있기 때문입니다. 즉, 해당 구성 파일은 일종의 마이크로서비스처럼 특정 영역에 국한되어 하나의 애플리케이션에 서비스를 제공하는 데 집중합니다.

네트워크와 애플리케이션 서비스의 세계로 넘어가면 항상 그런 것은 아닙니다. 예를 들어 라우터나 스위치는 본래 여러 애플리케이션에 연결 및 전달 서비스를 제공하도록 설계됩니다. 따라서 구성 파일에는 필연적으로 여러 애플리케이션이 포함됩니다. 버전 관리가 도움이 될 수는 있지만, 구성은 애플리케이션이 아니라 디바이스에 매우 밀접하게 연계되어 있다는 현실은 여전합니다. 애플리케이션 서비스와 보안도 마찬가지입니다.
따라서 우리 모두가 API가 곧 CLI인 세상으로 나아가는 것은 바람직하지만, 구성을 애플리케이션별로 관리할 수 있는 앱별(또는 앱 중심) 패러다임을 지원해야 할 필요성도 해결해야 합니다.
이는 서비스를 앱별로 배포하고 구성하는 마이크로서비스 방식의 네트워크 아키텍처로 전환해야 한다는 의미입니다. 이러한 방식은 전용 ‘장치’(가상 또는 하드웨어이며, 이 논의에서는 폼 팩터가 중요하지 않음) 또는 다음과 같은 앱별 구성의 형태로 구현할 수 있습니다. 템플릿.
이제 목표에 도달했을까요?
API를 활용해 애플리케이션별로 템플릿을 배포하는(즉, 코드형 인프라) 선언적 프로비저닝 및 관리 모델 덕분에 목표에 가까워지고 있지만, 아직 완전히 도달한 것은 아닙니다. 성공적인 지속적 배포를 완벽하게 구현하는 데 필요한 자동화를 어떻게 오케스트레이션할지 파악하려면 아직도 많은 작업이 남아 있습니다.
지속적 전달에서 지속적 배포로의 전환을 완성하는 데 핵심적인 ‘프로덕션 환경에 배포’ 단계를 ‘수동’에서 ‘자동’으로 전환하려면 네트워크, 인프라, 애플리케이션 서비스, 보안 사일로까지 포함해야 합니다. 이는 자동화 계층에서 더 많은 작업이 필요할 뿐만 아니라, 궁극적으로 프로덕션 환경에서 지속적 배포를 실현하는 프로세스 를 완전히 자동화하기 위한 전반적인 오케스트레이션도 필요하다는 의미입니다.
작성자 소개

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.
Lori Mac Vittie의 다른 블로그 게시물관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.