피보탈 "데브옵스, 문제는 툴이 아니라 체계와 경험"

정윤진 수석 제14회 ACC 주제강연

컴퓨팅입력 :2017/07/12 17:55    수정: 2017/07/13 10:36

"연속적인 배포(continuous delivery)를 위한 체계 확보가 중요하다. 아이디어가 생각났을 때 이슈 트래커 정리, 코드의 작성, 헬스체크, 테스트, 배포, 사용자피드백, … 이 사이클을 어떤 회사는 1년 걸려 한다. 어떤 회사는 3개월 걸려 한다. 하지만 GE같은 회사는 아침에 생각나면 저녁에 한다."

피보탈 정윤진 수석은 12일 서울 잠실 롯데호텔에서 지디넷코리아가 개최한 제14회 어드밴스드컴퓨팅컨퍼런스(ACC)에서 'Release It! 연속 배포의 가치'라는 주제강연을 통해 '데브옵스' 도입 방법론을 제시하며 이같이 말했다.

기업 전산실에 클라우드 도입과 맞물려 IT 개발 및 운영 효율을 높이기 위한 방법론을 함축한 데브옵스라는 용어가 회자되고 있다. 그 일환으로 '도커'같은 컨테이너 기술을 활용하려는 시도가 많아졌다. 하지만 그 양상은 데브옵스의 개념이나 취지와는 다소 동떨어졌다.

정 수석은 "국내 사업장, 대기업 대다수 환경에서 자바 5, 6, 7 버전을 사용하는데 8 이하 버전은 더 이상 추가되는 업데이트나 기능개선 요소가 없다"며 "자바5 기반 애플리케이션을 클라우드에 올리기로 하더라도 의존성 문제로 당시 커널과 라이브러리를 사용해야 하기때문에 최신 리눅스에선 동작하지 않을 수 있다"고 지적했다.

이어 "컨테이너가 각광받으면서 도커 위에 웹로직, 제이보스, 웹스피어같은 웹애플리케이션서버를 얹고 오래된 자바5, 6, 7 애플리케이션을 올리곤 하는데, 그 의존성을 지원할 라이브러리를 포함하는 거대한 도커 이미지를 생성케 된다"며 "낡은 시스템 라이브러리를 그대로 올리면 클라우드를 오버프로비저닝하고 과거 방식대로 운영하기 때문에 (전환에 따른) 비용절감이나 운영효율은 허구가 된다"고 덧붙였다.

클라우드로 전환해도, 컨테이너 기술을 써도, 낡은 시스템라이브러리 의존성을 해결하지 못하면 개발 조직은 데브옵스는 커녕 클라우드 활용 이점을 전혀 누릴 수 없다는 얘기다. 그럼 어떻게 해야할까.

정 수석은 "최초 기획단계부터 최소한의 기능을 수행하는 제품(MVP)을 먼저 만들고 개선을 반복해 시장에 내놓아야 한다"며 "차를 만들기 위해 전체 설계도를 짜서 부품을 하나하나 붙여나가는 게 아니고, '탈것'을 만들겠다는 사상에 입각해 보드, 킥보드, 자전거, 바이크, 자동차, 이런 방향으로 점진 개선되도록 제품 개발을 진행하는 게 올바른 방향"이라고 비유했다.

기업이 이런 방식을 정착시키려면 적절한 체계를 확보해야 한다. 개발팀이 실제 운영환경에 짧은 시간 동안 빈번한 업데이트를 수행하면서 피드백을 적극적으로 수렴하고 다시 개발에 반영할 수 있는 체계가 필요하다.

정 수석은 "중요한 아이디어가 생각나 이슈트래커 정리, 헬스체크, 테스트, 배포, 사용자피드백, 이런 사이클은 회사마다 다른 주기를 갖는다"며 "GE같은 회사는 아침에 얻은 아이디어를 저녁에 반영하는 능력을 가졌는데 이는 어느 기업에게나 필요하다"고 말했다.

피보탈은 데브옵스, 연속배포 사이클을 효율화하는 도구를 자체 오픈소스 및 상용 기술로 제안하고 있다. '피보탈트래커'라는 이슈트래커, 클라우드환경의 개발을 위한 스프링부트와 스프링클라우드라는 플랫폼, 배포 후 피드백 분석을 위한 인메모리 데이터그리드, 카프카, 스트림로그같은 데이터플랫폼, 도커 이미지 빌드시 의존성 문제를 해결해 주는 컨티뉴어스인티그레이션 등이다.

