BAK Chanhee

December 7, 2021

2022년에 뭐 하세요? 클라우드에서 개발 하실래요? (Cloud-based development)

2022년이 다가오고 있습니다! 혹시, 아이패드로 개발 해보신 적 있으신가요? 크롬북은요?
저는 16GB RAM, 512GB SSD가 달린 크롬북에서 개발했었는데요, 이 열악한 환경에서 원활한 개발환경을 만들어 준 건 다름 아닌 클라우드였습니다.



새로운 맥북을 받고, 개발 환경 셋업까지 보통 어느 정도 걸리나요?

소스 코드를 clone하고, 올바른 런타임 버전(Node, .NET 등)이 설치되어 있는지 확인하고 자신의 OS와 호환되는지를 확인합니다.
이러한 작업을 짧으면 반나절, 길게는 며칠이 소요됩니다. 그리고 가끔은 프로젝트마다 지원하는 런타임 버전이 다르다든지 하는 골치 아픈 경우도 있을 겁니다.


시간이 지나서.. 슬슬 장비 갈아타고 싶다는 생각하진 않나요? 

사용한 지 몇 년이 지나면 디스크는 꽉 차서 정리할 때가 되어가고, 가끔은 프로젝트의 dependency가 커서 빌드 시 용량 부족으로 실패할 때도 있고, 무거운 작업을 돌린다면, 사양에 따라서는 시스템이 다운되거나 프리징이 걸릴 때도 있어, 업그레이드 준비를 하고 계실 거라 생각이 듭니다.

클라우드 기반 개발 환경을 구축한다면 더 이상, 그럴 필요가 없습니다.

새로운 맥북을 받았나요? 그냥 브라우저만 키면 바로 개발을 시작할 수 있어요
사양 업그레이드를 고민 중이신가요? 그냥 빌려 쓰세요
이전 작업을 다른 기기에서 똑같은 상태로 이어나갈 수 있습니다. 더이상 git commit -m "wip" 하지 마세요!
이미 구글은 클라우드 기반 개발환경을 자체적으로 구축했습니다.

저는 Gitpod 을 사용합니다.

Gitpod은 VS Code 기반의 IDE인데요, Github CodeSpace와 매우 유사한 경험을 제공하고 있고, 체감상 CodeSpace보다 빠른 게 느껴집니다.
새로 컴퓨터를 사면 세팅할 필요 없이 그저 웹브라우저를 띄우면 됩니다.

snap2shot.jpg
영상으로 Gitpod을 알고 싶다면, Rishab Kumar의 Gitpod 소개 영상을 확인해보세요!

보통은 한 개의 레포지토리를 한 개의 워크스페이스로 보는데요, 이 워크스페이스를 켤 때, 별도의 컨테이너가 실행되기 때문에 각자의 프로젝트에 맞게 독립적인 개발환경을 누릴 수 있습니다.

프로젝트에 특별한 요구사항이 있어도 Docker 이미지를 불러와 워크페이스를 띄워, 사전에 정의된 환경으로 작업할 수 있습니다.

image.png
실제 Clojure 프로젝트를 위해 Docker 이미지를 사용자화해서 사용할 수 있습니다.

프로젝트에 .gitpod.yml 파일을 만들어 놓으면, IDE를 켰을 때 어떤 행동을 할지도 자동화할 수 있습니다.

image.png
React 프로젝트 수행 시 워크스페이스를 켰을 때 바로 작업할 수 있게 개발 서버를 실행시키는 부분을 자동화해서 사용할 수 있습니다.

이는 협업 환경에서 더 빛이 나는데요

더는, 새로운 팀원이 새로운 환경에서 프로젝트를 위한 환경을 구축하는데 시간을 사용하지 않아도 됩니다.
Gitpod만 있다면, 누구나 동일한 환경으로 작업할 수 있습니다.

또한, PR리뷰 혹은 긴급하게 수정해야 될 때 더 이상 git stash 할 필요가 없습니다. 
새로운 워크스페이스를 열고 작업을 하면 됩니다. (더 이상 사본을 만들지 마세요!)

개인화도 뛰어납니다.

Gitpod에서 어떤 Shell을 기본으로 사용할지도 선택이 가능하고(tmi: 저는 fish Shell을 사용중입니다.), VS Code 처럼 확장과 설정이 동기화되어 새로운 프로젝트(워크스페이스)를 열 때 설정한 옵션들이 동일하게 적용됩니다.

image.png


그래서 개발 경험이 로컬이랑 똑같나요?

프론트엔드 개발자로서, 네 저는 차이를 느끼지 못했습니다.
백문이 불여일견이죠, 직접 사용해보셨으면 좋겠습니다.

마지막으로...

CI/CD가 등장한 지 몇 해가 지났습니다. 이제 자신의 개발 환경도 자동화할 시간입니다.
감사합니다.

관련된 이야기는 언제든지 환영입니다! 제 트위터로 놀러 오세요 :)

Ref.

Thanks to Mike Nikles, I'm getting a lot of insights from you.




About BAK Chanhee

복잡한 세상, 단순하게 살아갑니다. 있는 그대로.