클라우드 시대 기업 경쟁력 강화 방안 ‘데브옵스’ (1)
상태바
클라우드 시대 기업 경쟁력 강화 방안 ‘데브옵스’ (1)
  • 윤현기 기자
  • 승인 2019.08.10 08:59
  • 댓글 0
이 기사를 공유합니다

수평적인 기업 문화·적절한 자동화 도구 필요…CI/CD·업무 자산화에도 강점

[데이터넷] IT의 역할이 현업 부서 지원에서 점점 비즈니스 대상 그 자체로 바뀌고 있다. 이 같은 디지털 전환 추세로 인해 IT 조직은 고품질 서비스를 저렴한 비용으로 더 빠르게 출시해야 하는 부담을 갖게 됐다. 이에 서비스 개발과 운영을 데브옵스(DevOps)가 거론되고 있으며, 실제로 클라우드 서비스 기업들은 이를 통해 개발과 운영 간의 불균형 문제를 해결해나가고 있다. 데브옵스는 무엇이고 또 어떻게 해야 하는지에 대해 살펴본다. <편집자>

소프트웨어 개발과 서비스 운영 간 불협화음은 비단 어제 오늘만의 일이 아니다. 운영 팀은 안정적으로 구동되는 시스템에 변화를 주는 것을 원하지 않는다. 반면 개발 팀은 새로 개발된 결과물이 빠르게 서비스되기를 원한다.

만약 개발이 끝난 새로운 소프트웨어(서비스)가 배포됐을 때 장애가 발생하면, 양쪽 모두 상대편에게 책임을 전가하는 모습을 쉽게 볼 수 있다. 개발 팀은 서비스 운영이 제대로 되지 않았다고 여기며, 운영 팀은 개발 결과물에 문제가 있는 것으로 생각한다. 이처럼 서로 상대편 탓을 하게 되면 기업의 신규 서비스 배포·운영이 원활하게 이뤄질 수 없다.

2000년대 이후 인터넷을 기반으로 하는 사업 모델들이 등장하면서, IT서비스 품질이 점차 기업의 사업 성패를 결정짓는 요소로 떠올랐다. 대표적인 사례가 인터넷전문은행인 카카오뱅크다. 카카오뱅크는 오프라인 영업점이 없으며, 모바일 애플리케이션을 통해 다양한 금융 서비스를 제공한다. 그렇기에 서비스 품질이 가장 중요하며, 시스템 오류로 인한 서비스 중단 등의 문제가 발생하더라도 이를 빠르게 해결해야 고객 이탈을 최소화할 수 있다.

그러나 전통적인 서비스 개발·배포 방식으로는 카카오뱅크와 같은 사업 모델을 유지하기 힘들다. 수시로 변화하는 서비스 이용자 요구사항에 빠르게 대응해야 하지만, 개발과 운영 조직 간 대립은 그 속도를 더디게 하기 때문이다.

개발·운영 조직 통합 위한 ‘데브옵스’ 부상

민첩한 서비스 개발·배포는 기업 경쟁력 강화에 필요한 핵심 요소가 됐다. 이에 개발과 운영을 병행하는 ‘데브옵스(DevOps)’가 점차 각광받고 있는 추세다. 데브옵스는 그 이름에서 알 수 있듯이 개발(Dev)과 운영(Ops)이 합쳐진 개념으로, ‘개발된 소프트웨어(또는 코드)를 서비스로 반영하기 위한 효과적인 일의 방법’으로 풀이된다. 개발 팀과 운영 팀이 하나의 목표를 위해 상호 의존적인 문화를 갖추는 것이 핵심이며, 각기 본연의 일에 집중함으로써 결과적으로 서비스 품질이 높아지는 효과를 얻는다.

데브옵스 개념이 등장한 것은 이미 20여 년 전의 일이다. 그러나 초기에는 개발과 운영의 역할이 명확히 구분되면서 두 조직이 마치 물과 기름처럼 섞이기 어려웠지만, 최근 들어 클라우드와 같은 새로운 환경이 등장하면서 다시금 주목받고 있다.

소프트웨어 개발 주기는 일반적으로 서비스 계획·요구 관리부터 시작해 이를 개발하고(구현), 간단한 빌드와 테스트를 거쳐 이상이 없을 시 실제 운영 서버에 배포하는 단계로 이뤄진다. 그 안에는 개발과 운영 과정이 포함돼 있으며, 전통적인 개발 환경에서는 개발 팀과 운영 팀의 역할이 명확하게 구별됐다. 그렇기에 문제 발생 시 팀 간 대립이 발생할 수밖에 없었다.

