Infra Tech Update

AWS Lambda, 최신 Ruby 3.4를 만나다!

AWS Lambda

6 min read
AWS Lambda, 최신 Ruby 3.4를 만나다!

2025년 3월 27일 AWS Lambda에서 Ruby 3.4 런타임 지원한다는 공식 발표가 있었습니다. 이제 2024년 12월 25일에 출시된 Ruby의 최신 메이저 버전을 서버리스 환경에서 즉시 활용할 수 있게 되었습니다.

이번 발표는 AWS가 Ruby 3.4를 어떻게 바라보는지 잘 보여주는 예 중 하나라 할 수 있습니다. AWS는 Ruby 3.4에 대해 장기 지원(LTS, Long-Term Support)을 제공합니다. 이는 단기간의 실험적 지원을 넘어 기업 고객과 대규모 프로젝트에서도 Ruby를 안정적으로 사용할 수 있도록 보장한다는 의미입니다. 보안 패치와 안정성 업데이트가 지속적으로 제공해 Ruby를 서버리스 환경에서 장기적으로 운영 가능한 언어로 뿌리내릴 수 있게 하겠다는 AWS가 의지가 느껴집니다. 이처럼 전략적인 LTS 지원 덕분에 Ruby 개발자들은 이제 AWS Lambda 위에서 고성능, 확장성, 비용 효율성까지 모두 갖춘 애플리케이션을 구축할 수 있게 되었습니다.

참고로 이번 업데이트는 중국 및 AWS GovCloud(미국) 리전을 포함한 모든 AWS 리전에서 사용할 수 있으며, 이를 통해 전 세계 어디서든 일관된 환경으로 애플리케이션을 배포하고 운영할 수 있습니다.

Ruby의 철학에 딱 맞는 업데이트 소식

Ruby 언어 창시자인 Matz는 여러 인터뷰를 통해 '개발자 행복(Developer Happiness)'을 강조하였습니다. 이번 업데이트는 이 철학을 서버리스 환경에서 AWS가 충실하게 실현한 것이라 볼 수 있습니다. Ruby 3.4는 오류 메시지와 백트레이스(backtrace)의 가독성을 높여 디버깅 과정을 단축시킵니다. 또한, it이라는 새로운 익명 블록 파라미터(numbers.map { it * 2 })나 간결한 조건부 인자 전달을 위한 nil 처리 같은 문법적 편의 기능은 코드의 가독성과 간결성을 높여 개발자의 만족도를 높여줍니다. 여기에 서버리스 환경이 제공하는 개발 편의성까지 더해진다면? AWS Lambda에서 Ruby 3.4 런타임 지원을 Ruby 커뮤니티가 기다려온 이유가 다 있었던 것입니다.

실제로 이번 업데이트 덕분에 Ruby 개발자들은 바로 체감할 수 있는 새로운 개발 경험을 할 수 있게 될 것으로 보입니다. AWS Lambda에서 Ruby 3.4를 활용하는 방법은 크게 두 가지로 나뉩니다. 첫 번째는 관리형 런타임(Managed Runtime)입니다. AWS가 기본 실행 환경의 관리, 보안 패치, 마이너 버전 업데이트를 자동으로 처리하므로 개발자는 비즈니스 로직 개발에 집중할 수 있습니다. 두 번째는 컨테이너 이미지입니다. 컨테이너 기반 이미지(Container Base Image)로 public.ecr.aws/sam/build-ruby3.4 또는 amazon/aws-lambda-ruby:3.4 같은 공식 기본 이미지를 사용하여 자신만의 Docker 이미지를 빌드하고 배포할 수 있습니다.

실전 테스트

안랩클라우드메이트는 중요 업데이트가 발표되면 바로 테스트에 들어갑니다. Ruby 사용자들이 기다려온 업데이트인 만큼 실제로 AWS Lambda 환경에서 Ruby 3.4 런타임이 어떻게 동작하는지 간단한 코드를 작성해 확인해 보았습니다. 이번 테스트의 목표는 Ruby 3.4 런타임을 정상적으로 선택하고 함수를 배포할 수 있는지 그리고 업데이트된 런타임 인터페이스 클라이언트(RIC)가 예상대로 작동하는지를 확인하는 것으로 잡았습니다. 과정을 간단히 소개하겠습니다.

먼저 AWS Management Console을 통해 함수 이름은 seojun-lambda-ruby-test로, 런타임은 Ruby 3.4로, 아키텍처는 x86_64로 지정하여 새로운 Lambda 함수를 생성했습니다. 함수 코드는 "Hello from Ruby 3.4!"라는 메시지를 반환하도록 간단하게 작성했습니다.

기본 템플릿으로 테스트 이벤트를 실행해보니 함수는 예상대로 성공적인 응답을 반환했습니다. 이후 CloudWatch 로그의 주요 지표를 분석했습니다.

분석해보니 콜드 스타트 시 초기화 시간(Init Duration)은 약 223ms로 준수한 수준이었습니다. 또한, 간단한 "Hello World" 함수에 대해 실행 시간(Duration)은 2.21ms, 최대 메모리 사용량(Max Memory Used)은 32MB로 나타나, 런타임이 기본적인 작업에 대해 매우 가볍고 효율적으로 동작함을 확인했습니다.

Ruby 개발자의 새로운 가능성

이번 AWS Lambda의 Ruby 3.4 지원은 단순한 기술 업데이트를 넘어 Ruby 커뮤니티에 새로운 가능성의 시대를 여는 중요한 변곡점이 되지 않을까 기대해 봅니다.

YJIT를 통한 혁신적인 성능, 개발자 경험을 최우선으로 고려한 개선으로 Ruby 3.4는 매우 중요한 릴리즈로 커뮤니티가 받아들이고 있습니다. AWS의 시기적절한 LTS 지원은 Ruby를 서버리스 세계의 중요 요소로 확고히 자리매김하게 하는 강력한 보증입니다. 이제 Ruby 개발자들은 AWS Lambda 위에서 고성능의 확장 가능하며 비용 효율적인 애플리케이션을 그 어느 때보다 더 강력하고 매력적인 환경에서 구축할 수 있게 되었습니다.

Share This Post

Check out these related posts

Amazon EKS, 커뮤니티 애드온 살펴보기

Amazon S3 콘솔, 모든 버킷 외부 액세스 요약 표시

Database Insights, 메트릭 대시보드 사용자 정의 지원 추가