>백엔드 개발 >PHP 튜토리얼 >Laravel 앱을 AWS Serverless로 마이그레이션 한 이유 (시간과 비용을 절약 할 수있는 이유)

Laravel 앱을 AWS Serverless로 마이그레이션 한 이유 (시간과 비용을 절약 할 수있는 이유)

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-28 12:04:15357검색

Why I Migrated My Laravel App to AWS Serverless (And Why It Could Save You Time and Money)


스포일러 경고 : 비용 절감에 관한 것이 아닙니다 (내 은행 계좌는 그것을 높이 평가하지만!).

이것을 상상해보십시오 : 당신은 놀라운 라벨 응용 프로그램을 제작했습니다 - 걸작, 기능으로 가득 찬 다양한 도구. 그러나 걸리기가 있습니다. 활용률이 낮은 EC2 인스턴스에 대해 매월 지불하고 있으며 스케일링은 문어와 레슬링처럼 느껴집니다.

친숙한 소리? 그것은 나에게했다. 3 년 전, 나는 믿음의 도약을했다 : 나는 AWS Lambda에 PHP를 배치했다. 반응? "PHP에 대한 PHP? Heresy!" 아직, 여기서 나는 3 년 후, 개종자입니다. 서버리스 라벨 아키텍처가 왜 필요한지 알지 못하는 클라우드 업그레이드인지 설명하겠습니다.

전통적인 라 라벨 호스팅의 도전

(또는 : 내 EC2 사례가 실존 위기를 겪은 이유)

서버리스 전에 Laravel 앱이 EC2에 거주했습니다. 초기화되지 않은 경우 EC2는 Amazon의 가상 개인 서버 오퍼링입니다. 현실이 치기 전까지는 이상적으로 보였다 :

a) 일정한 비용
EC2 인스턴스를 실행하는 것은 영구적으로 달리는 자동차를 소유하는 것과 같습니다. 내 앱은 항상 바쁘지는 않았지만 비용은 계속 축적되었습니다. EC2 인스턴스,로드 밸런서 및 스토리지 사이에서, 나는 크게 유휴 시스템에 약 110 달러를 소비했습니다. 내 예산? 즐거워하지 않습니다.
  1. 나는 재산이 아니라 솔로 개발자에게는 모든 달러가 카운트가된다는 것을 알고 있습니다.

    b) 스케일링 악몽 EC2 인스턴스는 예측할 수 없습니다. 트래픽 급증? 충돌. 트래픽이 적습니까? 여전히 돈을 태우고 있습니다. 자동화를 관리하는 것은 끊임없는 투쟁이었습니다.

    c) 예상치 못한 DevOps 책임
  2. laravel 개발 예기치 않게 Sysadmin 작업이 포함되어 있습니다 : 홀수 시간에 패치, 서버 구성 디버깅 - 이상적인 워크 플로가 아닌

그때이 문제를 완벽하게 해결하는 솔루션 인 Serverless를 탐색했을 때입니다.

aws serverless : PHP의 클라우드 변환

명확히하자 : 서버리스는 서버를 의미하지 않습니다. 이는 AWS가 서버 관리를 처리한다는 것을 의미합니다. 나는 코딩에 중점을 둡니다.
a) Lambda : 주문형 실행 엔진

AWS Lambda는 이벤트 중심의 컴퓨팅 서비스입니다. 이벤트 (HTTP 요청 등)에 대한 응답으로 코드를 실행하고 완료되면 사라집니다. 유휴 비용 없음 :

실행 시간에 대해서만 지불하십시오. 손쉬운 스케일링 :
람다는 트래픽 스파이크를 처리하기 위해 자동으로 스케일링됩니다 무국적 아키텍처 : 각 실행에 대한 깨끗한 슬레이트, 모듈 식 설계 홍보.

