AWS-Hosting der SPA Web App

Sep 17 2020

Ich habe erst kürzlich begonnen, AWS für meine SPA-Web-Apps zu verwenden. Und ich habe viel über verschiedene Arten gelesen, wie Web-Apps auf AWS gehostet werden können. Ich habe mich mit Lambda, S3 Static Hosting befasst. EC2. Aber ich kann nicht herausfinden, wie AWS genutzt werden kann, und es bietet den bestmöglichen Service.

Meine Web-App besteht aus einem in Vue js geschriebenen Frontend. Welches verwendet eine Backend-API in Laravel geschrieben. Das Front-End und das Back-End sind isoliert, sodass sie nicht auf demselben Computer platziert werden müssen. Ich denke, das könnte einige gute Möglichkeiten für die Verwendung der verschiedenen AWS-Produkte bieten? Die Datenbank ist nur mit der Backend-API verbunden, sodass das Frontend statisch ist. Ich bin auch offen für den Wechsel zu einem anderen Datenbanktyp, wenn dies besser in die AWS-Umgebung passt. Ich weiß jedoch nicht, ob ich das Frontend und die API in verschiedene Dienste aufteilen soll.

Danke im Voraus!

Antworten

1 DannySchoemann Sep 22 2020 at 21:10

Die AWS-Antwort wäre, für jede Komponente geeignete Services zu verwenden.

ZB die Datenbank auf ein RDS stellen - sie haben mehrere Möglichkeiten. Stellen Sie das Front-End mit Fargate und Lambda bereit.

Es sind zwei Punkte zu beachten:

1. Die Lernkurve.

Es kann zeitlich sehr teuer werden, sich mit der AWS-Technologie vertraut zu machen und mit ihnen Schritt zu halten, wenn kleinere Änderungen vorgenommen werden, die Verzögerungsbereitstellungen unterbrechen.

OTOH, sobald Sie ein Experte für diese Technologien sind, können Sie sie mit erstaunlichen Ergebnissen nutzen.

2. Die Kosten:

Während Sie sich entwickeln, verwenden Sie meistens die kostenlose Stufe, und die Kosten sind minimal.

Sobald Sie in die Produktion wechseln, müssen Sie "echte" Maschinen einsetzen, und selbst wenn dies nicht der Fall ist, haben die meisten Dienste einen Ablauf für ihre kostenlose Stufe: 12 Monate und / oder eine bestimmte Nutzungsdauer.

Ab diesem Zeitpunkt steigen die Kosten in die Höhe. von Kleingeld bis zu 3 oder sogar 4-stelligen Zahlen für eine kleine Installation.


Der andere Ansatz besteht darin, es so zu machen, wie Sie es ohne AWS tun würden.

Sie haben mir nicht viele Details angegeben, aber wenn Sie etwas Einfaches bereitstellen, möchten Sie möglicherweise eine EC2-Instanz starten, einen LAMP-Server installieren und für Front- und Back-End verwenden.

Sie können dann den Lifecycle Manager verwenden, um die gesamte Maschine täglich zu sichern.

Wenn Sie dies jedoch stark skalieren müssen, müssen Sie bei Null anfangen.


Also, was wählst du?

Die Antwort hängt von Ihren Ressourcen ab: Zeit, Geld und Personal sowie davon, wie sich dies von einem einmaligen Projekt zu einer langfristig stark genutzten Installation entwickelt, die Redundanz, Lastausgleich und die Fähigkeit zur dynamischen Skalierung erfordert.

Sie können sich auch AWS Beanstalk ansehen, das einfacher zu implementieren und erneut bereitzustellen ist, jedoch nicht so dynamisch wie der serverlose Ansatz.