AWS SAM ist ein Open-Source-Framework von AWS zur Entwicklung, Testung und Bereitstellung von serverlosen Anwendungen. Es erweitert AWS CloudFormation und macht das Erstellen von Lambda-Funktionen, APIs, Datenbanken und anderen Ressourcen einfacher und übersichtlicher.
Hauptmerkmale
-
Vereinfachte Syntax: Nutzt eine leicht lesbare YAML-Struktur, um AWS-Ressourcen wie Lambda, API Gateway, DynamoDB usw. zu definieren
-
Lokale Entwicklung und Tests mit dem AWS SAM CLI (Command Line Interface)
-
Integrierte Build- und Deploy-Befehle für CI/CD
-
Unterstützt Code, Container-Images und Layer
Typische Ressourcen, die mit SAM definiert werden können
-
AWS::Serverless::Function
– Lambda-Funktion -
AWS::Serverless::Api
– Amazon API Gateway -
AWS::Serverless::SimpleTable
– DynamoDB-Tabelle -
AWS::Serverless::StateMachine
– Step Functions Workflow
Beispiel einer SAM-Definition (Ausschnitt)
Vorteile
-
Schneller Einstieg in serverlose Architektur
-
Weniger Code im Vergleich zu nativem CloudFormation
-
Einheitliche Entwicklung, Test, Build und Deployment
-
Open Source und von der Community unterstützt
Fazit
AWS SAM erleichtert die Erstellung und Verwaltung von serverlosen Anwendungen erheblich. Es kombiniert die Vorteile von Infrastructure-as-Code mit einem klaren Fokus auf serverlose Workloads – ideal für Entwickler, die schnell und sauber Anwendungen auf AWS bauen möchten.