그러나 클라우드 환경이 확산되면서 개발자들도 클라우드 서비스에서 제공하는 API 등을 활용해 운영 환경을 통제할 수 있게 됐으며, 전문적인 운영 지식을 보유하지 않아도 서비스 운영이 가능해질 정도가 됐다. 이처럼 개발과 운영 간 경계가 희미해지자 조직 간 융합을 필요로 하는 데브옵스에 대한 기대감이 높아지고 있다.

개발·운영 문화 변화 촉진

새로운 서비스를 개발해 배포하기까지 여러 단계가 있으며, 각 단계별로 담당자들이 수행하는 역할이 있다. 주로 정해진 규칙에 의해 명령어를 입력해 배포하고, 서버를 내렸다 올리는 과정이 대부분이다. 이러한 작업들은 명확하게 정해져 있으며, 대부분 반복적으로 이뤄진다.

데브옵스는 바로 이렇게 반복되는 일들을 자동화시켜서 담당자들의 업무 부담을 낮추고, 이들이 보다 서비스 품질을 높이는데 집중할 수 있도록 돕는 것을 목적으로 한다. 이를 통해 서비스 이용자는 빠른 시간 내 원하는 서비스를 이용할 수 있어 사용자 경험이 좋아질 수 있다.

따라서 개발 팀과 운영 팀 모두 서로 대립각을 내세우기보다 상호 의존적인 입장에서 하나의 팀이라는 자각이 중요하다. 물론 이는 결코 쉬운 일이 아니다. 오랫동안 으르렁대던 사이가 하루아침에 좋아질 수는 없기 때문이다.

특히 데브옵스는 국내에 만연해 있는 SI 위주의 개발 방식을 변화시키는데도 일조하고 있다. 그동안 우리나라에서는 IT가 사업을 지원하는 부수적인 도구로 여겨져 왔던 만큼, 기업들은 비용 절감을 위해 IT를 외주업체에 위탁(Outsourcing)하는 경우가 많았다. 필요할 때마다 사업을 발주하는 것이 직접 IT 부서를 운영하는 것보다 비용을 절감할 수 있었기 때문이다. 그 결과 소프트웨어 개발 역량이 없는 기업은 모바일 앱을 필요로 하더라도 직접 개발하지 않고 사업을 발주해 외주업체에 맡기는 형태가 지속돼 왔다.

이는 기업들에게 비용절감 효과를 제공했지만 그 대신에 개발 역량을 갖출 수 없게 만들었다. 그러다보니 빠른 서비스 배포를 필요로 할 때도 외주업체의 개발 역량과 속도에만 의존할 수밖에 없었으며, 글로벌 기업과 같은 무중단 수시 코드 배포와 같은 행위는 꿈도 꿀 수 없게 돼버린 것이다.

하지만 현업에서 IT 조직에 요구하는 것은 점점 다양해지고 있으며, 카카오뱅크와 같은 서비스는 앱 자체가 사업 모델이자 자산이기 때문에 기업들은 언제까지고 IT를 외주에 맡길 수 없는 상황에 이르게 됐다. 그뿐만 아니라 데브옵스 적용으로 인한 소프트웨어의 빠른 개발과 배포의 이점을 알게 되면서 점차적으로 이를 사내에 적용하기 위한 관심들이 커지고 있다. 

▲ 오픈소프트랩 ‘루나 옵스’ 워크플로우 마법사 화면

단계별 이슈 관리·CI/CD 자동화 구현 중요

데브옵스에는 애자일(Agile) 개발 방법이 빠질 수 없다. 애자일 개발은 전통적인 폭포수(Waterfall) 개발 방법이 앞 단계가 완료되기 전까지 다음 단계로 진행하지 못 하거나 개발 후반부에나 결과물 확인이 가능하다는 단점을 극복하기 위한 방안으로, 짧은 주기 동안 개발하고 피드백을 받는 과정을 반복하는 개발 방식이다. 이는 소프트웨어 개발 중간에도 요구사항에 맞춰 변화하기 쉬우며, 실제로 원하는 결과물을 얻기에도 용이하다.

