Ops는 개발과 운영의 협업을 넘어 다양한 IT 영역으로 확장되고 있습니다. 이번 콘텐츠에서는 머신러닝 개발과 운영을 효율화하는 MLOps, 그리고 개발과 운영 전 과정에 보안을 내재화하는 DevSecOps를 중심으로 변화하는 운영 문화와 관리 방식을 살펴보겠습니다.
- MLOps는 머신러닝 개발과 운영을 안정적으로 연결하는 방식입니다.
- DevSecOps는 개발과 운영 전 과정에 보안을 통합하는 개념입니다.
- Ops의 핵심은 협업, 자동화, 지속적인 개선 문화입니다.
Ops 총정리, 두 번째 이야기
이번 콘텐츠에서는 Ops 총정리 1탄에 이어 MLOps와 DevSecOps를 살펴보겠습니다.
DevOps가 개발과 운영의 협업, 그리고 그에 따른 사고방식과 문화의 변화를 나타내는 개념이라면, MLOps와 DevSecOps는 이러한 흐름이 머신러닝과 보안 영역으로 확장된 형태라고 볼 수 있습니다.
Ops 총정리 개요
MLOps란?
MLOps는 머신러닝의 개발과 운영에 필요한 과정을 최적화하기 위한 개념입니다.
DevOps가 고객에게 빠르고 안정적으로 서비스를 제공하는 것을 목표로 한다면, MLOps는 머신러닝 시스템을 고객에게 빠르고 안정적으로 전달하는 것을 목표로 합니다.
MLOps 개념 이미지 출처: Wikipedia
머신러닝(Machine Learning)은 인공지능의 한 분야로, 기계가 학습을 통해 의사결정을 지원하거나 결과를 도출하는 기술을 의미합니다.
머신러닝 모델은 데이터를 수집하고 학습한 뒤 실제 서비스에 적용되지만, 모델이 만들어지는 것으로 끝나지 않습니다. 운영 환경에서 모델 성능을 지속적으로 추적하고, 데이터 변화에 따라 다시 학습하고, 서비스에 안정적으로 반영하는 과정이 필요합니다.
자율주행 사례로 보는 머신러닝 운영의 어려움
이해를 돕기 위해 자율주행 자동차를 예로 들어보겠습니다.
머신러닝은 학습 데이터와 운영 환경에 따라 판단 결과가 달라질 수 있습니다. 출처: Pixabay
횡단보도를 지날 때에는 사람을 피해야 한다는 알고리즘을 만들고, 무수히 많은 사람의 형상 데이터를 학습시킨 자율주행 자동차가 있다고 가정해보겠습니다.
머신러닝 관점에서 이 자동차는 횡단보도를 지날 때 사람 또는 사람처럼 인식되는 물체를 피해서 주행할 것입니다. 하지만 실제 도로 환경은 훨씬 복잡합니다. 횡단보도에 사람이 아닌 다른 물체가 있을 수도 있고, 횡단보도가 아닌 곳에서 사람이 갑자기 나타날 수도 있습니다.
이처럼 머신러닝 모델을 만들고 운영하는 일은 쉽지 않습니다. 많은 데이터를 수집해야 하고, 상황에 맞게 데이터를 분석하고 분류해야 하며, 운영 중에도 모델의 성능과 판단 결과를 지속적으로 관리해야 합니다.
MLOps가 필요한 이유
MLOps는 머신러닝을 개발하고 운영하는 과정에서 발생하는 데이터 관리, 모델 성능 추적, 서비스 적용, 협업의 필요성에서 등장했습니다.
머신러닝 모델은 데이터의 품질과 변화에 큰 영향을 받기 때문에, 단순히 한 번 학습하고 배포하는 것으로는 안정적인 서비스를 유지하기 어렵습니다.
데이터 수집과 전처리, 모델 학습, 배포, 성능 모니터링, 재학습 과정을 하나의 운영 체계로 연결해 머신러닝 서비스를 안정적으로 관리합니다.
따라서 MLOps는 개발자, 데이터 과학자, 운영자가 함께 협업하면서 머신러닝 모델을 더 빠르고 안정적으로 서비스에 반영할 수 있도록 돕는 운영 방식이라고 할 수 있습니다.
DevSecOps란?
DevSecOps는 DevOps의 접근 방식에 보안을 뜻하는 Security의 Sec가 추가된 개념입니다.
즉, 개발과 운영으로 이어지는 소프트웨어 생명주기 전체에서 보안을 함께 고려하고, 보안 활동을 개발 및 운영 프로세스 안에 자연스럽게 통합하는 방식입니다.
DevSecOps 개념 이미지 출처: Dynatrace
기존에는 개발이 끝난 뒤 보안 검토를 별도로 진행하는 경우가 많았습니다. 하지만 서비스 배포 주기가 빨라지고 시스템 구조가 복잡해지면서, 보안 문제를 뒤늦게 발견하면 수정 비용과 운영 리스크가 커질 수 있습니다.
DevSecOps는 이러한 한계를 줄이기 위해 개발 초기 단계부터 보안을 함께 고려하고, 배포와 운영 과정에서도 지속적으로 보안 취약점을 점검하는 것을 목표로 합니다.
DevSecOps가 중요한 이유
고객사나 기업의 입장에서 사이버 공격은 언제나 위협적인 요소입니다.
서비스가 빠르게 개발되고 배포되는 환경에서는 보안 취약점도 빠르게 발견하고 조치할 수 있어야 합니다. DevSecOps는 보안 취약점에 빠르게 패치를 적용하고, 개발과 운영 과정에서 반복적으로 발생할 수 있는 보안 리스크를 줄이는 데 도움을 줍니다.
보안을 마지막 점검 단계로 미루지 않고, 개발부터 배포와 운영까지 이어지는 모든 과정에 포함해 지속적으로 관리하는 것입니다.
이를 통해 조직은 빠른 개발 속도를 유지하면서도 보안 수준을 함께 높일 수 있습니다. 또한 보안팀만의 업무가 아니라 개발팀과 운영팀이 함께 책임지는 보안 문화로 확장될 수 있습니다.
Ops가 향하는 방향
MLOps와 DevSecOps는 서로 다른 영역을 다루지만, 공통적으로 개발과 운영, 품질, 보안, 자동화를 하나의 흐름으로 연결한다는 특징을 가지고 있습니다.
서비스 환경이 복잡해질수록 특정 부서나 특정 단계에서만 문제를 해결하는 방식에는 한계가 있습니다. 이제는 개발, 운영, 보안, 데이터, 머신러닝이 서로 연결된 구조 안에서 함께 움직여야 합니다.
Ops의 핵심은 단순히 새로운 용어를 이해하는 것이 아니라, 더 빠르고 안정적으로 서비스를 제공하기 위한 협업과 자동화, 지속적인 개선 문화를 만드는 데 있습니다.
복잡해지는 IT 운영 환경을 더 안정적으로 관리하고 싶다면,
와치올의 통합 운영 관리 기능을 확인해보세요.