How to Speed Up Your AWS Lambda Functions (Korean)
Offered By: Amazon Web Services via AWS Skill Builder
Course Description
Overview
시나리오
AnyCompany, Inc.의 DevOps 엔지니어로서 회사의 제품 API 성능 개선 담당 업무를 맡았습니다. 이 제품 데이터는 Amazon DynamoDB 테이블에 저장됩니다. 고객은 AWS Lambda 함수에 요청을 매핑하는 Amazon API Gateway 엔드포인트를 통해 이 데이터와 상호 작용합니다. 이 애플리케이션은 다음과 같은 작업을 처리합니다.
- 새 제품을 생성하는 HTTP Post 메서드
- 제품 목록을 검색하는 HTTP Get 메서드
- 제품 ID로 제품을 검색하는 HTTP Get 메서드
- 제품을 삭제하는 HTTP Delete 메서드
고객이 모든 요청에 대해 100ms 미만의 응답 시간을 원하지만 평균적으로 더 많은 시간이 소요된다는 것을 확인했다고 말합니다. 고객은 가끔 1초 이상 소요되는 응답 시간을 목격하기도 합니다. 이러한 문제는 애플리케이션이 부하를 받을 때(초당 요청 수 약 200개) 더 일반적입니다.
제품 API를 최적화하여 평균 응답 시간을 최대한 단축하고 1초 이상 소요되는 응답을 해결하는 업무를 맡았습니다. AWS Cloud9을 개발 및 테스트 환경으로 사용하면 고객의 기대치에 맞게 Lambda 함수를 최적화할 수 있습니다. Locust라는 오픈 소스 부하 테스트 도구를 사용하여 애플리케이션에 대한 부하를 생성합니다.
실습 개요
Lambda에 대해 자세히 알아보겠습니다. DevOps 엔지니어로서 서버리스 애플리케이션의 Lambda 응답 시간을 개선해야 합니다. 이 실습을 마치면 동시성, 함수 메모리 크기, 콜드 스타트, Lambda 함수를 사용하여 최적의 결과를 달성하는 방법을 이해할 수 있습니다. Lambda 함수의 수명 주기를 살펴보고 성능에 맞게 함수를 최적화하는 방법을 알아봅니다.
목표
이 실습을 마치면 다음을 수행할 수 있게 됩니다.
- AWS Serverless Application Model(AWS SAM)을 사용하여 Lambda 함수 배포
- Lambda 함수의 성능 특성을 관찰하여 성능 개선의 여지가 있는 부분 파악
- Lambda 함수의 메모리 크기 한도를 조정하여 성능 최적화
- Lambda 함수 수명 주기에 대한 지식을 응용하여 함수를 최적화하는 단계 파악
- Lambda 함수에서 프로비저닝된 동시성 및 예약된 동시성 구성
- 프로비저닝된 동시성 및 예약된 동시성을 사용하여 Lambda 함수 성능 최적화
필수 기술 지식
이 실습에서는 Locust라는 오픈 소스 부하 테스트 도구를 사용하여 애플리케이션에 대한 부하를 생성합니다. Locast 웹 인터페이스는 Locast의 기본 포트인 포트 8089를 사용합니다. 이 실습을 실행하는 동안에는 VPN을 통해 연결하지 마십시오. 포트 8089가 VPN에 의해 차단되어 일부 단계에서 오류가 발생할 수 있습니다.
소요 시간
이 실습을 완료하려면 약 60분이 소요됩니다.
아이콘 설명
이 실습에서는 다양한 유형의 지침 및 참고 사항에 대한 주의를 환기하기 위해 다양한 아이콘이 사용됩니다. 각 아이콘의 목적은 다음과 같습니다.
- 명령: 실행해야 하는 명령입니다.
- 예상 출력: 명령 또는 편집된 파일의 출력을 확인하는 데 사용할 수 있는 샘플 출력입니다.
- 참고: 힌트, 팁 또는 중요한 지침입니다.
- 자세히 알아보기: 자세한 정보를 찾을 수 있는 위치를 나타냅니다.
- 고려 사항: 자신의 환경에 개념을 적용하는 방법을 고려하거나 당면한 주제에 대한 대화를 시작하기 위해 일시 중지할 시점입니다.
- 주의: 특별히 관심을 가질 중요한 정보입니다(놓쳤다고 해도 장비나 데이터에 문제가 발생할 정도로 중요하지는 않지만 특정 단계를 반복해야 할 수 있음).
Tags
Related Courses
Amazon DynamoDB: Building NoSQL Database-Driven ApplicationsAmazon Web Services via edX Amazon DynamoDB: Building NoSQL Database-Driven Applications
Amazon Web Services via Coursera Storing Data on AWS
Pluralsight AWS DynamoDB Fundamentals
Pluralsight Developing .NET Core Applications with DynamoDB on AWS
Pluralsight