우리 조직의 DevSecOps 성숙도 수준은?

이번 글은 Datadog의 DevSecOps Maturity Model을 번역/편집하여 작성했습니다. Datadog은 SaaS 기반 데이터 분석 플랫폼을 통해 모니터링을 제공하는 데이터 관찰 서비스 기업으로, 10년 이상 14,000여 개사의 DevOps(지금은 DevSecOps) 전환을 지원하며 얻은 인사이트를 활용하여 어느 조직이든 쉽게 따라갈 수 있는 과정으로 구성된 DevSecOps 성숙도 모델을 구축했습니다.

참고자료: Datadog의 DevSecOps Maturity Model

DevOps에서 DevSecOps로

개발과 운영이 하나의 팀으로 묶여 운영되는 DevOps 문화가 정착되면서 소프트웨어의 개발 속도와 품질이 전보다 많이 개선되었습니다. 하지만 문화라는 것은 끊임없이 부족한 부분이 발견되고, 다시금 진보하기 마련입니다. DevOps 문화에서도 역시 부족한 부분이 발견되기 시작했습니다.

첫 번째 문제는 DevOps 팀의 관심이 기능과 성과에 집중되면서 보안이 간과된 것입니다. 두 번째 문제는 보안팀이 DevOps 팀과는 다른 별도의 문화와 프로세스를 갖게 되면서 전체적인 서비스 워크플로우에서 보안이 병목으로 작용하기 시작했다는 점입니다.

여기서 중요한 점은, 이러한 보안 문제들이 보안 자체에 대한 중요성이 높아질 때 발생한다는 것입니다. 인프라는 다양한 위협으로부터 지속적인 공격을 받습니다. 디지털 채널을 활용하는 비즈니스가 많아지고 공격에 노출된 지점이 증가하면서 기술적 리스크와 비즈니스 리스크가 함께 증가하고 있습니다.

보다 안전하고 신뢰할 수 있는 디지털 서비스를 제공하기 위해서는 DevOps 라이프사이클 전체에 걸쳐 보안 요소를 고려해야 합니다. 아래 그림은 DevOps 라이프사이클에 보안 요소를 반영한 DevSecOps 계층을 표현한 것입니다.

DevOps 워크플로우에 보안 요소를 통합하면 배포 속도와 소프트웨어 품질을 높이는 동시에 서비스 신뢰도를 강화할 수 있습니다. DevOps 문화의 강점을 충분히 활용하기 위해서는 DevOps 팀과 보안팀 간의 벽을 허물어야 합니다. DevSecOps란 DevOps와 다른 별개의 문화가 아니라 DevOps에서 진화된 버전이라고 할 수 있습니다.

DevSecOps의 비즈니스 가치

DevSecOps는 팀의 생산성과 협력성, 책임감을 높여 고품질의 안전한 소프트웨어를 신뢰도 높은 프로덕션 환경에 빠르게 배포할 수 있게 합니다. 이를 통해 실체 있는 비즈니스 가치가 창출됩니다. 

성숙도 모델의 DevSecOps 프랙티스를 도입하는 기업은 결과적으로 다음과 같은 4가지 효과를 얻을 수 있습니다.

  1. 빠르고 애자일한 배포 및 단축된 출시 기간
  2. 보안 태세 개선 및 리스크 감소
  3. 운영 및 개발 비용 절감
  4. 사용자 경험 및 만족도 개선

아래 표에서는 위의 4가지 효과를 통해 얻을 수 있는 비즈니스 가치를 자세하게 확인할 수 있습니다.

DevSecOps 전환을 위한 3가지 질문

디지털 환경에서 경쟁력 있는 속도와 품질을 갖추기 위해서는 DevSecOps로의 전환이 필수적입니다. 하지만 DevSecOps를 도입하는 것에는 많은 어려움이 따릅니다. DevSecOps로의 전환을 시작하기 위해서는 우선 다음과 같은 세 가지 질문에 대한 답을 내려야 합니다.

  • 우리 조직은 지금 어디에 있는가?
  • 우리 조직이 어느 수준까지 올라가길 원하는가?
  • 그  수준에 도달하기 위해서는 어떻게 해야 하는가?

이와 같은 질문에 대답하는 데 DevSecOps 성숙도 모델을 활용할 수 있습니다. 성숙도 모델이란 개인이나 집단의 효율성을 평가하고 성과 개선을 위해 필요한 역량을 찾아내는 데 도움이 되도록 만든 모형입니다.

그렇다면 3가지 질문에 답하기 전에 먼저 DevSecOps 성숙도 모델에 대해 알아보겠습니다.

DevSecOps 성숙도 모델

오늘 살펴볼 DevSecOps 성숙도 모델은 Datadog에서 개발한 모델로, 수천여 개사의 DevSecOps 전환을 지원하는 과정에서 관찰된 패턴을 기반으로 하고 있습니다. Datadog은 고객들과 함께 DevSecOps 성숙도 모델을 검증해왔으며, 최신 개발 트렌드를 반영할 수 있도록 지속적으로 업데이트하고 있습니다.

  • 4단계의 성숙도

DevSecOps 성숙도 모델에서는 각 역량에 대한 성숙도를 4단계로 구분합니다. 각 단계는 아래와 같이 정의합니다.

Beginner: DevSecOps 여정의 시작점으로 이 단계에서는 공유와 협엽을 강조하는 문화와 태도로의 전환이 시작되고, 팀으로서 성과 향상을 추구하게 됩니다. DevSecOps의 기초라고 할 수 있습니다.

