Serverless Architekturen basieren auf Function-as-a-Service-Angeboten, wie zum Beispiel AWS Lambda, welche den Kleber für Serverless Ressourcen darstellen. Genauer gesagt ist AWS Lambda eine elegante und skalierbare Lösung für die Verarbeitung von Events in der Cloud. Geeignete Beispiele sind die Analyse von eingehenden E-Mails und das Konvertieren von Dateiuploads in andere Formate. In Kombination mit serverless API Gateways eignet sich AWS Lambda auch für den Betrieb von HTTP-basierten APIs.
Aus Entwicklerperspektive sollten Serverless Architekturen einfacher zu ändern sein, da das Pflegen der zugrundeliegenden Infrastruktur entfällt. Hierbei wird häufig übersehen, dass Serverless Applikationen meist mehrere Cloud-Dienste und zahlreiche Cloud-Ressourcen umfassen und daher eine manuelle Konfiguration dieser stark fehleranfällig ist. Dem neuesten Stand der Technik entsprechend ist die Lösung für dieses Problem Continuous Integration/Delivery (CI/CD). Jedoch lassen sich etablierte Praktiken und Tools für CD-Pipelines nicht auf natürliche Art auf Serverless Architekturen anwenden und schaffen hierdurch neue Herausforderungen.
Wir zeigen Lösungen für die bei der Entwicklung von Serverless Anwendungen zwangsläufig auftretenden Probleme auf. Hierbei diskutieren wir Methoden, etablierte Praktiken und Tools für die Realisierung von Serverless CI/CD-Pipelines für AWS Lambda und verwandte Dienste. Demonstriert werden diese anhand einer Single Page-Applikation, welche ausschließlich auf Serverless Technologien basiert.