Amazon Web Services 한국 블로그

AWS Lambda의 10년 – 과거, 현재와 미래

당시 동료였던 Tim Wagner와 2013년에 만났던 기억이 아주 어렴풋이 떠오릅니다. 당시 서버리스라는 용어는 존재하지 않았지만 개발자들이 인프라 대신 코드에 집중할 수 있도록 하는 다양한 방법에 대해 이야기를 나눴습니다.

어느 순간, 두 팔을 하늘로 뻗으며 코드를 그냥 공중에 던져버리면 클라우드가 알아서 가져가 저장하고 실행해주면 멋지겠다고 말했던 기억이 납니다. 이러한 미팅을 여러 차례 가진 후, Tim은 바로 이러한 기능을 갖춘 플랫폼을 구축할 것을 제안하는 PRFAQ를 작성했으며, 2014년에 저는 AWS Lambda – Run Code in the Cloud를 발표할 수 있었습니다.

스타트업부터 엔터프라이즈까지
Lambda와 같은 새로운 제품은 신경 써야 할 설치 기반이 없고 혁신을 해야 하는 스타트업들이 가장 먼저 시도해 보는 경우가 많습니다. 물론 그런 경향이 있기는 했지만 기존 기업, 심지어 대기업들도 마찬가지로 똑같이 빠르게 참여하는 모습을 보고 기분 좋은 놀라움을 느꼈습니다. 몇 번의 실험 끝에 중요한 내부 사용 사례를 지원하는 이벤트 기반 애플리케이션을 구축할 방법을 빠르게 찾을 수 있었습니다. 저는 이를 Lambda가 성공할 것임을 시사하는 초기 징후로 받아들였습니다. 고객들이 새로운 역량을 얻게 되었음을 바로 느낄 수 있었습니다. 아이디어 단계부터 구현 단계까지, 나아가 비즈니스 가치를 실현하는 단계까지 이전보다 훨씬 빠르게 진행할 수 있었고, 그러면서도 확장 가능하고 구성 가능한 방식으로 시스템을 구축할 수 있었습니다.

오늘날 150만 명 이상의 Lambda 사용자가 한 달에 총 수십조 건의 함수를 간접 호출합니다. 이러한 고객은 Lambda를 사용하여 파일 처리, 스트림 처리 (Amazon Kinesis 또는 Amazon MSK와 함께 사용), 웹 애플리케이션, IoT 백엔드, 모바일 백엔드(주로 Amazon API GatewayAWS Amplify도 많이 사용) 및 기타 여러 사용 사례를 지원하고 지원합니다.

서버리스 혁신의 첫 10년
달력을 뒤로 돌려 지난 10년간 출시된 중요한 Lambda 관련 기능을 몇 가지 살펴보겠습니다.

2014AWS re:Invent 2014를 앞두고 Node.js 지원과 S3 버킷, DynamoDB 테이블 및 Kinesis 스트림의 이벤트 트리거에 응답할 수 있는 기능을 갖춘 AWS Lambda를 평가판으로 출시

2015정식 출시, Amazon Simple Notification Service(Amazon SNS) 알림을 트리거로 사용, Java로 작성된 Lambda 함수 지원

2016DynamoDB 스트림 지원, Python 지원, 5분으로 함수 지속 시간 연장(이후 15분으로 연장). VPC의 리소스에 대한 액세스, Amazon Aurora 저장 프로시저에서, 환경 변수서버리스 애플리케이션 모델에서 Lambda 함수를 직접 호출하는 기능 올해에는 Step Functions도 도입되어, 여러 Lambda 함수를 구성하여 더 복잡한 애플리케이션을 구축할 수 있게 되었습니다.

2017AWS X-Ray 지원, AWS SAM Local서버리스 애플리케이션 리포지토리 출시

2018 – 이벤트 트리거로서 Amazon SQS 지원, Lambda 기반 매크로를 사용하여 AWS CloudFormation을 확장하는 기능, 모든 프로그래밍 언어로 Lambda 함수를 작성할 수 있는 기능

2019 – 성능을 추가로 제어할 수 있도록 프로비저닝된 동시성 지원

2020 – 절감형 플랜을 이용하여 최대 17%의 비용 절감, Lambda 함수에서 공유 파일 시스템에 액세스하는 기능, 프라이빗 네트워크를 통해 함수에 액세스하기 위한 AWS PrivateLink 지원, 코드 서명, 1ms 단위로 요금 청구, 최대 10MB의 메모리와 6개의 vCPU를 사용할 수 있는 함수, 컨테이너 이미지 지원.

2021 – S3에서 데이터를 검색할 때 Amazon S3 Object Lambda를 사용하여 데이터 처리, AWS Lambda 확장, Graviton 프로세서에서 Lambda 함수를 실행하는 기능 지원

2022 – 함수 간접 호출 1건당 최대 10GB의 임시 스토리지 지원, Lambda 함수를 처리하는 HTTPS 엔드포인트, 함수 간접 호출의 속도와 예측 가능성을 높이는 Lambda SnapStart