정 수석은 "일반회사뿐아니라 클라우드회사라도 (연속 배포를) 이렇게 하는 데는 드문데, 간헐적으로 업데이트의 라이브러리와 데이터베이스(DB) 연결이 끊기는 등 업데이트 후 서비스가 제대로 돌아갈지 장담할 수 없기 때문"이라고 말했다.

이어 "국내 여러 보안사고로 보안취약점 해결이 중요해졌다"며 "CVE 업데이트가 매주 몇번씩 나와 3달만 적용 안해도 누적된 취약점이 쌓이더라도, 클라우드 서비스를 쓰더라도 원할 때 보안업데이트, 소프트웨어 업데이트를 할 수 있는 건 아니다"라고 지적했다.

왜일까. 제공되는 툴이 있어도 기업이 그걸 쓸 수 있는 상태가 아닌 경우가 대부분이라서다. 도구보다 중요한 건 이를 실행할 IT담당 팀이다. 기존 방식대로 개발과 운영을 해온 기업내 담당자들에게 툴이 주어지더라도 그걸 잘 활용할 수 있다는 보장이 없다. 그래서 피보탈은 온사이트 파트너 지원을 통해 이를 활용한 프로세스를 익히고 경험을 쌓도록 돕는다.

정 수석은 "데브옵스라는 말을 만든 앤드류 클레이 셰이퍼(Andrew Clay Shafer)가 피보탈에서 제 팀 매니저"라며 "피보탈엔 접속폭주 대응이 필요한 쇼핑몰이나 수강신청 등 사이트 개발해야 할 때 메시지큐를 어떻게 처리할까를 고민한다든지 이슈를 적절한 일감으로 동료와 나눠서 그날그날 처리하는 업무프로세스 경험을 해본 사람이 있고, 실제 그걸 구현하고 배포하는 환경도 있다"고 주장했다.

피보탈 고객인 씨티금융그룹이 이런식으로 데브옵스 프로세스와 연속 배포 사이클을 경험한 사례다. 핀테크 조직에 76명의 팀, 애자일 조직에 208명의 팀이 만들어져 각자 이슈를 처리하고 있다. 이슈트래커에서 개발자가 커밋한 코드를 승인(accept)하면 배포후보(rc) 단계로 가고, 고객이 원하는대로 만들어지지 않았다고 거부(reject)를 누르면 기존 저장소에 남아 배포되지 않는 식으로 처리되는 환경이다.

정 수석은 "우리가 씨티금융그룹, 다른 엔터프라이즈와 함께 하는 일 중 하나로 메인프레임에서 동작하는 코볼 코드를 클라우드에서 동작하는 마이크로서비스로 바꾸는 작업이 있는데, 피보탈 팀과 저쪽 팀이 페어로 앉아서 지금 오늘 하고 있는 일"이라며 "법무팀과 같은 곳에서 오는 신규 요청은 신규팀의 파이프라인에 넣어서 새로 개발하는 한편, 기존 운영팀은 운영하면서 어떤 기능요소를 쪼갤지 파악해 던져넣고 그걸 새로운 팀에서 하나하나 만들어가는 구조화된 프로세스가 있다, 이게 클라우드네이티브로 가는 방법"이라고 강조했다.

피보탈은 곧 스프링5 신버전 릴리즈를 앞두고 있다. 비동기 처리 지원과 컨테이너 리소스 문제 해결, 스프링부트 사용시 톰캣이 임베드돼 환경변수나 IP를 제외하고 릴리즈에 필요한 모든 코드를 빌드에 담은 상태로 만들 수 있다고 한다. 또 데이터 처리 플랫폼의 필터 추가나 컬럼 변경같은 어려움을 해결한 '스프링클라우드데이터플로우'나 서버리스 구현 기술로 '스프링 클라우드펑션'을 소개하고 있다.

관련기사

정 수석은 "피보탈에 이슈트래커, 테스트, 코드 배포까지 심리스한 프로세스 지원툴이 모두 오픈소스로 있는데, 기업이 오픈소스를 직접 구현하려면 시간을 꽤 많이 써야 하고 이걸 할 조직, 맨파워도 필요하다"고 말했다.

그는 피보탈의 리플랫포밍서비스, 피보탈랩스서비스, 2가지 서비스를 "아웃소싱하던 IT를 시장상황에 맞게 어떻게 인소싱할지 이슈에 대응하기 위한 서비스"라고 소개했다. 리플랫포밍서비스는 기존 애플리케이션을 마이크로서비스 기반으로 전환하도록, 피보탈랩스서비스는 피보탈의 방법론으로 신규 서비스를 위한 애플리케이션 개발, 테스트, 배포하도록 돕는다.