이런 애자일 개발 방법론에 입각해 본격적인 개발에 돌입하기에 앞서 갖춰야 할 것은 이슈추적시스템(ITS) 혹은 IT서비스 관리(ITSM)이다. 데브옵스 전체 라이프사이클의 한 영역을 담당하는 ITS 및 ITSM은 고객, 사용자, 관리자 등 다양한 사람들의 접점이 되기 때문에 무척 중요한 부분이라 할 수 있다. 작게는 사업이 어떤 과정을 거쳐 처리됐다는 기록관리 역할에서부터 어떠한 이슈를 처리하는데 실제로 구현했던 소스코드는 무엇인지, 개발된 요구사항 이슈가 실제 운영 서버에 배포된 이후 성공했는지 혹은 실패했는지 등 모든 내역이 연쇄적으로 기록돼야 데브옵스를 구현할 수 있기 때문이다.

이에 ITS 및 ITSM이 활용되며, 전 주기에 걸쳐 적용하려면 각 단계별로 분절이 발생해서는 안 된다. 데브옵스 시스템들은 각 단계마다 그 역할을 수행하는 오픈소스 혹은 상용 제품들을 배치하고 커넥트를 통해 연결함으로써 하나의 시스템으로 동작할 수 있도록 한다. 현재 소스코드 버전관리 시스템으로는 SVN, 깃(Git) 등이, ITS로는 지라(Jira), 레드마인(Redmine) 등이 전 세계적으로 많이 사용되고 있다.

또한 지속 통합(CI)과 지속 배포(CD)는 데브옵스에서의 핵심 단계이자 자동화 도구를 활용해 효율을 높일 수 있는 부분이다. 반복적으로 진행되는 업무를 자동화시킴으로써 실제 업무 담당자들의 부담을 줄여줄 수 있으며, 이들이 서비스 개선에 집중할 수 있도록 할 수 있기 때문이다.

이전 단계가 소프트웨어 레벨의 데브옵스였다면, CD/CD 자동화 구현은 인프라 레벨의 데브옵스로 분류된다. 여기에는 가상화된 컨테이너를 서버에 탑재시켜 서비스를 빠르게 개발하고 배포할 수 있도록 돕는 쿠버네티스(Kubernetes)와 오픈시프트(Openshift) 등이 대표적이다. 현재 국내에서도 쿠버네티스를 포함한 인프라 레벨의 데브옵스가 주로 논의되고 있다.

기업 업무 자산화

데브옵스를 위해 ITS·ITSM 등을 활용하게 되면 업무 프로세스와 그 처리과정 등이 고스란히 녹아들어가기 때문에 기업 입장에서는 업무를 자산화할 수 있다는 장점도 있다.

과거 인프라 환경에서는 초기에 소프트웨어를 개발한 후, 문제가 발생하면 수정하는 방식으로 변화관리를 했다. 그런데 변화시킨 것들을 잘 기록해두고 기억하면 다행이지만 시간이 지남에 따라 이를 잊어먹거나 기록이 유실되기도 한다. 특히 소프트웨어 개발 담당자가 퇴사했을 경우 더더욱 이를 관리하는 것은 어려워진다. 다른 개발자가 보더라도 원 개발자가 어떤 의도로 어떤 코드를 활용했는지 알 수 없기에 쉽사리 손을 대지 못 한다.

하지만 ITS·ITSM을 활용해 그 모든 과정을 확인할 수 있다면 이슈 발생 시 전임자에게 전화를 걸어 물어보는 수고를 덜 수 있으며, 후임자도 그 과정을 따라해보며 자연스럽게 업무 노하우를 체득할 수 있다.

자산화는 결국 데이터가 축적된다는 것을 의미한다. 쌓인 데이터에서 유의미한 인사이트를 도출할 수도 있다. 이에 인공지능(AI) 등이 가미돼 변형된 데브옵스 형태인 AI옵스(AI Ops)가 등장하기도 했다. AI가 학습해서 반복되는 내역은 정형화 될 수 있으며, 이를 활용해 사람이 처리하던 업무를 AI가 앞단에서 제시하거나 반복된 업무를 도출해 자동화 스크립트를 추가하는 방식으로도 활용된다.

손쉬운 데브옵스 구현 지원

아무리 작은 조직이라도 직원이 휴가를 신청하면 결재가 떨어져야 갈 수 있다고 정해져있는 것과 마찬가지로, 업무에도 필요한 프로세스가 존재한다. 프로세스가 세밀하게 정해져있는 경우도 있겠지만, 비공식적이면서도 암묵적으로 정해진 프로세스도 있을 수 있다.

