AWS Serverless Infrastructure

Beispiele von Serverless Lösungen

Serverless Homepage mit Kontaktformular auf AWS

Serverless Homepage gehostet bei AWS mit S3 Cloudfront, API Gateway und Lambda

  • Website inhalte liegen in einem S3 Bucket
  • Cloudfront stellt HTTPS und weltweites CDN bereit
  • SSL Zertifikat kostenlos für Cloudfront durch AWS Certificate Manager
  • Keine Wartung von Servern und geringe kosten (1-3$ im Monat)
  • Kontakt Formular mit API Gateway und Lambda
  • Lambda sendet Kontaktdetails an SNS

Mit AWS Diensten können sie einfach und günstig statische Websiten online stellen ohne dafür Server zu verwenden.
Darüber hinaus gibts dafür kostenlose SSL Zertifikate, nahe grenzenlose skalierbarkeit und ein Weltweites CDN. Und damit man nicht auf dynamische Elemente verzichten muss, kann man über den AWS API Gateway und Services wie Lambda viele Lösungen bereite stellen.
Wie sie ganz einfach eine statische website hosten finden die hier Diese Webseite läuft ebenfalls mit dieser Lösung, sowie Teile des Munich Rethink Kubernetes Projekts

Verwendete AWS Services

Amazon API Gateway
Amazon API Gateway
Amazon CloudFront
Amazon Cloudfront
AWS Certificate Manager
AWS Certificate Manager
AWS Route 53
Amazon Route 53
AWS Lambda
AWS Lambda
AWS CloudFormation
AWS Cloudformation
Amazon S3
Amazon S3
Amazon SNS
Amazon SNS

Serverless Webhook

AWS Serverless Webhook for CI/CD with external Git

  • Hochverfügbarer Webhook (Url mit der man einen Event auslösen kann)
  • Kostenloses SSL Zertifikat
  • Hohe flexibilität durch Lambda
  • Auslösen von CodePipeline/CodeBuild für CI/CD über Drittanbieter
  • Keine AWS Credentials benötigt
  • Auch als Amazon Quickstart verfügbar: hier

Wir legen sehr viel Wert auf Sicherheit und versuchen, wenn es geht keinerlei AWS Credentials für die Automatisierung zu benutzen. Da die meisten Git Repositories von drittanbietern benutzen und wir diesen nicht AWS Credentials anvertrauen wollen, gibt es Lösugen wie diese. Damit kann man Pipelines starten ohne beim Drittanbieter AWS Credentials zu hinterlegen. Dazu wird ein Public Webhook bereitgestellt über einen API Gateway. Dieser wiederum führt eine Lambda aus, die aus dem Git Repository die aktuellste version auscheckt und mit CodePipeline die Schritte zum Deployment ausführt. Diese Lösung haben wir auch bei unserem Munich Rethink Projekt implementiert.

Verwendete AWS Services

Amazon API Gateway
Amazon API Gateway
AWS CodePipeline
Amazon CodePipeline
AWS CodeBuild
AWS CodeBuild
AWS CloudFormation
AWS Cloudformation
AWS Lambda
AWS Lambda
Amazon S3
Amazon S3

Amazon API Gateway

APIs in jeder Dimension erstellen, verwalten und sichern
Mehr Informationen finden sie hier

Amazon Cloudfront

Schnell, programmierbares und sicheres Inhaltsbereitstellungsnetzwerk (Content Delivery Network, CDN)
Mehr Informationen finden sie hier

AWS Certificate Manager

Einfache Bereitstellung, Verwaltung und Bereitstellung öffentlicher und privater SSL / TLS-Zertifikate für die Verwendung mit AWS-Diensten und Ihren internen verbundenen Ressourcen
Mehr Informationen finden sie hier

Amazon Route 53

Eine zuverlässige und kostengünstige Möglichkeit, Endbenutzer an Internetanwendungen weiterzuleiten
Mehr Informationen finden sie hier

AWS Lambda

Mit AWS Lambda können Sie Code ausführen, ohne Server bereitstellen und verwalten zu müssen. Sie zahlen nur für die tatsächlich aufgewendete -Zeit.
Mehr Informationen finden sie hier

AWS CloudFormation

Modellieren und Bereitstellen aller Cloud-Infrastrukturressourcen
Mehr Informationen finden sie hier

Amazon Simple Storage Service (S3)

Objektspeicher zum Speichern und Abrufen beliebiger Datenmengen aus allen Speicherorten
Mehr Informationen finden sie hier

Amazon Simple Notification Service (SNS)

Vollständig verwaltete Nachrichtenwarteschlangen für Microservices, verteilte Systeme und serverlose Anwendungen
Mehr Informationen finden sie hier

AWS CodeBuild

Erstellen und Testen von Code mit fortlaufender Skalierung. Zahlen Sie nur für die Buildzeit, die Sie verwenden.
Mehr Informationen finden sie hier

AWS-CodePipeline

Automatisieren von Continuous-Delivery-Pipelines für schnelle und zuverlässige Updates
Mehr Informationen finden sie hier