Heim >Backend-Entwicklung >PHP-Tutorial >Wie führe ich PHP auf einer AWS ServerLess-Architektur aus? Teil zur Einführung der Bref-Laufzeit
Im vorherigen Beitrag dieser Serie habe ich serverlose Dienste und Lambda besprochen. Jetzt ist es an der Zeit zu zeigen, wie PHP-Skripte oder sogar vollständige Anwendungen auf AWS Lambda ausgeführt werden können.
In diesem Beitrag erkläre ich, wie man die Bref-Laufzeitumgebung verwendet und ein Repository mit einer Beispielimplementierung freigibt, indem ich die Symfony-Demoanwendung und Terraform verwende.
Matthieu Napoli, ein unabhängiger Berater und AWS Serverless Hero, führte Bref im Jahr 2018 ein und seitdem floriert Bref und bediente im Juli mehr als 40.000.000.000 Aufrufe, mit einem Wachstum von 300 % im Jahresvergleich.
Bref ist eine benutzerdefinierte Lambda-Laufzeit. Oder besser gesagt Laufzeiten, denn es gibt ihn in drei Geschmacksrichtungen.
Fast jede Art von PHP-Anwendung läuft mit Bref. Die Dokumentation bietet schöne Tutorials basierend auf Laravel und Symfony.
Das Anpassen einer vorhandenen Anwendung ist recht einfach (Bref bietet beispielsweise eine nette bref/symfony-messenger-Bibliothek, um Symfony Messenger so anzupassen, dass es SQS anstelle seines internen Busses verwendet – zur Erinnerung: Ausführungsumgebungen verarbeiten nur eine Anfrage gleichzeitig und sind kurzlebig. Daher ist das Verschieben von Daten auf einen kurzlebigen internen Bus das Rezept für Datenverlust.
Die einzige Einschränkung besteht wirklich darin, dass Sie eine extreme Reaktionsfähigkeit benötigen (z. B. 100 % Ihrer Anfragen innerhalb von 10 ms bearbeitet). Tatsächlich fügt das Framework einen Kaltstart von 230 ms hinzu. Dennoch können Sie, wie im vorherigen Artikel dieser Serie erwähnt, dies durch die Verwendung bereitgestellter Parallelität abmildern (und wenn Sie dies tun möchten, ohne zu viel auszugeben, ist die automatische Skalierung von Anwendungen Ihre erste Wahl).
Die oben genannten Symfony/Larevel-Dokumentationen verwenden das Serverless-Bereitstellungsframework, um Bref-basierte PHP-Anwendungen bereitzustellen.
Andere Artikel (hier und hier) untersuchen das CDK als Bereitstellungsoption.
Ich bin eher ein Terraform-Fan und freue mich daher, unten ein voll funktionsfähiges Repository mit Terraform als Bereitstellungsoption zu teilen.
Dies erfordert nur 8 einfache Schritte
Im folgenden GitHub-Repository teile ich ein voll funktionsfähiges Setup zum Bereitstellen dieser App:
Dieses Repository zeigt, wie es geht
Nachdem Sie sich mit Ihrer CLI bei AWS angemeldet haben, führen Sie es einfach aus
terraform apply
Die Datei data.sql enthält die notwendigen Daten zum Seeding der Aurora-Datenbank. Sie können es mit einer Bastion bereitstellen.
Bleiben Sie gespannt auf meinen nächsten Beitrag zum Thema „Wie man PHP-Code auf Lambda mit dem Lambda Web Adaptor bereitstellt!“!
Das obige ist der detaillierte Inhalt vonWie führe ich PHP auf einer AWS ServerLess-Architektur aus? Teil zur Einführung der Bref-Laufzeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!