데브옵스 및 애자일 프로젝트 관리 솔루션 전문기업 오픈소프트랩이 공급하는 ‘루나 옵스(LUNA OPS)’는 오프라인에서 정의된 업무 프로세스를 누구든지 마우스를 활용해 드래그 앤드 드롭만으로 간단하게 만들 수 있으며, 해당 프로세스로 업무를 할 수 있도록 지원하는 워크플로우 마법사 기능을 제공한다.

데브옵스가 하나의 문화이자 여러 사람이 함께 활용하는 툴인 만큼 직관적인 UI/UX가 중요하다. 해외 유명 제품들은 수평적인 문화를 바탕으로 하고 있기 때문에 확인할 수 있는 데이터가 대부분 표나 텍스트 위주로 구성된 것들이 많다. 즉, 함께 일하는 사람들이 상세하게 보고 공유할 수 있도록 한 것이다. 

▲ 오픈소프트랩 ‘루나 옵스’ 구성도

오픈소프트랩은 문화 차이로 국내에 애자일과 데브옵스 정착이 늦은 것을 감안해 사용자별로 쉽고 직관적으로 이용할 수 있는 UI/UX를 구현하는데 초점을 맞췄다. 업무 담당자들이 정리된 표와 그래프를 보는 것에 익숙하고, 상급 관리자들은 문제가 발생했을 경우 빠르게 파악하는 것을 중요시한다는 점에 착안했다.

아울러 각 데브옵스 라이프사이클마다 활용 가능한 도구에 오픈소스와 연계가 가능하도록 함으로써 특정 제품군에 종속될 일을 애초에 차단했다. 가령 특정 단계에서 사용하던 제품을 교체하고 싶더라도 그와 연계된 단계에서 활용되는 제품이나 추가적인 비용 문제로 인해 그대로 종속되는 경우도 발생한다. 이는 비단 소프트웨어 개발뿐만 아니라 IT 분야 전반에 걸친 문제이기도 하다.

그뿐만 아니라 루나 옵스는 IT서비스 관리 일부 영역도 지원하며, 내년에 새롭게 발표될 ‘IT 인프라스트럭처 라이브러리(ITIL: IT Infrastructure Library) v4’도 지원 가능하다.

한편, 오픈소프트랩은 아직 소프트웨어 레벨의 데브옵스가 국내에서 제대로 활성화되지 못했으면서도 인프라 레벨의 데브옵스가 만연해있다는 점을 지적했다. 이는 마치 알파벳을 모르면서도 영어 공부를 하는 것과 마찬가지라며, 국내에서도 소프트웨어 레벨의 데브옵스가 정착될 수 있도록 노력하겠다고 밝혔다.

오픈소프트랩, 연세의료원에 데브옵스 솔루션 공급
   
▲ 오픈소프트랩 루나 옵스 제품 패키지

오픈소프트랩은 연세의료원 커넥트AI(CONNECT-AI) 사업단에 프로젝트 및 이슈 관리 총괄 솔루션으로 자사 ‘루나 옵스’를 공급하는데 성공했다.

커넥트AI 사업단(단장 장혁재 교수)은 국가로부터 180억원을 지원 받아 3년간 대형병원 및 기업, 대학연구소, 정부출연연구소, 공공기관 등 20곳 이상의 기관들로 구성된 ‘5G·AI 기반 응급의료시스템’ 개발을 추진한다.

오픈소프트랩의 ‘루나 옵스’는 데브옵스 기반의 프로젝트 관리 솔루션으로, 프로젝트의 모든 이슈·문서·소스코드 관리 및 배포와 업무 메신저 연동이 가능하다. 이를 통해 3년간 20여개 참여사들이 복잡한 사업 관리를 원활히 진행할 수 있도록 일조를 할 것으로 회사 측은 기대했다.

특히 전 세계적으로 많이 사용되는 글로벌 제품을 제치고 공급 사업을 수주함으로써 뛰어난 제품 경쟁력도 인정받게 됐다.

오픈소프트랩 정형택 대표는 “개발과 운영의 단절을 없애는 유기적 관리 방법론인 데브옵스 사상이 적극 반영된 ‘루나 옵스’로 대규모 프로젝트 관리 및 국내외 이슈 관리 시장을 공략해 나갈 것”이라며 “기존 외산 유명 제품군이 독점하고 있는 데브옵스, 애자일 기반 프로젝트 관리 시장에서 최고의 회사로 자리 잡겠다”고 포부를 전했다. 



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.