2019년 첫 번째, 루비 모임 Seocho.rb 후기

2019-01-24

seocho_rb_1

2019년 1월 23일 수요일, 강남 메가존 지하 1층 대강연장에서 Seocho.rb 모임이 열렸습니다. 아직 한겨울이여서 날이 많이 춥고, 미세 먼지도 기승을 부리던 날이었지만, 20여 명의 Rubyists가 모여 발표도 듣고 커뮤니케이션하는 좋은 행사였습니다. 오늘 모임의 주제는 서버리스 루비였고, 모임을 개최하신 seapy님, nacyot님께서 발표해주셨습니다.

첫 번째 발표는 ‘AWS 람다 커스텀 엔진으로 루비 2.6 실행하기’ 였습니다. AWS에서 Lambda 서비스에 대한 Ruby 공식 지원을 발표했지만, 최신 릴리즈 2.6이 아닌 2.5을 지원합니다. 따라서 endless와 같은 Ruby 2.6의 멋진 기능들을 지원하지 못합니다. 이 때, Ruby 지원과 함께 발표된 Custom Runtime을 만들면 자신의 입맛에 맞는 Ruby의 특정 버전을 사용할 수 있습니다. 하지만 Lambda 실행을 위한 bootstrapping이 필요한데 이를 실제로 사용할 수준으로 구현하는 것이 까다롭습니다. seapy님께서는 멋진 hacking을 통해서 공식 Ruby2.5 Runtime의 bootstrap 코드를 추출하여 Custom Runtime에 맞게 빌드하는 방법을 보여주셨습니다. 자세한 설명 및 코드는 아래 참고자료에 소개되어 있습니다. 마이크로서비스 아키텍쳐와 서버리스 컴퓨팅이 강조되는 현 트렌드에서 Ruby를 사용하는데 큰 도움이 될 것 같습니다.

두 번째 발표는 ‘도커를 활용한 로컬 AWS 람다 개발 환경 구축하기’ 였습니다. Lambda는 매우 편리한 클라우드 서비스인 것은 분명하지만, 그 세부적인 동작이 불분명합니다. 따라서 디버깅할 때, 난해한 점이 이따금 있습니다. 이에 최대한 실제 서비스와 동일한 환경에서 Lambda의 동작을 테스트해보기 위한 docker-lambda라는 오픈소스가 있습니다. 하지만 실제 서비스와 완벽하게 동일한 환경을 보장하지 않는다는 점을 명심해야 합니다. nacyot님께서는 이 때, 주의해야할 점, 예를 들어 gem을 추가 설치할 때 제대로 동작하지 않는다는 점 등을 짚어주셨는데, 추후에 44bits.io를 통해 정리된 글을 볼 수 있을 것 같습니다.

발표 후에는 자연스럽게 그룹을 나누어 루비 및 레일즈 그리고 개발 전반에 대한 이야기를 나눴습니다. 각자 루비를 어떻게 사용하고 있는지 많이 궁금했는데, 대부분 레일즈를 통해 루비를 사용하고 있고, 많은 회사가 루비를 사용하고 있었습니다. 저같은 경우 루비와 레일즈를 사용한지 얼마 안되었지만, 많은 루비 개발자들을 만나 궁금한 것을 물어볼 수 있는 좋은 자리였습니다. 이야기를 나누며 루비와 레일즈는 충분히 경쟁력 있는 도구이며, 완성도 높은 도구라는 것을 느꼈습니다.

기회가 된다면 저도 언젠가 Seocho.rb에서 발표를 해볼 수 있지 않을까 생각하게 되었습니다. 앞으로 많은 루비 & 레일즈 행사가 열리기를 기대합니다.


참고자료