b) 관리 서비스 : 지원 캐스트 Serverless는 관리 서비스 제품군을 활용합니다
    데이터베이스 : SQL 데이터베이스의 경우 aurora serverless (mysql/postgres)
  • 스토리지 : 확장 가능한 파일 스토리지의 경우 S3 메시지 대기열 : 비동기 작업 처리를위한 sqs
  • c) PHP 과제 해결
  • PHP는 처음에 서버리스 용으로 설계되지 않았습니다. LARAVEL의 적응이 필요합니다 세션 : 외부 데이터베이스 (MySQL, redis)로 마이그레이션합니다 파일 스토리지 : Laravel의 스토리지 외관을 통해 S3를 사용하십시오 대기열 처리 : SQS를 큐 드라이버로 사용하십시오 캐싱 :
  • redis 또는 dynamodb를 사용하십시오 부팅 시간 최적화 :
  • 콜드 시작 최소화 불필요한 종속성을 제거하여 콜드 시동을 최소화합니다. 구성 관리 : 보안 구성을 위해 AWS 비밀 관리자 또는 매개 변수 저장소 사용.
서버리스는 서버를 교체하는 것이 아닙니다. 건축 적 다시 생각에 관한 것입니다

서버리스로 Laravel의 잠재력을 발휘합니다
  • 서버리스 라 라벨은 제공합니까? 전적으로. 더 빠르고 확장 가능하며 비용 효율적인 솔루션을 제공하면서 전통적인 호스팅 문제를 해결합니다. a) 콜드 스타트 ​​: 기대 관리 콜드 스타트 ​​(람다가 새 인스턴스를 초기화하는 람다)를 관리 할 수 ​​있습니다 현실 : 일반적인 콜드 스타트는 ~ 3-5 초입니다 솔루션 : Laravel Octane (앱을 계속 유지), 프로비저닝 된 동시성 (전역 사전 인스턴스).
  • 대부분의 앱의 경우 특히 피크 트래픽 중에 간단한 지연이 허용됩니다. b) 손쉬운 스케일링
  • 스케일링은 자동입니다. 바이러스 성 앱? Lambda는 개입없이 급증을 처리합니다 c) 비용 절감 : 결론 내 EC2 비용은 월 $ 110/월입니다. 내 람다 비용? ~ $ 34/월 (70% 감소!) 서버리스는 돈을 절약하고 정신 에너지를 해방합니다

    참고 : 처음에는 MySQL 인스턴스를 사용했습니다. 향후 게시물은 추가 비용 최적화를 위해 DynamoDB를 탐색합니다

    d) 유지 보수 자유 : 해방
    Serverless는 서버 유지 보수를 제거합니다 :

    자동 업데이트. 단순화 된 구성. <.> 탄성 용량. 소방이 아닌 기능에 중점을 둡니다.

    는 서버리스 라 라벨이 당신에게 적합합니까?

    서버리스는 모든 앱에 대한 것이 아닙니다. 무국적 특성에는 건축 조정이 필요합니다. 이러한 요소를 고려하십시오 : a) 무관 : 적응이 필요합니다

    Laravel의 상태가 많은 작업에는 세션, 파일, 로그, 구성 및 대기열이 필요합니다. b) 공급 업체 잠금 장치 AWS 서비스는 독점적입니다. 다른 플랫폼으로의 마이그레이션에는 노력이 필요합니다 c) 서버리스를 피할 때 서버리스 피하기 : websockets, 무거운 계산 워크로드 및 지속적인 서버 상태에 크게 의존하는 응용 프로그램.
    • > 다음은 무엇입니까?
    • Serverless Laravel은 상당한 이점을 제공합니다. 구현 단계를 자세히 설명하고 Part 2에 대해 계속 지켜봐주십시오.
    • 당신의 생각 :
    • 가장 큰 서버리스 문제는 무엇입니까? 아래에서 공유하십시오! 2 부에서 상위 3 개를 다룰 것입니다

위 내용은 Laravel 앱을 AWS Serverless로 마이그레이션 한 이유 (시간과 비용을 절약 할 수있는 이유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.