공유된 기사
"러스트와 서버리스의 마법 같은 조합, AWS re:Invent 컨퍼런스에서 발표된 파이썬 대비 비용 절감 효과"


AWS re:Invent 컨퍼런스에서의 발표에 따르면, Rust와 서버리스는 마법 같은 조합이며, Python을 사용하는 것보다 몇 배 더 저렴할 수 있다고 한다. 클라우드 컨설팅 회사 CloudEX의 엔지니어링 팀장인 Efi Merdler•Kravitz는 Python으로 작성된 전체 Lambda 함수를 Rust로 재작성할 필요는 없다고 설명했다. 그는 Python을 사용하여 S3(Simple Storage Service) 버킷을 나열하는 Lambda 함수의 예를 들었는데, Python용 AWS SDK인 Boto3가 부풀려 있어, Boto3가 필요한 함수를 Rust로 대체하면 비용과 성능에서 큰 이득을 볼 수 있다고 말했다.
Python 코드를 Rust로 대체하는 핵심은 PyO3로, 이는 Python을 위한 Rust 바인딩을 제공한다. Rust 코드의 속성은 표준 Python 인터페이스로 함수를 노출한다. Merdler•Kravitz가 제시한 예시에서는, Rust를 사용하면 cold start가 3배 빨라지고 메모리 요구량이 크게 줄어든다. 1GB의 RAM에서는 Rust와 Boto3 코드의 성능이 비슷했지만, 256MB에서는 Rust가 향상된 버전이 여전히 잘 작동하는 반면, 다른 버전은 그렇지 않았다.
AWS는 re:Invent에서 Rust용 SDK가 제품 준비가 완료되었다고 선언했다. 또한 11월에는 클라우드 거인이 Amazon Linux 2023을 Lambda에 추가했는데, 이는 "Go나 Rust와 같이 네이티브 코드로 컴파일되는 언어를 사용할 때"의 주요 사용 사례 중 하나라고 밝혔다. 또한 AWS Lambda를 위한 실험적인 Rust 런타임도 있으며, 이는 Rust에서 함수를 실행하는 것을 단순화하고, Lambda 이벤트, 확장, Lambda Runtime API를 지원하는 크레이트를 포함한다.
Python 코드를 Rust로 대체하는 핵심은 PyO3로, 이는 Python을 위한 Rust 바인딩을 제공한다. Rust 코드의 속성은 표준 Python 인터페이스로 함수를 노출한다. Merdler•Kravitz가 제시한 예시에서는, Rust를 사용하면 cold start가 3배 빨라지고 메모리 요구량이 크게 줄어든다. 1GB의 RAM에서는 Rust와 Boto3 코드의 성능이 비슷했지만, 256MB에서는 Rust가 향상된 버전이 여전히 잘 작동하는 반면, 다른 버전은 그렇지 않았다.
AWS는 re:Invent에서 Rust용 SDK가 제품 준비가 완료되었다고 선언했다. 또한 11월에는 클라우드 거인이 Amazon Linux 2023을 Lambda에 추가했는데, 이는 "Go나 Rust와 같이 네이티브 코드로 컴파일되는 언어를 사용할 때"의 주요 사용 사례 중 하나라고 밝혔다. 또한 AWS Lambda를 위한 실험적인 Rust 런타임도 있으며, 이는 Rust에서 함수를 실행하는 것을 단순화하고, Lambda 이벤트, 확장, Lambda Runtime API를 지원하는 크레이트를 포함한다.