Offcanvas

How To / 리더십|조직관리 / 자기계발 / 클라우드

칼럼 | 개발자에게 ‘완전한 자유’는 없다

2022.04.07 Matt Asay  |  InfoWorld
최근 소프트웨어의 비중이 점점 커지면서 개발자와 이들의 생산성을 높이는 것이 모든 기업의 성공을 위한 핵심 요소로 자리잡았다. 그래서 아이러니하게도, 개발자의 자유를 통제하는 것이 개발자를 자유롭게 하는 가장 좋은 방법이 될 수 있다.

2013년 레드몽크(RedMonk) 애널리스트 스티븐 오그래디가 저술한 ‘새로운 킹메이커들(The New Kingmakers)’이라는 책은 개발자가 중요하다는 시대적 정신을 일부 담아냈지만, 새로운 사고 방식을 고취하는 내용이 대부분이었다. 적어도 기업 관점에서는 새롭다. 당시 개발자는 이미 오픈소스와 클라우드로 점점 더 많은 권한을 누리고 있었지만, 개발자의 생산성이 있으면 좋은 것을 넘어 필수라는 인식이 아직 자리잡지 못한 상태였다.
 
ⓒ Getty Images Bank

2017년 말 다행히 이런 인식은 대중화됐지만, 이로 인해 예기치 않은 상황이 발생했다. 개발자의 중요성이 커질수록 너도 나도 새로운 소프트웨어 툴과 오픈소스 프로젝트, 클라우드 서비스로 요구사항을 충족하려는 경향이 커졌다. 이런 현상은 개발자의 선택권은 물론, 자유도 많아졌다는 것을 의미하기도 하지만, 결코 긍정적이지 만은 않다. 오그래디가 말한 것처럼, 이런 개발자 주도의 세분화로 환상적인 오픈소스 소프트웨어가 탄생한 것은 반가운 사실이지만, 세분화를 관리하는 일은 개발자에게도 어렵다는 것이 문제이다.

또한, 개발자의 선택권이 너무 많아도 문제가 될 수 있다. 예를 들어, 소매 분야의 정설에 따르면 선택지가 지나치게 많을 때 소비자는 구매를 아예 하지 않을 가능성이 높고, 구매를 하더라도 선택에 대한 만족도가 떨어진다. 이처럼 많은 선택지로 인한 문제는 시리얼이나 의류에만 국한되지 않고 기업 소프트웨어를 구축하는 개발자에게도 적용된다. InfoWorld 기자 스콧 캐리가 지적한 것처럼, 복잡성이 소프트웨어 개발자를 죽이고 있는 것이 맞다. 그렇다면 이런 문제를 해결하기 위한 대책은 무엇일까?
 

약간의 통제가 필요하다

캐리는 위브웍스(Weaveworks) CEO 알렉시스 리차드슨과 인터뷰를 진행하며, 모든 오픈소스 및 클라우드 선택권에 대한 개발자의 이해를 돕는 셀프서비스 개발 플랫폼이 재등장하고 있다고 말했다. 즉, 한 가지 아이디어에 착안해 앱을 만드는 데 들이는 노력을 최소화하는 사전 승인된 표준 환경을 제공함으로써 개발자가 배관 작업이 아닌 혁신에 집중할 수 있다는 것이다.

여기서 ‘사전 승인된 환경’이라는 말이 통제의 느낌을 풍긴다. 오픈소스와 클라우드는 애초에 통제를 극복하기 위한 대안으로 나온 것인데 말이다.

물론 이런 관점도 있지만, 약간의 통제는 제대로만 활용하면 큰 도움이 된다. 이런 발상을 받아들여 실천한 사례로는 넷플릭스가 대표적이다. 넷플릭스 엔지니어 에드 부코스키, 브라이언 모일스, 마이크 맥가는 다음과 같이 설명했다.

