Uber의 원격 개발환경인 Devpod

얼마 전 Uber 엔지니어링 블로그에 Devpod라는 글이 올라왔습니다. 개인적으로는 원격 개발 환경을 훨씬 선호해서 이 글이 굉장히 반가웠는데요, 몇 가지 흥미로운 점이 있었습니다. # Monorepo - 이 글에서는 수천개 repository를 운영하던 Uber 엔지니어링 팀이 Monorepo로 옮긴 과정부터 설명하고 있는데요, 최근에 Monorepo가 꽤나 트렌드가 되고 있는 것 같습니다. - Google 같은 회사들도 적용하는데 이게 정답이야! 라고 말할 수는 없을 것인데 장단점이 있을 것 같고, 앞으로도 계속 Monorepo 트렌드가 이어질 지는 궁금합니다. - 회사 규모가 클 때 의미가 있을 것 같기도 합니다만.. # Devpod - Monorepo 사용시의 가장 큰 단점인 code pull 및 build time 문제를 해결하고, 효율성이나 보안을 향상시키기 위해서 원격개발 환경을 구성했다고 합니다. - Kube 기반으로 만들었고 VSCode 나 Jetbrain계열 IDE를 사용할 수 있도록 구성했다고 하네요. - 원문에 아키텍쳐도 나와있는데 특별한 부분은 딱히 없습니다. 미리 탬플릿화된 docker 환경을 구성하는 내용 등도 나와있는데, 개인적으로 개발할 때 이와 비슷하게 원격으로 구성해서 개발하는걸 선호하기 때문에 역시나 개발자들 생각하는 것들은 비슷하구나 싶고 앞으로는 이런 것들이 더 많아지지 않을까 생각이 듭니다. # Cost - 가장 중요한 부분 중 하나일텐데 remote 개발환경은 서버비용이 필수적으로 발생하게 됩니다. 원문에서는 딱히 특별한 내용은 없습니다. 그냥 inactive 한 것들을 비활성화 하거나 클라우드를 사용한다면 다 알만한 cost optimization 방법들을 활용하고 있습니다. - 어쨌든 거대한 Monorepo 에서 작업할 때는 비용이나 효율성 면에서 remote 환경이 훨씬 유리하다고 분석하고 있습니다. Meta나 Google도 비슷하게 원격 개발 환경을 갖춘 걸로 알고 있는데, Uber는 이러한 것들을 오픈소스로 많이 풀었었기 때문에 라이센스 이슈가 있는 부분만 제외하고 오픈소스로 풀 가능성도 있을 것 같습니다. 클라우드 서비스의 발달로 이러한 것도 비교적 쉽게 구축할 수 있게 된 것이 꽤 흥미롭네요.

Devpod: Improving Developer Productivity at Uber with Remote Development

Uber Blog

Devpod: Improving Developer Productivity at Uber with Remote Development

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 12월 19일 오후 4:05

 • 

저장 8조회 2,351

댓글 0