Wichtige Überlegungen bei der Verwendung von AWS für Webhosting
Es gibt einige wichtige Unterschiede zwischen der AWS Cloud und einem herkömmlichen Webanwendungshosting-Modell. Der vorherige Abschnitt wies auf zahlreiche wichtige Bereiche hin, die Sie bei der Implentierung einer Webanwendung in der Cloud berücksichtigen sollten. In diesem Abschnitt werden einige der wichtigsten architektonischen Veränderungen aufgezeigt, die Sie berücksichtigen müssen, wenn Sie eine Anwendung in die Cloud bringen.
Keine physischen Netzwerkgeräte mehr
Sie können keine physischen Netzwerkgeräte in AWS bereitstellen. Firewalls, Router und Lastenverteilung für Ihre AWS-Anwendungen können sich nicht mehr auf physischen Geräten befinden, sondern müssen durch Softwarelösungen ersetzt werden. Es gibt eine Vielzahl von Softwarelösungen in Unternehmensqualität, sei es für die Lastenverteilung oder den Aufbau einer VPN-Verbindung. Dies stellt keine Beschränkung für Anwendungen dar, die in der AWS Cloud ausgeführt werden können. Die Architektur Ihrer Anwendung wird sich aber ändern, wenn Sie diese Geräte heute nutzen.
Überall Firewalls
Wo es früher eine einfache demilitarisierte Zone
Bedenken Sie die Verfügbarkeit mehrerer Rechenzentren
Stellen Sie sich Availability Zones innerhalb einer AWS-Region als mehrere Rechenzentren vor. EC2-Instances in unterschiedlichen Availability Zones sind logisch wie physisch getrennt und bieten ein einfaches Modell für hohe Verfügbarkeit und Zuverlässigkeit Ihrer Anwendung auf mehreren Rechenzentren. Amazon VPC als regionaler Service ermöglicht es Ihnen, Availability Zones zu nutzen und gleichzeitig alle Ihre Ressourcen im selben logischen Netzwerk zu halten.
Hosts werden als ephemer und dynamisch behandelt
Die wahrscheinlich wichtigste Veränderung beim Aufbau der Architektur Ihrer AWS-Anwendung ist die Tatsache, dass EC2-Hosts als ephemer und dynamisch betrachtet werden sollen. Jede für die AWS Cloud erstellte Anwendung sollte nicht davon ausgehen, dass ein Host immer verfügbar sein wird, und sollte mit dem Wissen entworfen werden, dass alle Daten in den EC2-Instant Stores verloren gehen, wenn eine EC2-Instance ausfällt.
Wenn ein neuer Host hochgefahren wird, sollten Sie keine Annahmen über die IP-Adresse oder den Standort innerhalb einer Availability Zone des Hosts treffen. Ihr Konfigurationsmodell muss flexibel sein, und Ihr Ansatz zum Bootstrapping eines Hosts muss die Dynamik der Cloud berücksichtigen. Diese Techniken sind für den Aufbau und Betrieb einer hoch skalierbaren und fehlertoleranten Anwendung von entscheidender Bedeutung.
Bedenken Sie Container und Serverless
Dieses Whitepaper konzentriert sich hauptsächlich auf eine herkömmlichere Webarchitektur. Erwägen Sie jedoch, Ihre Webanwendungen zu modernisieren, indem Sie auf Container
Bedenken Sie automatisierte Bereitstellung
-
Amazon Lightsail
ist ein einfach zu bedienender virtueller privater Server (VPS), der Ihnen alles bietet, was Sie für die Erstellung einer Anwendung oder Website benötigen, sowie einen kostengünstigen, monatlichen Plan. Lightsail ist ideal für einfachere Workloads, schnelle Implementierungen und den Einstieg in AWS. Es ist konzipiert Ihnen zu helfen, klein anzufangen und dann mit zunehmendem Wachstum zu skalieren. -
AWS Elastic Beanstalk
ist ein benutzerfreundlicher Service für die Bereitstellung und Skalierung von Webanwendungen und -Services, die mit Java, .NET, PHP, Node.js, Python, Ruby, Go und Docker auf vertrauten Servern wie Apache, NGINX, Passenger und IIS entwickelt werden. Sie laden Ihren Code einfach hoch und Elastic Beanstalk übernimmt automatisch die Bereitstellung, Kapazitätsbereitstellung, Lastenverteilung, automatische Skalierung und Statusüberwachung der Anwendung. Gleichzeitig erhalten Sie mit Elastic Beanstalk vollständige Kontrolle über die AWS-Ressourcen hinter Ihrer Anwendung und können jederzeit auf die zugrunde liegenden Ressourcen zugreifen. -
AWS App Runner
ist ein vollständig verwalteter Service, mit dem Ihre Entwickler schnell und skalierbar containerisierte Webanwendungen und APIs bereitstellen können, ohne Erfahrungen im Infrastrukturbereich zu besitzen. Sie beginnen mit Ihrem Quellcode oder einem Container-Image. App Runner führt die Entwicklung und Bereitstellung der Webanwendung automatisch aus und nimmt eine Lastenverteilung des Datenverkehrs mit Verschlüsselung vor. App Runner skaliert darüber hinaus automatisch aufwärts oder abwärts, um den Anforderungen Ihres Datenverkehrs zu entsprechen. -
AWS Amplify
ist eine Reihe von Tools und Services, die zusammen oder einzeln verwendet werden können, um Front-End-Web- und Mobilentwickler beim Aufbau skalierbarer Full-Stack-Anwendungen Powered by AWS zu unterstützen. Mit Amplify können Sie App-Backends konfigurieren und Ihre App in Minutenschnelle verbinden, statische Web-Apps mit wenigen Klicks bereitstellen und App-Inhalte problemlos außerhalb der AWS-Konsole verwaltenAWS-Managementkonsole.