박기홍 베스핀글로벌 데브옵스 서비스 그룹장

▲ 박기홍 베스핀글로벌 데브옵스 서비스 그룹장

[컴퓨터월드] 디지털 트랜스포메이션(Digital Transformation)의 사전적인 의미는 디지털 기술을 사회 전반에 적용하여 전통적인 사회 구조를 혁신시키는 것으로 정의할 수 있다. 기업에서 사물 인터넷(IoT), 클라우드 컴퓨팅, 인공지능(AI), 빅데이터 솔루션 등 정보통신기술(ICT)을 플랫폼으로 구축·활용해 기존 전통적인 운영 방식과 서비스 등을 혁신하는 것을 의미한다. 디지털 트랜스포메이션을 위해서는 아날로그 형태를 디지털 형태로 변환하는 ‘전산화(digitization)’ 단계와 산업에 정보통신기술을 활용하는 ‘디지털화(digitalization)’ 단계를 거쳐야 한다.

기업이 제대로 디지털 트랜스포메이션화하면 그 기업은 엄청난 성장 잠재력을 갖게 된다. 디지털 트랜스포메이션은 여러 이점을 얻을 수 있지만 실질적으로 진행하는데 많은 어려움이 있다. 이러한 어려움을 인지하지 못한 채 트랜스포메이션이 가져오는 이점에 대한 기대감에만 빠져서는 안 된다는 것이다.

디지털 트랜스포메이션의 근본적인 개념과 전략은 사실 전혀 새로운 것이 아니다. 한 조직이 새로운 수익 구조나 새로운 비즈니스 모델을 추구하기 위해 기술을 어떻게 활용해야 하는지에 대한 노력은 1970년대 컴퓨터가 기업 활동에 적용되기 시작한 후부터 최근 디지털 시대에 이르기까지 지속적으로 진행되어 왔다. 신기술을 활용해 비즈니스 성과를 획기적으로 끌어올림으로써 비즈니스를 혁신이 이뤄져 왔던 것이다.

여기에서는 단순히 기대감으로 끝나지 않고 실질적으로 디지털 트랜스포메이션을 실현하기 위해 필수적으로 필요한 데브옵스(DevOps)가 어디로 나아가야 하는지 알아본다.


데브옵스, 입체적으로 그리고 다시 보기

최근 기업들의 데브옵스 도입이 증가하고 있다. 가트너의 조사에 따르면 올해 글로벌 기업 2,000곳 가운데 25%가 데브옵스를 도입해 활용할 전망이다.

기업들이 이처럼 앞다퉈 도입하고 있는 데브옵스의 의미는 무엇이고 실체는 무엇일까? 사전적인 의미로는 소프트웨어 개발 방법론의 하나로 개발(development)과 운영(operation)이 결합된 합성어라 할 수 있다. 데브옵스는 개발 담당자와 운영 담당자가 연계해 협력하는 개발 방법론인 것이다.

하지만 데브옵스는 애자일(Agile), CI/CD, CNA, MSA 등의 의미와 혼재돼 사용되고 있으며, 방법론으로서의 의미도 포함하고 있다. 데브옵스의 이러한 다양한 의미를 하나의 언어로 정의하는 것은 현재로서는 불가능에 가까워 보인다. 데브옵스의 실체를 알기 위해서는 실제 어떤 일을 하는지 구체적으로 살펴볼 필요가 있다.

▲ <그림 1> 데브옵스의 구성 요소

<그림 1>과 같이 데브옵스는 IT의 한 기능으로 동작하는 것이 아니며, 특정 한 기술에 관한 것도 아니다. 또한 데브옵스를 구현하기 위해서는 단순히 새로운 도구, 모델, 기술을 도입하기만 하면 되는 것도 아니다. 올바른 문화를 만들고 새로운 기술을 도입하는 등 IT의 변화에 투자해야 하며, 이 변화를 이끌어갈 적합한 팀이 필요할 뿐만 아니라 의미 있는 변화를 맞이할 준비된 조직적인 문화도 필요하다.


데브옵스의 핵심 요소는 문화, 과정, 자동화?

문제는 복합적으로 구성된 데브옵스로의 전환이 쉽지 않다는 것이다. 엔터프라이즈에는 기존 프로세스, 조직, 시스템, 사일로 시스템이 가득하고 조직 및 문화의 변화에 대한 저항이 있다. 그렇다면 어떻게 시작을 해야 할까?