2023 – Amazon S3 Object Lambda에서 CloudFront 지원, 응답 스트리밍, 예측할 수 없는 양의 요청을 처리할 때 12배 더 빠르게 함수 규모 조정

2024 – Lambda 함수 로그를 더 쉽게 캡처 및 검색할 수 있는 새로운 컨트롤, SnapStart에서 ARM64 아키텍처를 사용하는 Java 함수 지원, 재귀 루프 감지, VS Code 기반의 새로운 콘솔 편집기, 향상된 로컬 IDE 경험. 마지막 두 가지 기능은 Lambda 함수를 더 쉽게 구축, 테스트, 디버깅 및 배포할 수 있도록 하여 개발자 경험을 개선하도록 설계되었습니다.

다시 말씀드리지만, 여기에 나와 있는 기능은 실제 출시된 기능 중 일부에 불과합니다. 더 자세한 기능 출시 내역을 살펴보려면 Lambda 카테고리 태그와 Lambda의 새로운 기능을 검색하세요.

서버리스의 향후 10년
처음부터 서버리스의 비전은 개발자가 아이디어를 바탕으로 비즈니스 가치를 더 빠르게 실현할 수 있도록 돕는 데 있었습니다. 이 같은 맥락에서 처음 10년간 Lambda가 나아갈 방향을 살펴보면, 다음과 같은 몇 가지 추세가 명확하게 드러납니다.

기본 선택 옵션 – 서버리스 모델은 앞으로도 계속 사용될 것이며, 시간이 지나면서 기본 운영 모델로 자리잡을 것입니다.

결합성을 실현하기 위한 지속적인 변화 – 시간이 지나면서, 재사용 가능하고 사전 빌드된 구성 요소를 갈수록 서버리스 애플리케이션에 갈수록 더 많이 사용하게 될 것임을 알 수 있습니다. AI 기반 개발 도구 덕분에, 앞으로 새 코드에서는 기존 구성 요소를 새롭고 강력한 방식으로 연결하는 데 집중하는 경우가 많아질 것입니다. 또한 애플리케이션 전반의 일관성과 신뢰성이 향상될 것입니다.

자동화된 AI 최적화 인프라 관리 – Lambda가 인프라 관리에 필요한 시간과 노력을 줄여준다는 사실은 이미 잘 알려져 있습니다. 앞으로는 기계 학습과 다른 형태의 AI가 인간의 개입을 최소화하면서 최적의 리소스를 할당함으로써 비용과 성능을 최적화하는 데 도움을 줄 것입니다. 애플리케이션은 자동화되고 자가 복구되며 내결함성이 있는 인프라에서 실행됩니다.

확장성 및 통합 – 앞서 말한 두 가지 변화의 결과로, 변화하는 조건에 따라 그 어느 때보다 쉽게 확장 및 적응할 수 있어야 한다는 애플리케이션 요구 사항이 나타납니다.

보안 – 자동화된 인프라 관리, 실시간 모니터링 및 다른 형태의 위협 탐지, AI 지원 문제 해결 기능이 함께 유기적으로 작동하여 서버리스 애플리케이션의 보안을 더욱 강화할 것입니다.

몇 가지 Lambda 관련 리소스
이미 Lambda를 사용하여 서버리스 앱을 구축하고 있는 고객도 있겠지만, 새로 시작할 준비가 되셨다면 다음에서 소개하는 몇 가지 리소스가 도움이 될 수 있습니다.

서버리스 교육 – 무료 서버리스 학습 플랜에 등록하여 서버리스 개념, 일반적인 패턴 및 모범 사례에 대해 알아보세요. 서버리스 램프 업 가이드를 읽고, 다양한 주제와 언어로 제공되는 디지털 교육 과정과 오프라인 강의실 교육을 살펴보세요.

사례 연구AWS 서버리스 고객 성공 사례를 검토하여 AWS 고객이 Lambda 및 기타 서버리스 기술을 사용하여 어떻게 환경을 구축하며 혁신하고 있는지 알아보세요.

re:Invent 2024 세션 – re:Invent 2024 세션 카탈로그를 검색하여 서버리스 컴퓨팅 및 컨테이너에 대해 집중적으로 다루는 약 200개의 세션을 찾아보세요.

팟캐스트Marc BrookerJulian Wood가 출연하여 Lambda의 기원, 발전 및 영향력에 대해 이야기하는 AWS 개발자 팟캐스트의 에피소드 137(AWS Lambda: A Decade of Transformation)을 들어보세요.

신간 서적 – 서버리스 개발 및 아키텍처에 관한 최신 서적을 살펴보세요.

AWS Lambda의 과거, 현재, 미래에 대한 이 간략한 설명이 도움이 되셨기를 바랍니다. 의견을 남기고 어떻게 생각하는지 알려주세요!

Jeff;