본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

"마이크로서비스 기반의 앱을 위한 데브섹옵스 구현" NIST 새 가이드

support 게시글 작성 시각 2021-11-02 15:00:12 게시글 조회수 3956

2021.10.29.
ⓒ ITWorld / Chris Hughes | CSO

 

미국 연방정부도 민간 기업과 마찬가지로 클라우드, 데브섹옵스(Devsecops), 그리고 클라우드 네이티브 애플리케이션을 위한 마이크로서비스 기반 아키텍처로 전환하는 중이다. 미국표준기술연구원(NIST)은 업계가 모범사례를 채택할 수 있도록 표준과 가이드를 제공하고 혁신을 장려한다.

이를 위해 NIST는 지난 9월 서비스 메시(Service Mesh)를 사용한 마이크로서비스 기반 애플리케이션을 위한 데브섹옵스 구현을 발표했다(800-204C). 데브섹옵스 구현, 그리고 마이크로서비스 아키텍처에 클라우드 네이티브 애플리케이션을 호스팅하기 위한 서비스 메시를 사용한 참조 플랫폼 사용에 관한 포괄적인 가이드다. 이 문서는 현재 초안 형식이며, 전 미공군 최고 소프트웨어 책임자인 니콜라스 챌라인과 서비스 메시 분야 선두업체인 테트레이트(Tetrate)의 협업으로 작성됐다.

이 가이드는 성공적인 데브섹옵스 구현을 위한 구성 요소라고 할 수 있는 프리미티브(primitive) 개념을 사용했다. 데브섹옵스 프리미티브는 민첩한 개발을 위한 마이크로서비스 기반 애플리케이션에 가장 적합하다. 또한 데브섹옵스가 클라우드 네이티브 애플리케이션에 필요한 비즈니스 민첩성 요구사항을 촉진한다는 개념도 지원한다. NIST 가이드의 각 세션 내용을 분석해 보자.

 

데브섹옵스 프리미티브 구현을 위한 참조 플랫폼
이 가이드는 컨테이너 오케스트레이션과 관리 플랫폼 맥락에서 참조 플랫폼을 다룬다. 예를 들어 분류된 또는 연결이 끊긴 엄격한 환경(물리적) 또는 AWS, 애저와 같은 클라우드 서비스 제공업체(CSP) 환경과 같은 가상화된 환경 등 물리적 또는 가상 기반 인프라 위에 구축하는 방식이다.

가이드는 컨테이너 오케스트레이션 및 리소스 관리 플랫폼 사용을 권장한다. 가장 인기 있는 오픈소스 컨테이너 오케스트레이션 플랫폼인 쿠버네티스(Kubernetes)가 대표적이다. 쿠버네티스는 컨테이너화된 애플리케이션을 호스팅하는 팟(pod)을 기반으로 물리적 또는 가상 머신에 배포할 수 있다. 쿠버네티스는 노드 그룹을 사용하고 팟을 호스팅함으로써 마이크로서비스를 위한 워크로드를 기반 인프라 전반에 분산해 로드 밸런싱과 확장을 지원할 수 있다.

물론 쿠버네티스 플랫폼에도 나름의 보안 및 성능에 대한 우려 사항이 있다. 그 가운데 하나는 라운드 로빈(round robin) 등 다양한 형식의 팟에 걸쳐 트래픽 분할 및 라우팅을 처리할 수 있어야 한다는 것이다.

이스티오(Istio)와 같은 서비스 메시 소프트웨어가 바로 그 목적으로 사용된다. 서비스 메시 소프트웨어를 사용하면 마이크로서비스 기반 애플리케이션에 필요한 트래픽 라우팅과 관찰 가능성을 대부분 확보할 수 있다. 서비스 메시 아키텍처는 데이터 평면과 제어 평면, 두 가지 주 요소로 구성된다. 두 구성 요소는 보안 네트워킹, 정책 시행, 트래픽 및 성능 관찰 가능성(데이터 평면), 키 및 인증서 관리와 인바운드/아웃바운드 연결 관리(제어 평면) 등의 기능을 수행한다.

 

