Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
개발자 / 클라우드

프라이스라인 CTO의 눈으로 보는 대규모 마이크로서비스 구축 및 실행

Marty Brodbeck | InfoWorld 2022.02.25
‘혁신가의 딜레마’라는 책에도 나오듯이, 오늘날의 성공적인 조직은 번성하기 위해 계속해서 새로운 프로세스를 도입해야 하는 과제에 직면해 있다. 소프트웨어 개발에 의존해 경쟁 우위를 유지하는 현대의 조직이 이 끊임없는 변화의 필요성에 대처하려면 개발팀의 사고방식을 바꿔야 한다. 프라이스라인(Priceline)에서 이 말은 새롭고 혁신적인 기술 도입, 그리고 서비스를 구축하고 배포하는 방법에 있어서 완전히 새로운 사고방식을 의미한다. 프라이스라인은 월별 방문자 수가 수백만 명에 달하는 세계에서 가장 인기 있는 여행 사이트 중 하나이다.
 
ⓒ Yeshi Kangrang (CC0)

경쟁이 극히 치열한 시장에서 성공을 지속하려면 완전히 새로운 서비스 제공 전략을 지원해야 하며, 이를 위해서는 기술 리더십의 치밀한 사고와 행동이 필요하다. 프라이스라인의 유능한 기술팀은 여행 업계의 기술 발전을 선도하고자 12요소(12 Factor) 앱 개발, 모노리포(Monorepo), 트렁크 기반 개발, 종속성 관리를 채택했다. 그러나 여전히 할 일이 많이 남아 있다. 

컨테이너 기반 마이크로서비스를 생각해보자. 불과 몇 년 전과 비교해도 기업의 컨테이너 및 쿠버네티스 도입은 크게 늘었다. 2020 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation) 설문에 따르면, 프로덕션에서의 컨테이너 사용은 2016년 이후 300% 증가했다. 현재 프라이스라인 전체 제품 플랫폼의 80%는 구글 클라우드에서 컨테이너와 쿠버네티스를 기반으로 실행된다. 

대형 IT 업체의 상당수는 이런 애플리케이션 개발 패러다임의 변화가 주는 혜택을 활용하고 있지만(새로운 과제도 발견), 많은 기업이 이제 막 이 여정을 시작하는 단계에 있다. 하지만 지금의 경제 상황을 보면 증가하는 소프트웨어 개발 수요를 충당할 만큼의 데브옵스와 SRE 전문가를 채용할 수는 없을 것이다. CTO는 애플리케이션의 탄력성과 확장성을 높일 방법뿐만 아니라 개발자에게 수작업의 부담을 지나치게 전가하지 않으면서 더 많은 책임을 맡길 방법도 고민해야 한다. 

프라이스라인은 모든 애플리케이션을 개발자 생산성에 초점을 둔 하나의 원칙을 중심으로 현대화할 계획을 수립했다. 이 계획의 방법과 이유를 살펴보자. 
 

속도와 혁신에 박차를 가하기 위해 12요소로 전환 

프라이스라인은 설립한지 20년이 넘은 기업이지만 많은 면에서 여전히 스타트업과 같이 운영된다. 프라이스라인에 지속적인 발전은 선택이 아닌 필수이다. 고객의 행동과 요구는 자주 바뀌고 경쟁사들은 이와 같은 요구를 충족할 새로운 방법을 끊임없이 찾는다. 결과적으로 개발자는 제품, 데이터, SDLC, 인프라 등 모든 분야에 걸쳐 매일 혁신하면서, 동시에 기술 부채와 소프트웨어 안정성, 보안도 관리한다. 막중한 일이다. 

선언적 형식, 자동화, 이식성을 중심으로 하는 12요소 방법론은 개발팀이 소프트웨어를 인프라 종속성으로부터 분리하고 하나의 클라우드나 데이터센터, 소프트웨어 또는 서비스 업체에 종속되지 않도록 함으로써 혁신을 유지할 수 있게 해준다. 이는 기업에 유리하도록 인프라 환경을 운영하면서 필요에 따라 프라이빗 또는 퍼블릭 클라우드로 워크로드를 옮길 수 있음을 의미한다. 

12요소 방법론에는 빌드 프로세스에서의 엄격한 종속성 관리가 필요하다. 여기에는 컨테이너에서 실행되는 것, 운영체제나 코드의 변화가 이들 컨테이너에 미치는 영향이 포함된다. 빌드 프로세스의 초기에 선언적으로 코드를 확인하고 인스턴스화할 수 있는 역량을 통해 제공 프로세스의 초기에 변화를 검증할 수 있고, 이는 더 많은 혁신, 그리고 프로덕션 환경에서 문제와 씨름하는 데서 발생하는 오버헤드의 감소로 이어진다. 

빌드와 실행 프로세스의 분리는 자동화된 기능 테스트와 지속적 배포를 수행해 기술팀의 빠른 속도를 더 확고하게 해준다. 이는 개발자 생산성 및 만족도를 높여줄 뿐만 아니라 고객 대면 기능을 더 신속하게 테스트하고 개선할 수 있게 해주며, 궁극적으로 여행객과 비즈니스를 위한 더 나은 결과로 이어진다. 
 

고객 우선 접근 방법 

프라이스라인은 현대화 계획을 통해 데이터와 플랫폼을 혁신하고 고객과 비즈니스에 혜택을 제공할 수 있게 됐다. 실시간으로 데이터를 스트리밍할 수 있게 되면서 플랫폼 고객의 활동과 행동을 더 신속하게 파악하고 대응할 수 있는 역량을 갖췄다. 이는 여행객을 위한 추천 장소를 더 개인화하고 새로운 기능을 더 신속하게 실험하는 데 도움이 된다. 

소프트웨어 설계 프로세스에서 모노리포 아키텍처를 사용하면서 일관성 있는 고객 경험을 보장할 수 있게 됐다. 예를 들어 이제 체크아웃 구성요소를 한 번 구축한 다음 여러 팀에서 활용할 수 있으므로 여러 가지의 체크아웃 구성요소로 인해 최종 사용자의 경험이 혼란스럽게 될 일이 없다. 

 Tags 마이크로서비스 데브옵스 컨테이너 쿠버네티스 12요소 모노리포 종속성 프라이스라인
Sponsored
IDG 설문조사

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

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

Copyright © 2022 International Data Group. All rights reserved.