이 기사는 AWS 서버리스에 Laravel 애플리케이션을 배포하면 기존의 EC2 호스팅과 대조되는 이점을 살펴 봅니다. 저자는 리소스 집약적 인 EC2 설정에서 비용 효율적이고 확장 가능한 서버리스 아키텍처로 마이그레이션하는 경험을 공유합니다.
(또는 : 내 EC2 사례가 실존 위기를 겪은 이유) 서버리스 이전에 Laravel 애플리케이션이 EC2에 거주했습니다. 초기화되지 않은 경우 EC2는 Amazon의 가상 개인 서버 버전으로, 코드를 실행하기 위해 기계 조각을 빌려줍니다. 멋지네요? 현실이 불량
<:> a) 먼저 : 존재 비용 EC2 인스턴스를 실행하는 것은 운전을 원하는 경우를 대비하여 24/7을 달리는 테슬라를 소유하는 것과 같습니다. 내 응용 프로그램은 항상 바쁘지는 않았지만 미터를 멈추지는 않았습니다. EC2 인스턴스,로드 밸런서 및 공유 스토리지 사이에서 나는 대부분의 시간을 유휴 상태로 한 서버 스택에 월 약 110 달러를 소비했습니다. 내 지갑? 타이타닉처럼 침몰했습니다.
나는 그랜드 사물의 계획에 크게 많지 않지만 솔로 개발자/기업가로서 모든 달러가 중요하다.
유휴 비용 없음 : 실행 시간 만 지불합니다 (밀리 초로 측정 됨) .
자동 스케일링 매직
sudo
그때는 대안을 탐색하기 시작했을 때 서버리스 가이 두통에 대한 완벽한 해결책으로 눈에 띄었습니다.
stationeless by design : 매번 새로운 시작과 같습니다. 디자인은 모듈 식으로 생각하도록 강요합니다.
Database : SQL 애호가를위한 Aurora Serverless (MySQL/Postgres)와 같은 옵션
S3 : 디스크 공간이 부족할 걱정없이 파일을 저장하십시오.
sqs : 장기 실행 작업을 해체하여 비동기 적으로 처리합니다
가 아니었다. 그것은 물고기에게 나무를 오르라고 요청하는 것과 같습니다. 불평 할 것이지만 결국에는 그렇게 할 것입니다. 전통적으로 PHP-FPM에 의존하는 Laravel은 Lambda의 임시 세계에서 번성하기 위해 약간의 조정이 필요했습니다.
Storage
파일을 교체하십시오.
: 요청간에 응용 프로그램을 계속 유지하여 시작 시간을 줄입니다. 후속 요청은 ~ 200ms 이하로 처리됩니다 Provisioned 동시성 : 중요한 엔드 포인트에 대한 AWS 프리 월스 인스턴스 (추가 비용이지만 핵심 엔드 포인트의 경우 가치가 있지만) .
MySQL 인스턴스 (db.t4g.medium) :
lambda : /month
: 이전에 패치를 적용하거나 생산 문제를 디버깅하는 데 소요되는 시간은 이제 기능 구축 및 사용자 경험을 향상시키는 데 투자되었습니다.
: 지속적인 디스크 또는 서버 상태가 리팩터에 비용이 많이들 수 있다고 가정하는 응용 프로그램.
(60% 절약!)
rds mysql instance (db.t4g.medium) :
이 시점에서 나는 여전히 MySQL 인스턴스를 내 데이터베이스 엔진으로 사용하고있었습니다. 향후 게시물은 비용을 더욱 줄이기 위해 DynamoDB로 마이그레이션을 탐색 할 것입니다.
탄성 용량 : 사용하지 않은 서버 리소스에 대한 초과 지불을 잊어 버리거나 트래픽 스파이크 중에 더 많은 조항을 제공하기 위해 스크램블링하는 것을 잊어 버리십시오. Lambda는 자동으로 수요를 충족시키고 유휴 상태에서 청구를 중지합니다.
소방이 아닌 기능에 중점을 둡니다.
무거운 컴퓨팅 하중 : AI/ML 추론 또는 비디오 인코딩과 같은 작업은 Lambda의 15 분 시간 제한에 도달 할 수 있습니다.
당신은 Stateful Services에 의존합니다
위 내용은 Laravel 애플리케이션을 AWS Serverless로 마이그레이션 한 이유 (시간과 비용을 절약 할 수있는 이유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!