데브옵스 알아가기(3) : 구현전략 개요
Updated:
지난 데브옵스 알아가기 1, 2편에서 데브옵스가 대략 어떻게 생겨났고, 기본 개념이 무엇인지 알아보았다.
본 포스팅을 포함하여 앞으로의 시리즈에서는 어떻게 하면 데브옵스를 제대로 잘 구현할 수 있을지에 대해 소개하는 글을 싣고자 한다. “소개”라고 표현한 것에 주목하시라. 사실 필자는 성공적으로 데브옵스를 구현하려면 어떠한 것들을 해야 하는지에 대한 높은 식견을 갖고 있지 않다. 데브옵스는 불과 몇 년 전에 처음 알게 된 것이고, 제대로 구현하여 성공적으로 실천하는 곳을 직접 본 적이 없기 때문이다. 따라서 필자의 직접 경험보다는 이제까지 쌓여있는 자료와 프랙티스와 지식들을 찾아 말그대로 소개하고자 한다.
다행히도 필자는 운영 십수년, 개발 프로젝트 십수년 이상 경험을 하였으며, 단순한 코딩 개발부터, 업무 분석과 설계, 그보다 더 큰 범위에서 전략적으로 비지니스 방향과 아키텍처를 결정하는 역할 및 운영과 프로젝트를 동시에 관리하는 역할까지 다양한 경험을 갖고 있다. 과거의 다양한 경험은 오늘의 새로운 지식과 변화를 받아들이는 깔때기 역할을 하게 마련이다.
지난 몇 개월간 데브옵스 실체에 더 다가가기 위해 온갖 자료의 구글링 및 세미나, 각종 도서들을 서치해 나가는 동안 과거의 이러한 경험들은 새로운 지식을 받아들이는 필터 역할을 해주었다.
이제 그 결과물로써, 데브옵스의 구현 전략 중 명망있는 저자들에 의해 창안된 몇가지 방법에 대해 간략히 소개할 것이다. 불과 10년 밖에 되지 않았는데도 수많은 데이터와 프랙티스가 축적되어 그 많은 데브옵스 구현 방법론 중에서 가장 우수한 내용을 골라 내기가 쉽지는 않았지만, 순전히 필자의 느낌에 의지하여 몇가지를 추려내었다. 그리고 그 중에서 가장 백미라고 생각되는 3Ways와 5plays 전략에 대해서는 후속 시리지에서 구체적인 내용을 다루고자 한다.
CALMS 모델 접근법
CALMS 모델은 2010년 미국 마운틴뷰에서 열린 제 1회 devopsdays에서 처음 소개된 것으로 팟캐스트 DevOps Cafe의 저자인 Damon Adwards 와 John Willis에 의해 최초에는 “CAMS” 모델로 발표되었다.
CAMS는 비교적 간단한 개념으로 문화/자동화/측정/공유(Culture/Automation/Measure/Sharing)의 원칙을 데브옵스의 기둥을 이루는 4가지 핵심영역이라 보았고, 이 모델은 제즈 험블에 의해 Lean 개념이 추가되어 CALMS로 발전하였다. 오늘날 CALMS는 조직의 데브옵스 내재화를 평가하기 위한 모델로 많이 사용된다. 각 영역별로 실행되는 프랙티스 수준을 진단하여 성숙도 레벨을 판단하고, 보다 성숙한 단계로 진입하기 위한 프랙티스를 보강하는 방법으로 사용된다.
패트릭 드보아의 4 AREA 접근방식
Devopsdays의 창시자인 패트릭 드보아가 제안한 것으로 데브옵스를 4가지 영역에서 접근하는 방식이다. 출처 : http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
- 첫번째 영역은 개발 프로젝트의 결과물을 운영으로 전환하는 영역을 말한다. 프로젝트의 결과물이 Production 영역에서 무사히 안정적으로 실행되게 하기 위해서 개발과 운영의 협력이 절대적으로 필요하며, 성공적인 Delivery를 위해 필요한 사항을 개선해야 한다.
- 두번째 영역은 운영의 지식과 정보가 개발팀(프로젝트)로 전달이 되는 영역이다. 보통 개발팀은 외부에서 조달되는 경우가 많은데, 과도한 보안 정책에 의해서 필요한 지식이 차단되는 경우가 많다. 불필요한 차단은 해제하고 운영에서 생산된 정보들이 One-Stop Access되도록 정책을 만들어야 한다.
- 세번째 영역은 프로젝트에서 생산된 모든 지식이 운영에 장착되도록 하는 것이다. 이는 프로젝트 Open을 위해 또는 인수인계 단계에서 운영에 전달되는 단순 정보를 넘어서는 것으로, 프로젝트팀이 운영과 공동 책임을 지는 수준까지를 의미한다.
- 4번째 영역은 프로젝트 시작부터 운영이 관여하는 것을 말한다.
영역 3과 4는 단순히 정책과 프로세스를 넘어서, 사람들의 의식 변화와 관련이 있다.
이와 같은 패트릭 드보아의 4AREA 접근법은 개발과 운영이 “공동의 이해관계를 갖고 공동의 책임을 갖는다”는 면에서 매우 이상적이지만, 실제 세계에서 실현이 어려워 보인다는 단점이 있다.
3 Layer 접근방식
People, Process, Technology(Tools)를 일컫는 3 Layer는 누군가 한 사람이 주창한 모델이 아니며, 가장 일반적이고 쉽게 시도할 수 있는 문제해결방식이다. 데브옵스 구현 방안에 대해서도 많은 업체가 이러한 접근방식을 사용한다. 즉, 데브옵스를 실현해 나가는 데에 있어서 조직과 프로세스, 기술에 대해 새로운 정책과 규칙을 만들어 적용하는 것으로 접근한다.
이러한 접근법은 보통 Top-Down 방식으로 데브옵스 구현의 책임을 맡게 된 T/F 또는 기획부서에서 사용하기 마련인데, 필자가 근자에 경험한 조직에서도 이러한 방식을 사용하였다.
그림에서도 한눈에 알 수 있듯이 조직에 필요한 역할과 책임을 부여하고, 프로세스와 관련된 도구/기술 등을 도입하는 실행 전략은 비교적 쉬워 보인다. 하지만, 이러한 전략은 안타깝게도 데브옵스의 심오한 철학과 문화가 반영되지 않고, 새로운 프로세스와 도구를 도입하는 수준에 머무를 가능성이 높다.
진정한 데브옵스는 겉으로 드러난 외양과 모습이 아니라, 내부의 변화와 개선 의식으로부터 우러나와 다듬어지면서 최적화로 향해 가는 실행 패턴의 집합체이다. 앞선 포스팅에서 언급한 데브옵스 정의와 같이 일종의 전문적인 운동이 되려면, 보다 심도 있는 고민과 접근 방식이 필요하다.
3 Ways
이 개념은 『데브옵스 핸드북』 (진킴, 제즈험블 공저 | 에이콘출판사 | 2016 )에 소개된 내용으로, 조직 내부에 데브옵스 사상을 심을 수 있도록 이론적 기반과 기본 원칙을 제시하고 있다.
아래 그림에서 보이는 3 ways 개념은 얼핏 보기에는 추상적이고 관념적인 접근법으로 실제 세계에서 구현이 어려워 보이는데, 세부의 원칙과 실천 방법을 차근차근 이해해 나가다 보면, 우리가 바라는 데브옵스 월드가 어떻게 실행되어야 할지, 구체적인 목표 그림을 떠올릴 수 있다.
필자가 보건대 3 Ways는 매우 중요한 내용이며, 구체적 실행 방안에 대해서도 넓은 범위를 망라하여 설명되고 있어므로 다음 포스팅을 통해 소개하고자 한다.
5 Plays 전략
5Plays는 『엔터프라이즈 데브옵스 플레이북스』 (빌 오트, 지미 팜, 할룩 셰이커 공저 | 오레일리 | 2017)에 나오는 내용이다. 이 책의 머릿글은 위의 데브옵스 핸드북 저자인 진킴이 작성했는데, 그 정도로 데브옵스 핸드북과 더불어 데브옵스 관련되어 손에 꼽히는 가이드북이라 할 수 있다.
서두에서 저자는, 특별히 규모가 큰 엔터프라이즈 급의 회사의 오래된 레거시 시스템은 비즈니스 요구사항이 복잡하게 얽혀있게 마련인데, 이에 대처하기 위해서는 조직 규모 및 기술 역량과 목표에 맞는 데브옵스 구현이 필요하며, (대부분의 데브옵스 조직들은 단발적이며 소규모적인 접근을 시도하고 있으므로) 따라서 엔터프라이즈 급을 위한 보다 포괄적이며 유연한 해법을 이 책에서 제시하고 있다고 밝혔다.
데브옵스 전환(Transformation)을 고민하는 조직이 어디서부터 어떻게 시작해야 할지 모른다면 게임에서 한 판 격파시 다음 판으로 Stage 전환을 하듯, 이 책의 목차를 따라가며 필요한 내공을 얻을 수 있을 것이다. 꼭 Stage 1에서부터가 아닌 맘에 드는 Stage를 고르듯 Play를 골라도 된다. 당신이 이미 게임의 고수라면 알고 있는 부분은 건너뛰고 새로와 보이는 Play로 가도 된다. 어찌되었건 모든 Play는 다 돌아볼 필요는 있다.
데브옵스 핸드북의 3Ways 개념이 데브옵스의 이론적 근거와 사상을 제시하는 것으로 다소 난해하게 느껴졌다면, 데브옵스 플레이북은 매우 직관적이며 실무적으로 느껴질 것이다. 페이지수도 70쪽 밖에 되지 않아 읽기가 쉬우므로, 관심이 있다면 누구든지 도전해 보았으면 한다.
각 Play에 해당하는 상세한 내용은 후속 시리즈를 통해 게재할 계획이며, 여기서는 이 정도로만 소개하고자 한다.
정리
이상으로 데브옵스 구현 전략에 대해 간략히 5가지 접근법을 소개하였다.
아… 이게 끝이라고? 레알? 실망할 분들도 있을 것 같다.
다시 이야기하지만, 데브옵스의 범위는 생각보다 넓고 깊다. 어떤 부분을 어떻게 누가 무엇을 할지에 대해서는 많은 경험과 공부가 필요하며 보다 깊이 있게 다루어야 하는 내용들이다.
예컨대, “OOO을 위한 문화를 만들어야 해”라고 말하기는 쉽지만 그것을 어떻게 만들어가야 할지는 인문·사회학적 배경 지식과 전후 좌우 역사를 관통하는 문화인류사의 지식이 있더라도 어려운 일일 것이다. 그러니 IT 벤더에서 소개하는 데브옵스 전략에 대해서 읽다보면 대부분은 단편적인 견해가 투사된 정도로 밖에는 보이지 않는다. 각자의 프레임을 가지고 본 시각에서 단편적인 지식과 실제라고 보기에는 어려운 홍보용 사례들이 난무하는 것도 이 때문일 것이다.
필자가 위에서 백미라고 이야기한 3Ways나 5Plays는 그나마 책으로 출판되면서 전략을 위한 풍부한 사례와 원리를 담고 있다.
당신이 여기까지 읽고 실망했다면 오히려 이는 다행이다. 이는 당신이 데브옵스를 보다 깊게 넓게 탐험할 준비가 되었다는 신호라고 해석된다. 단편적인 데브옵스 지식 편람에 실망과 갈증을 느꼈던 필자도 이것 저것 파헤치다 보니 본의 아니게 탐험을 나서게 되었고, 이런 글도 쓰게 되었다. 그럼에도 불구하고 앞으로도 갈 길은 멀고, 탐험해야 할 땅은 넓다.
※ 제 글을 읽어주시는 독자 여러분께…
문체가 바뀌어 놀라셨죠? ㅎㅎ
원래 원고를 작성할 때 제 경우에는 이렇게 간결체를 써야 문장에 대한 고민없이 소개하려는 “내용 중심”으로 빨리 작성을 할 수가 있어요. 근데 블로그로 포스팅하기 위해서 경어체로 바꾸다보니 시간도 걸리고, 느낌이 살지 않아 문장을 바꾸어 재작성해야 하는 일이 발생하더라구요. 문학작품도 아닌데 편하게 읽을 수 있는 문장으로 바꾸는 게 여간 스트레스가 아니었습니다. ㅜㅜ
단순히 ~이다
를 ~입니다
로 바꾸면 저는 오히려 로보트같은 느낌이 들어서 오그라들기도 하구요. 해서 본 편 부터는 보다 본문 내용에 집중하고자 오리지날 원고의 문체를 그대로 살려서 가기로 했습니다.
양해 부탁드려요~~ 😄
< EOF >