
인터넷 결제 서비스 회사인 Stripe 소프트웨어 엔지니어인 Soam Vasani는 런던에서 진행하는 엔터프라이즈 개발자 컨퍼런스인 QCon에서 비즈니스가 원격 코딩으로 전환하고 있다고 설명했다. 그에 따르면, 개발자들은 데스크톱에서 Visual Studio Code를 사용하여 AWS EC2(Elastic Compute Cloud)의 가상 머신에 있는 코드를 편집할 수 있다.
Soam Vasani는 "우리가 구축하는 모든 소프트웨어는 높은 수준의 중요도를 가지고 있다"라면서 “이러한 요구 사항은 팀이 프로덕션보다 개발 환경의 정확성에 높은 우선 순위를 두는 것을 의미한다”고 설명했다. 또한 버그를 조기에 포착할 수 있도록 빠른 피드백도 매우 중요하다고 말했다.
Vasani에 따르면, Stripe 코드베이스는 수백만 줄의 코드가 있는 ‘Ruby 단일체’다. Ruby는 동적으로 유형이 지정되며 코드 유효성을 검사하기 위해 단위 테스트를 실행해야만 일부 오류를 발견할 수 있다. Vasani는 “동적 타이핑은 또한 인지 부하를 부과한다”고 말하면서 "각 매개변수가 무엇인지 파악하기 위해 모든 코드를 읽어야 하므로 사람들이 대규모 코드 변경을 두려워하게 됐다”고 말했다.
이와 관련, 2017년에 등장한 Sorbet 이라는 오픈 소스 프로젝트인 유형 검사기는 해당문제해결에도움이 된다. LSP(Language Server Protocol)도 지원하므로 편집기에서 코드를 구문 분석하고 오류를 강조 표시하고 정의 및 참조를 찾는 등의 작업을 수행할 수 있다.
또한 Stripe는 개발자에게 AWS VM을 할당하고 개발자는 이를 devbox라고 하는 동기화 서비스에 코드가 저장될 때마다 복사하도록 했다. devbox의 서비스는 변경 사항을 선택하고 영향을 받는 모든 마이크로 서비스를 새 코드로 업데이트하므로 개발자는 프로덕션 환경과 가까운 곳에서 결과를 테스트할 수 있다.
더불어, devbox에서 Visual Studio Code 서버를 사용함으로써 코드는 원격 시스템에서 직접 편집되고 디버깅된다. Vasani는 "노트북에서 실행되는 것은 편집기 UI이며, 서버는 필요한 모든 확장 통합을 실행한다”면서 “한 가지 좋은 이점은 개발자를 위한 로컬 설정이 더 이상 필요하지 않다는 것이다”라고 말했다.
이어 “이러한 개발 환경이 클라우드에 있기 때문에 제어할 수 있으므로 모든 것이 제대로 작동하는지 확인하기 위해 기존의 메트릭과 경고를 사용할 수 있다”고 말했다.
[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]