“엔지니어는 자유와 책임을 강조하는 넷플릭스 문화의 영향을 받아 작업에 적합하다고 판단되는 모든 툴을 솔루션 제작에 활용할 수 있다. 어떤 툴이 널리 수용되려면 설득력이 있어야 하고 큰 부가 가치를 제공해야 하며, 대다수 넷플릭스 엔지니어의 전체적인 인지 부하를 줄여야 한다는 것을 알게 됐다. 각 팀은 대안 솔루션을 구현할 자유가 있는 반면, 대안 솔루션을 유지하고 관리해야 한다는 책임도 따른다. 넷플릭스의 중앙집중화된 팀이 제공하는 툴은 ‘포장 도로’의 일부로 간주된다. 오늘날 우리는 오로지 ‘엔지니어링 툴’이 지원하는 포장 도로에 집중한다.”

기업이 개발자의 선택에 대한 통제권을 중앙집중화하려는 이유는 분명하다. 리차드슨은 기업이 ‘신속하면서도 안전한 것’을 원한다고 말했다. 여기서 안전은 컴플라이언스와 보안 확립, 컨테이너 검사, 깃옵스(GitOps) 파이프라인에서의 공급망 인증 등을 확인하는 작업을 포함한다. 리차드슨에 따르면, AWS나 다른 클라우드를 사용하는 것보다 개발자의 선택권을 제한하는 것이 기업 입장에서 더 나은 방법이다. 예를 들어, 은행이 1,000개 애플리케이션 팀을 특정 클라우드에 풀어놓으면 1,000개의 스택이 만들어지고, 이들 모두를 검증해야 하는 상황을 가정해보자. 분명 엉망진창이 될 것이다.

한편, 통제권을 행사할 때 기업과 개발자가 얻는 이익이 완벽히 일치한다는 것이 처음에는 잘 와닿지 않을 수 있다.

리차드슨은 많은 기업이 앱 개발의 생산성을 크게 높여 아이디어에서 도파민으로 가는 시간을 최소화하기를 원한다고 설명했다. 맞는 말이다. 개발자의 생산성 극대화는 기업에게도 이득이고 개발자가 원하는 것이기도 하다. 기업과 개발자가 추구하는 이익이 딱 맞아 떨어진다.

이제 한 때 PaaS로 불렸던 셀프서비스 개발 플랫폼을 살펴보자.
 

PasS의 또다른 이름, 셀프서비스

가트너 애널리스트 리디어 레옹이 인정한 것처럼, 일부 기업의 IT 담당자는 ‘개발자 셀프서비스’라는 개념에 질색한다. 셀프서비스로 인해 기존에 잘 방어됐던 수문이 열리고 더러운 괴물 무리가 난입해 레고 구조물과 프린트물이 난무하며, 과자 껍질이 나뒹굴고 화이트보드 마커 뚜껑이 분실되는 등 난장판이 벌어질 것을 우려하기 때문이다. 다시 말해, 일부 기업의 IT 담당자는 자사 개발자를 신뢰하지 않는다. 혹은 셀프서비스 플랫폼이 세운 가드레일을 신뢰하지 않는 것일 수도 있다. 기업이 무엇을 우려하든, 셀프서비스는 ‘모 아니면 도’식의 제안이 아니다. 책임을 애플리케이션 생애주기 전반에 걸쳐 분할하면 기업은 ‘개발자가 직접 실행한다’라는 원칙으로 이점을 얻을 수 있다. 굳이 길들여지지 않은 미지의 세계로 개발자를 내보내지 않아도 되는 것이다.

다시 말해, 기업이 적당한 수준의 통제를 가하면 클라우드로 누릴 수 있는 자유를 개발자에게 부여하고 활용할 수 있다.

넷플릭스를 비롯한 많은 기업이 그 방법에 관한 실용적인 조언을 제공했다. 특히, 고객이 보수적인 금융 서비스 기업 파이넥스트라(Finextra)는 개발자의 자유와 보안 장치 간의 균형 유지에 일가견이 있다. 혹은 시간을 내서 레옹이나 오그래디에게서 자유와 통제의 균형을 적절하게 유지하는 비법을 듣는 것도 좋다.

결국 자유와 통제는 양립할 수 없다는 생각을 버리는 것이 핵심이다. 현명한 기업은 개발자가 셀프서비스 플랫폼을 사용하도록 하는 방법을 모색하고 있다.
editor@itworld.co.kr
추천 테크라이브러리

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.