첫째, 개발팀과 운영팀 사이의 업무 장벽을 제거하고, 단일 프로세스를 통한 협력을 기반으로 원활한 의사소통을 지원하도록 해야 한다. 하지만 데브옵스 개발과 운영의 융화, IT와 비즈니스의 융화는 데브옵스의 도입으로 인해 자동적으로 이루어진다고 생각해서는 안된다.

왜냐하면 사실 그 둘은 출발점이 서로 너무 다르기 때문에 융화가 어렵다. 이러한 문화를 개선하기 위해서는 경영층의 의지가 필요하다. 경영층이 변화의 필요성을 인식하고 데브옵스 도입의 목표를 명확히 정의하고 승인해야 한다. 또한 각 조직은 서로의 출발점이 다름을 인식하고 비즈니스와 고객에 대한 이해를 높여야 한다. 실제 실천은 아래로부터 위로의 상향식이 돼야 하며 이에 대한 경영진의 절대적인 지지도 필요할 뿐더러, 여기에 정통한 인재 후보군을 파악하고, 이들에게 필요한 교육과 지원을 제공해야 한다.

둘째, 데브옵스 과정은 애플리케이션 개발에서 배포/운영까지 전체 업무 절차를 프로세스화하고, 가시화 도구를 통해 사용자에게 프로세스 진행상황 및 알림 등을 제공해야 한다. 또한 데브옵스 구현에 필요한 기술, 시스템 구현/배포 프로세스 방법 등 다양한 방식을 스스로 파악할 수 있어야 한다. 구축된 하나의 프로세스로 모든 것을 처리할 수는 없다. 각 팀의 전문성을 이용, 최상의 토대를 구축해야 한다.

프로세스 구축 이후 무엇보다 중요한 것은 지속적인 커뮤니케이션이다. 데브옵스의 중요 특성 중 하나는 공동 책임이다. 개발자는 아무 생각없이 지시받은 기술을 구현하는데 그쳐서 안 되며 운영자 역시 단순 장애 리포팅 담당자가 되어서도 안된다. 운영자와 개발자의 적정한 역할 분배와 수행이 필요하다.

개발과 운영자 모두 개발에 대한 스킬을 보유할 수 있도록 해야 하며 데브옵스 환경 하에서 애플리케이션 라이프사이클을 전체적으로 파악하고 조직의 사일로를 제거하는 것에 목표를 두어야 한다. 다만 운영자는 장애 발생 후, 사후 분석 및 근본 원인 분석, 최대 시스템 가동 시간 지원 및 시스템 장애 제거 하는 업무에 초점을 맞추고 가용성, 가동 시간, 가동 중지 시간 등 고객에게 서비스를 제공하는 데 도움이 될 수 있는 기타 운영 요소 측정하여 관리해야 한다. 그리고 개발담당자는 장애 발생 전 상황에 중점을 두고 시스템 다운을 방지하는 데 집중하도록 해야 한다. 또한 CI/CD를 중심으로 소프트웨어 개발, 자동화 및 관련 도구를 다루는 데 능숙해야 한다.

이러한 모든 행위들이 이루어 질 수 있는 커뮤니케이션 경로를 모두에게 개방된 상태로 유지해야 하고 사일로를 무너뜨릴 방법, 생산적인 커뮤니케이션과 협력을 구현할 방법을 찾아야 한다. 전체 프로세스를 확인할 수 있어야 하고 모든 사람이 목표를 공유해야 한다는 것이다.

셋째, 애플리케이션 개발에서 배포/운영까지 프로세스 각 단계를 자동화해야 한다. 자동화 목적에 맞는 도구를 배치해 파이프라인을 구축하는 것이 중요하다. 인프라를 운영하는 것과 관련된 전문 지식과 툴은 무수히 존재한다. 조직의 프로세스에 가장 적절한 최신 툴을 도입해야 한다.

애플리케이션 개발에서 배포/운영까지 프로세스 각 단계의 자동화 목적에 맞는 도구를 배치하고 상호 연계를 통해 프로세스 보틀 넥(Bottle Neck)을 최소화할 수 있도록 해야 한다.

자동화는 속도와 통일성을 가져다 줄 수 있지만 가시성 또한 제공할 수 있어야 한다. 이러한 가시성은 비즈니스와의 연관성을 고려해 효율적인 인프라 자원 계획, 원가 모델을 제시하고 측정해야만 비즈니스 지표, 서비스 지표, IT지표를 효과적으로 관리할 수 있다.