Intermediate: 이 단계에서는 지속적으로 소프트웨어를 배포하긴 하지만 병목점, 성과 이슈, 팀 마찰 등과 같은 문제를 경험할 수 있습니다. 보안 관제가 개발 프로세스 초기로 이동하지만 보안 관련 많은 작업이 여전히 프로세스의 마지막 부분에 맞춰져 있어 배포 사이클이 늦어지고 코드 품질이 낮습니다.

Advanced: 이 단계에서는 효율성과 생산성이 높으며 신뢰할 수 있는 플랫폼에 고품질의 안전한 소프트웨어를 주기적으로 배포합니다. 보안 체크포인트는 소프트웨어 개발 라이프사이클 전체에 반영되어 있습니다.

Expert: 이 단계에서는 고품질의 코드를 하루에도 여러 번 배포합니다. 보안 관제는 소프트웨어 개발 라이프사이클 전체에 걸쳐 반영됩니다. 개발, 운영, 보안 전체에 걸쳐 매우 높은 수준의 프로세스 자동화가 구축되어 있다는 점이 핵심적인 특징입니다.

  • 6가지 역량

DevSecOps 성숙도 모델은 6가지 핵심 역량을 평가 지표로 삼고 있습니다. ‘People & Culture’를 제외한 5가지 역량은 DevSecOps 라이프사이클을 구성합니다.

아래 표는 DevSecOps 성숙도 모델의 6가지 역량에 해당하는 내용을 키워드로 나타낸 것입니다.

  • 역량별 단계 = 성숙도 모델

위에서 설명한 DevSecOps 역량을 단계별로 구분하면 DevSecOps 성숙도 모델이 완성됩니다. 아래 표는 역량별 단계의 핵심 내용만 간추린 것으로 보다 자세한 내용은 ‘부록: DevSecOps 성숙도 모델 세부사항’에서 확인할 수 있습니다.

다시 3가지 질문으로

지금까지 DevSecOps 전환을 통해 얻을 수 있는 비즈니스 가치와 DevSecOps 성숙도 모델에 대해 알아보았습니다. 그럼 이제 DevSecOps 여정을 시작하기 전에 답해야 할 3가지 핵심 질문으로 돌아가보겠습니다.

  • 우리 조직은 지금 어디에 있는가?

테크니컬 리더들은 본인이 속한 조직이 DevSecOps 단계에서 어디에 위치해 있는지 확인해야 합니다. Datadog에서는 아래 링크와 같이 DevSecOps 성숙도를 자체적으로 평가해볼 수 있는 온라인 평가 도구를 제공하고 있습니다. 평가 문항은 36개 질문으로 구성되어 있으며, 10분 정도 소요됩니다.

https://www.datadoghq.com/resources/devsecops-assessment/

온라인 평가 도구를 통해 자체 평가를 완료하면 아래와 같이 역량별 성숙도를 보여주는 레이더 차트와 함께 역량별 개선 지점을 대략적으로 확인할 수 있습니다.

  • 우리 조직이 어느 수준까지 올라가길 원하는가?

조직의 위치를 파악하고 나면 조직이 속한 산업과 비즈니스 목표를 고려하여 조직이 어떤 모습으로 발전하면 좋을지 결정해야 합니다. 성숙도는 Beginner > Intermediate > Advanced > Expert 순서로 발전합니다. 아래 표와 같이 현재 우리가 속한 단계와 향후 속하게 될 단계를 정의해볼 수 있습니다. 

DevSepOps 성숙도는 산업에 따라 달라질 수 있습니다. Intermediate 등급이 어떤 산업에서는 Beginner 등급이나 Advanced 등급이 될 수도 있기 때문에 등급을 정의할 때는 산업 분야도 함께 고려하는 것이 중요합니다.

진보는 단계적으로 이루어집니다. 1년 안에 한 단계만 높여도 매우 큰 성취일 수 있습니다. 수행해야 할 작업량에 따라 여러 개의 중간 목표를 두고 수년에 걸친 계획을 세워야 할 수도 있습니다.

DevSecOps 프랙티스는 계속해서 진화하고 있다는 점을 기억해야 합니다. 올해의 Advanced 등급이 내년에는 Intermediate 등급으로 내려갈 수 있습니다. 따라서 성숙도 모델을 최신의 상태로 유지하고 리더들도 최신 성숙도 모델에 따라 조직을 끊임없이 재평가해야 합니다.

  • 그  수준에 도달하기 위해서는 어떻게 해야 하는가?

DevSecOps 프랙티스에서는 사람, 프로세스, 기술이 모두 유기적으로 연결됩니다. 성숙도가 특별히 낮은 영역이 있을 경우 그 영역의 성숙도를 높이지 않으면 전체적인 성숙도를 높이는 데 많은 시간이 필요합니다. 따라서 탄탄한 기초 위에서 전체적인 성숙도를 높여 가려면 성숙도가 낮은 영역에 우선순위를 두는 것이 좋습니다.

또한 각 역량은 그 자체로 큰 주제이기 때문에 역량별 담당자를 지정하여 목표에 도달하기 위한 방법을 결정하는 것이 좋습니다.

성숙도 모델에 따라 다음 단계로 나아갈 때는 한 번에 한 단계씩 밟아가야 합니다. 각 단계를 건너뛸 수 있는 지름길은 없다는 점을 기억하는 것이 중요합니다.

부록: DevSecOps 성숙도 모델 세부사항

1. People & Culture

2. Plan & Develop

3. Build & Test

4. Release & Deploy

5. Operate

6. Observe & Respond

Leave a Comment