코인원이 정의하는 ‘일하기 즐거운 환경’ feat. 랩터 프로젝트

Coinone Tech Team
Coinone Tech Blog
Published in
6 min readAug 7, 2020

코인원이 정의하는 ‘일하기 즐거운 환경’ 두번째! feat. 랩터 프로젝트.​

2019년 3월 11일. 그러니까 일 년 전 작년 이맘때 즈음 코인원은 창립 이래 역사상 큰 프로젝트를 성공적으로 마치게 됩니다. 이 프로젝트가 진행되는 약 2달여의 시간 동안은 밤/낮, 주말/공휴일 없이 모든 에너지를 쏟아냈던 기간이었다고 하는데요.

도대체 어떤 이유에서였을까요?

코인원은 2014년 2월 설립된 스타트업입니다. 올해로 창립 6주년을 맞이했고요. 가상자산(암호화폐) 시장이 급속도로 커가면서 코인원의 이용자 수도 빠르게 증가했습니다. 이와 함께 여러 문제들도 발견되기 시작했는데요. 빠른 해결이 필요했습니다.​

무엇보다 가장 시급한 이슈는 바로 코인원의 심장 ‘엔진’의 성능을 강화하는 것이었습니다. 사실 코인원은 엔진 개발의 중요성과 필요성을 오래전부터 인지하고 있었고, 실제로 서버 엔진 전문기업 아이펀팩토리와 ‘코인원코어(Coinone Core)’를 공동 개발하기도 했습니다.

하지만 정작 코인원 거래소의 적용은 이런저런 이유로 계속 미뤄지게 됩니다. 더 이상 늦출 수 없었습니다. 그렇게 코인원은 2019년 첫 프로젝트 시작합니다. 코인원 거래소에 차세대 엔진 코인원코어를 심는, 이름하여 ‘랩터(Raptor)TF’. TF 규모는 약 30여 명. 가용할 수 있는 범위 내에서 최대한의 리소스를 투입했습니다. 그만큼 랩터TF는 중요했기 때문입니다.

“왜 TF 이름을 ‘랩터’로 결정했나요?”

조PM: 차세대 엔진이 적용된 이후 사용자가 서비스를 이용하며 가장 크게 체감할 수 있는 부분은 ‘속도’라고 판단했습니다. 당시 제 첫째 아들이 동물도감에 푹 빠져있었는데요. 동물도감에서 말하기를 지구상에서 가장 빠른 동물로 ‘랩터’를 지칭하고 있습니다. 저희 TF 성격과 딱 맞아 떨어지더라고요.

구CO: 전투기 중에서 가장 빠른 기종을 ‘랩터’라고 부릅니다. 랩터 전투기는 최신 기술의 총 집합체이며, 아주 정교하고 정밀하게 만들어졌다고 하네요. 차세대 엔진을 가장 잘 표현하는 단어라고 생각했습니다.

랩터 이야기 더보기​

자, 그렇다면 랩터TF에 의해 장착된 차세대 엔진은 어떤 성능을 자랑할까요?

코인원코어는 초당 300만 건 이상의 거래 체결 처리가 가능한 고성능 엔진입니다. 수백 대의 서버로 수평 확장이 가능한 분산시스템을 갖추고 있는데요. 서비스 중단 없이 거래 엔진의 확장과 신규 가상자산(암호화폐) 상장도 가능해졌습니다. 또한 예상치 못한 장애 상황에서도 별도의 점검 없이 실시간으로 대응할 수 있게 되었고요.

엔진의 성능만 끌어올리고 끝낼 프로젝트는 아니었습니다. 서비스를 안정적으로 제공할 수 없다면 그 어떤 성능도 애초에 쓸모없을 터이니까요. 랩터TF는 서비스 안정성을 높이기 위해 서비스들의 마이크로화라는 아키텍처 수준의 처방을 내렸습니다. 기존의 모놀리스 코드 베이스를 한땀 한땀 분리하는 작업이 고통스러울 것은 자명했지만, 보다 쉬운 유지보수와 좀더 효과적인 최적화, 그리고 무중단 서비스 제공이 가능케 될 것이라는 기대를 가지고 용감하게 추진했습니다.​

새로운 아키텍처는 운영 방식의 혁신도 필요로 했습니다. 마이크로 서비스 아키텍처에 가장 어울리는 운영 방식은 역시 컨테이너화였고, 이에 쿠버네티스(Kubernetes)를 오케스트레이션 도구로 선택하고 아마존 EKS 플랫폼에 환경을 구축했습니다. 더불어 뉴렐릭(Newrelic)을 도입하여 모니터링도 강화했습니다.

컨테이너 오케스트레이션이란? 개별 구성 요소와 애플리케이션 계층의 작업을 정리하는 과정을 의미합니다.

아마 한국 리전에 ‘Amazon EKS(Kubernetes Management Service)’가 오픈한 뒤, 이를 가장 빠르게 도입한 국내 기업이 바로 코인원일 겁니다. 배포와 운영에 관련된 대부분의 작업을 코드화하여, 기존에는 GUI를 통해 반복적으로 수동으로 작업해야 했던 불편함과 실수 가능성을 없앨 수 있었습니다.

이렇게 성능과 안정성이라는, 트레이드-오프 관계에 있는 토끼 두 마리를 동시에 잡으려는 랩터TF의 무쌍함은 결국 현재의 쾌적하고 신뢰할 수 있는 코인원 서비스를 탄생시켰습니다.

여기에 한 마리의 토끼를 더 잡아야 했습니다. 바로 팀워크. 랩터TF는 PM, 개발자, 디자이너 등 코인원 인력의 ⅓. 약 30여 명이 모인 대규모 프로젝트였습니다. 단기간 내에 결과물을 만들어 내야 했기 때문에 말 그대로 물 흐르듯 프로젝트가 진행되어야 했는데요. 효율적인 의사소통을 바탕으로 빠른 결정을 해야만 했습니다.

그래서 도입한 ‘데일리 스탠드업 미팅’. 말 그대로 매일 랩터TF 전체인원이 모여 서서 진행하는 미팅으로, 각자 현재 어떤 업무를 수행 중인지, 진행 상황은 어떠한지, 늦어지고 있다면 왜 늦어지는지 등을 빠르게 공유하고, 결정이 필요한 사항에 대해서는 신속하게 의사결정을 내려 모두가 같은 호흡으로 TF가 가동될 수 있게끔 했습니다.​

결과적으로 데일리 스탠드업 미팅은 서로 투명하게 소통하고 적절한 피드백을 제안함으로써 랩터TF가 삐그덕거림없이 전진할 수 있도록 도와줬는데요. 수평적인 협업은 같이의 가치를 느끼게 해줬고 적재적소의 훌륭한 피드백은 창의적이면서도 효율적인 업무가 가능할 수 있도록 해줬습니다.

랩터TF의 성공적인 종료는, 어려운 과제도 함께 머리를 맞대고 나아가면 해낼 수 있다는 믿음과 이를 통해 서로에 대한 신뢰가 두터워졌으며, 특히, 우리 결과물에 대한 자부심과 책임감이 더욱 강해졌는데요. 실제로 코인원은 랩터TF 이후 더 단단해진 서비스를 만들어내고 있습니다.

그리고 코인원은 우리와 함께할 개발자를 찾고 있습니다.

--

--