특정 기간의 배포 또는 롤백의 횟수, 개발후의 피드백을 얻는데 소요되는 시간, MTTR, 운영 데이터 제공에 소요되는 시간, 배포 중 서비스 중단 시간 등이 관리 지표가 될 수 있으며 기업 비즈니스 목표에 따라 평가되어야 한다. 제공된 데이터 기반으로 분석하고, 평가하고, 변화를 추구하는 과정을 반복해야 진정한 데브옵스 체계를 구축할 수 있다.


왕도는 없고 정도는 있다

앞서 언급한 모든 것들은 사실 어려운 목표들이다. 조직 문화의 변화와 같이 클라우드 환경으로의 이전을 고려해야 하거나 개발 조직의 스킬(전문성과 역량) 구조를 사일로에서 MSA로 급격하게 바꾸거나 강화해야 할 수도 있으며 운영조직에는 코딩 스킬, QA에는 테스트 자동화 스킬을 가져와야 한다는 의미가 될 수 있다.

데브옵스의 출발점은 효율성을 높이고, 실수를 줄이기 위한 방편으로 자동화에 초점을 맞추는 것이 중요하다. 문화적인 변화를 제대로 달성하기까지 많은 시간이 필요하지만 매 단계에서 계속 평가를 해나간다면 올바른 방향으로 나아갈 수 있다.

이러한 복잡한 데브옵스의 중심은 CI/CD에 있다. 많은 조직에서 CI/CD를 어떻게 만들 것인가에 관심을 갖는 이유다. CI/CD 구축에 적합한 스킬, 툴, 튼튼한 개발 능력을 토대로 지속적인 통합, 배포, 테스트, 품질, 클라우드, 프로비저닝, 모니터링 등과 관련해 자동화로의 변화에 익숙해져야 한다. 데브옵스의 중심이 되는 CI/CD를 중심으로 하나하나 구축해 나간다면 진정한 데브옵스 체계를 구축할 수 있을 것이다.

비즈니스 민첩성을 확보하기 위해 IT 기술은 애자일에서 린(Lean)으로 또 데브옵스로 지속적으로 발전해 왔다. 많은 사람들은 비즈니스 민첩성에 대한 해결 방법을 알고 있으며 솔루션도 알고 있다. 그러나 그러한 해결 방법을 사용하고 솔루션을 도입한다고 문제가 해결되는 것은은 아니다. 데브옵스를 도입한다고 비즈니스나 IT가 자연스럽고 예측 가능한 방식으로 융합되지는 않는 것과 같다. 결국 ‘사람이라는 근본적인 장애물’이 문제가 되는 경우가 많다. 이것은 오랜 시간에 걸쳐 정말 큰 변화관리가 필요하다 할 수 있다.


손가락이 아닌 달을 보자

데브옵스의 핵심은 결국 비즈니스다. 비즈니스 환경은 언제나 변화하고 있고 살아 움직이고 있다. 데브옵스는 목표를 이루기 위한 방법(손가락)이며 결국 목표(달)는 비즈니스다. 데브옵스는 도입으로 끝나는 것이 아니다. 지속적으로 관리 돼야 하며 발전돼야만 목적을 달성 할 수 있다.

데브옵스 도입 이후 평가를 통해 기술로 인해 무엇을 얻었고 ROI는 어떤지를 평가해야 하며 검증을 해야 한다. 운영 전문 노하우와 평가, SLA 등의 관련된 지식도 꾸준히 쌓아야 하며 데브옵스 체계가 계속 진화를 할 수 있도록 관리가 돼야 한다. 데브옵스 전문 운영회사를 활용하는 것도 좋은 방법이 될 수 있다.

베스핀글로벌은 클라우드 전문기업으로 클라우드 네이티브를 위한 데브옵스로서 클라우드 네이티브 데브옵스를 지향하고 있다. ‘옵스나우’ 기반의 여러 서비스와 솔루션을 제공해 비즈니스와 연계된 IT의 자원, 비용, 커버넌스 등을 관리함으로써 진정한 IT의 가치가 비즈니스를 향하게 하는 방향키이자 동반자로서의 여정을 도와주는 솔루션과 서비스를 제공한다.