데브섹옵스의 조직적인 준비, 주요 프리미티브, 그리고 구현
이 세션에서는 기관과 기업에서 데브섹옵스 구현을 준비하고 데브옵스에서 데브섹옵스로 전환하는 올바른 방법, 그리고 데브섹옵스의 구성 요소(프리미티브)에 대해 다룬다. 사실 이 세션이 문서의 가장 앞부분에 나와야 한다.

가이드는 데브섹옵스로의 전환을 촉진하기 위해 기업 IT 부서와 워크플로우에 대한 변화의 필요성을 강조한다. 기업에서 데브섹옵스를 달성하고 전통적인 사일로를 허물기 위해서는 개발자, 보안 전문가, IT 운영 전문가로 구성된 교차 직무 팀이 필수적이다.

NIST는 데브옵스에서 데브섹옵스로의 진화를 언급하며 데브옵스에는 전통적으로 보안 테스트와 보안 제어 통합 및 실시간 보안 태세 확인이 없다는 점을 강조한다. 많은 전문가가 데브옵스와 데브섹옵스가 동일하고 데브옵스는 항상 보안을 포함해야 한다고 말한다는 것을 감안하면 이는 흥미로운 주장이다. 이름에 포함된 용어, 아니면 결과와 방법, 무엇이 가장 중요할까?

어쨌든 핵심은 데브옵스에 없는 몇 가지 특정 핵심 구성 요소가 데브섹옵스에는 반드시 있어야 한다는 것이다. 여기에는 CI/CD 파이프라인에 보안 테스트를 통합하는 것과 파이프라인에서 진행되는 일을 파악하고 파이프라인 자체를 보호하기 위한 보안 제어를 확보하는 것, 그리고 보안이 별도의 작업으로 격하되지 않도록 하는 것이 포함된다. 보안은 개발 수명 주기의 끝에 '추가' 요소로 간주되는 경우가 많다.

이 가이드는 파이프라인에 대한 논의에 덧붙여 파이프라인이 코드를 빌드, 테스트, 보호하고 기업에 가치를 제공하기 위한 다양한 단계 전반에 걸쳐 흐르는 하나의 작업이 되어야 한다고 강조한다. 기업이 지속적 통합, 지속적 제공 또는 지속적 배포를 이행하는지 여부에 따라 테스트와 프로덕션 환경 배포 사이에 부가적인 수동 단계가 존재할 수 있다(그림 참조).

CI/CD는 궁극적으로 빌드/테스트, 전달/패키지, 배포의 세 가지 단계로 구성된다. 파이프라인은 CI/CD를 촉진할 수 있지만 작업과 엔티티 역시 파이프라인을 구성하는 요소이며 여기에는 소스코드 리포지토리 설정, 빌드 프로세스, 빌드 프로세스 보호, 배포 환경, 제공 파이프라인, 마지막으로 코드 테스트 및 파이프라인 워크플로우 실행이 포함된다.

CI/CD 파이프라인은 자동화와 신속한 배포를 지원하지만 NIST는 다양한 영역에서 여전히 사람이 개입한다는 점을 강조한다. 새로운 기능을 도입하는 개발 팀, 감사를 수행하는 보안 팀, 워크플로우를 촉진하기 위한 파이프라인을 설계하고 만드는 팀 등이 있다.

자동화는 데브섹옵스와 신속 제공을 구현하기 위한 중요한 구성요소다. 그러나 어떤 작업을 자동화해야 할지 결정하는 일이 쉽지 않을 수 있다. NIST 가이드에 따르면 빈도가 높은 반복적인 작업, 규정 준수 지향적인 작업, 그리고 시간 순서에 따른 활동에 집중해야 한다. 이 방식으로 자동화를 채택하면 팀은 일상적인 작업과 활동에 낭비되는 시간을 줄여 분석 문제 해결에 매진할 수 있다.
(후략)

 

[원문 기사 : https://www.itworld.co.kr/news/212799 ]

 

※ 본 내용은 한국아이디지(주) (https://www.idg.co.kr/)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒ 2020 International Data Group. 무단전재 및 재배포 금지. 

맨 위로
맨 위로