또한 클라우드와 데브옵스에 대한 수년간의 경험을 바탕으로 고객들이 클라우드 네이티브 애플리케이션을 개발하고 운영하기 위한 여정에 통합 서비스와 솔루션을 제공하며, 이를 이용하는 고객이 비즈니스 변화에 잘 대응하고 시장에서 좀 더 효과적으로 경쟁할 수 있도록 돕고 있다.

고객의 비즈니스와 클라우드 네이티브 데브옵스는 지속적인 개선, 자동화, 부서 간 협업 및 고객 요구 사항을 만족시키기 위해 비즈니스 요구에 보다 잘 부합하는 일련의 사례와 원칙을 통해 다음과 같은 서비스를 제공하고 있다.

■DevOps Maturity Assessment
■DevOps Practice Coaching
■DevOps Practice Engineering
■Cloud Native Application Lifecycle Automation
■Continuous Process and Infrastructure Development
■Automated Infrastructure Provisioning (IaC)
■Right-mix of Automation Tools (toolchain)
■Configure Automatic Alert and Log Management (Monitoring)
■Environment setups and ongoing management including infrastructure security(DevSecOps)
■Continuous Integration and Continuous Delivery (CI/CD)
■Performance Optimization and Stress Testing
■Microservice Architecture Consulting

먼저, 데브옵스 진단 프로세스와 도구를 통해 현 조직의 수준을 확인하고, 요건에 맞는 실질적인 데브옵스 도입 가이드를 제공한다. 변화에 대한 조직의 대응 역량을 높이기 위해 자동화된 CI/CD 파이프라인 구축과 표준 딜리버리 셋 구축을 통해 데브옵스를 조직에 빠르게 도입한다.

애자일, MSA, 12 팩터 애플리케이션, API, 컨테이너, k8s, 멀티-테넌시 등에 대한 전문가적 역량과 풍부한 경험을 바탕으로 서비스 추가에 대한 빠른 대응을 위해 클라우드 네이티브 애플리케이션을 개발하고 운영한다.

코드에 의한 프로비저닝과 배치 관리를 통해 형상을 관리하고, 작업 실행을 위한 워크플로우 서비스를 통해 서비스별 프로세스 및 작업수행을 자동화한다. 그리고 소스 코드, 보안, 기능 및 성능 등에 대한 테스트 자동화를 테스트 환경에 적용해 개발 및 운영에 이르는 배포주기를 줄이고 품질 문제를 최소화한다.

다양한 산업 혹은 CSP별로 고객 상황에 맞는 CI/CD 툴체인을 고객이 직접 선택할 수 있으며, 표준화된 툴 체인을 저렴한 비용으로 빠르게 구성할 수 있도록 자동화해 제공한다. 개발 및 운영 중인 서비스에 대한 가시성과 데이터 수집을 통한 인사이트를 제공하며 문제 상황을 서로 투명하게 공유해 문제 발생에 대한 영향을 최소화하고 신속하게 서비스를 복구할 수 있게 한다.

하이브리드 클라우드 환경에서 서버리스를 포함한 인프라와 애플리케이션에 대한 모니터링을 제공할 수 있으며, 복잡하고 다양한 이벤트 발생을 한 곳에서 통합하고 그에 따른 발생을 SNS, 전화, SMS 등을 통해 전달할 수 있게 한다. 단계적인 다양한 처리 프로세스를 개인별, 팀별 혹은 스케줄에 따라 설정할 수 있는 이벤트 통합 관리 솔루션을 제공한다. 그리고 이 모든 데브옵스의 가치요소들이 고객의 비즈니스에 어떻게 기여하고 있는지를 비즈니스 대시보드를 통해 가시화한다.

많은 기업들이 데브옵스 자체 효율성을 높이는 부분에만 신경을 쓰고 그 부분이 비즈니에 실질적으로 얼마나 기여했는지에 대해서는 소홀하는 경향이 있다. 베스핀글로벌의 데브옵스는 고객의 비즈니스와 결합된 IT의 투자와 효용성에 관련된 다양한 인사이트와 신속한 의사결정이 가능하도록 지원함으로써, 고객의 비즈니스 가치를 높이고 시장의 변화에 적응하는 것은 물론 선도하는 것에 초점을 두고 있다. 비즈니스를 위한 핵심 가치로서의 데브옵스의 진화는 이제 선택이 아니라 필수다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지