Was ist AWS SAM?
Das AWS Serverless Application Model (AWS SAM) ist ein quelloffenes Framework, mit dem Sie serverlose Anwendungen über Infrastructure as Code beschreiben, lokal testen und ausrollen. Es besteht aus zwei Teilen: der AWS SAM CLI als Kommandozeilenwerkzeug und dem AWS SAM Template, einer Erweiterung von AWS CloudFormation mit vereinfachter Syntax für serverlose Ressourcen.
Mit sam init entsteht ein Projektverzeichnis, das typischerweise das SAM-Template, den Anwendungscode und weitere Konfigurationsdateien enthält. Beim Deployment werden die verkürzt deklarierten Ressourcen in CloudFormation-Ressourcen umgewandelt.
Kernfunktionen
- Verkürzte Syntax: Lambda-Funktionen, Lambda Durable Functions, Amazon-API-Gateway-APIs, Amazon-DynamoDB-Tabellen und weitere serverlose Ressourcen mit wenig Code definieren
- Erweiterung von CloudFormation: SAM-Ressourcen und reguläre CloudFormation-Ressourcen im selben Template
- Lokales Testen und Debuggen: Lambda-Funktionen lokal ausführen, API-Gateway-Endpunkte simulieren und Fehler vor dem Deployment finden
- sam sync: Lokale Änderungen fortlaufend in die Cloud übertragen und Testzyklen verkürzen
- AWS SAM Connectors: Berechtigungen zwischen Ressourcen als Absicht beschreiben; SAM erzeugt die passenden IAM-Berechtigungen
- Pipelines: Laut Produktseite legt
sam pipelineCI/CD-Pipelines an oder passt sie an - Terraform-Unterstützung: Lokales Debugging und Testen von Lambda-Funktionen und Layern in Terraform-Projekten
- Vollständiger Lebenszyklus: Von der Erstellung über Build, Deployment und Test bis zum Monitoring über die SAM CLI
Typische Anwendungsfälle
Serverless-Anwendungen: Funktionen, APIs und Tabellen mit wenig Code deklarieren und wiederholbar ausrollen.
Bestehende Templates erweitern: Serverless-Komponenten zu klassischer Infrastruktur in vorhandenen CloudFormation-Templates hinzufügen.
Lokale Entwicklung: Funktionen und Endpunkte auf dem Entwicklungsrechner testen und debuggen, bevor sie in AWS laufen.
Migration aus der Konsole: In der AWS Management Console erstellte Lambda-Funktionen und API-Gateway-Ressourcen in SAM-Templates überführen und damit als Code verwalten.
Vorteile
- Deutlich kürzere Templates für serverlose Ressourcen als in reinem CloudFormation
- Vertraute CloudFormation-Mechanismen inklusive vorhersagbarer Deployments
- Schnellere Entwicklungszyklen durch lokales Testen und
sam sync - Berechtigungen über Connectors beschreiben, statt IAM-Richtlinien manuell zu pflegen
- Kombinierbar mit dem AWS CDK und mit Terraform-Projekten
- Quelloffen und ohne gesonderte Lizenzkosten
Integration mit innFactory
Als AWS Reseller unterstützt innFactory Sie bei AWS SAM: Strukturierung von SAM-Projekten, Überführung von in der Konsole erstellten Serverless-Ressourcen in Templates, Aufbau lokaler Test- und Debugging-Workflows sowie Einrichtung von CI/CD-Pipelines für serverlose Anwendungen.
Typische Anwendungsfälle
Technische Spezifikationen
Häufig gestellte Fragen
Was ist AWS SAM?
Das AWS Serverless Application Model (AWS SAM) ist laut Dokumentation ein quelloffenes Framework, um serverlose Anwendungen mit Infrastructure as Code zu erstellen. Es besteht aus der AWS SAM CLI zum Entwickeln, lokalen Testen und Deployen sowie dem AWS SAM Template, einer Erweiterung von AWS CloudFormation mit vereinfachter Syntax für serverlose Ressourcen.
Wie verhält sich SAM zu AWS CloudFormation?
SAM-Templates sind laut Dokumentation eine Erweiterung von CloudFormation. In der verkürzten Syntax deklarierte serverlose Ressourcen werden beim Deployment in Infrastruktur umgewandelt. SAM-Ressourcen lassen sich im selben Template mit regulären CloudFormation-Ressourcen kombinieren, sodass Sie bestehende Templates um Serverless-Komponenten ergänzen können.
Wann sollte ich SAM statt CDK verwenden?
Laut Dokumentation eignet sich SAM, wenn Sie Ihre Infrastruktur deklarativ beschreiben möchten, und das AWS CDK, wenn Sie einen programmatischen Ansatz bevorzugen. Beides lässt sich kombinieren: Die lokalen Testfunktionen der SAM CLI können auch für CDK-Anwendungen genutzt werden.
Was kann ich mit der SAM CLI lokal testen?
Laut Dokumentation testen Sie Lambda-Funktionen lokal, simulieren API-Gateway-Endpunkte und debuggen serverlose Anwendungen auf Ihrem Entwicklungsrechner, bevor Sie in AWS deployen. Mit sam sync werden lokale Änderungen fortlaufend in die Cloud übertragen, was Entwicklungs- und Testzyklen verkürzt.
Was sind AWS SAM Connectors?
Mit AWS SAM Connectors beschreiben Sie im Template die gewünschten Berechtigungen zwischen Ihren AWS-Ressourcen. AWS SAM übersetzt diese Absicht laut Dokumentation in die dafür erforderlichen IAM-Berechtigungen.
Unterstützt SAM auch Terraform-Projekte?
Ja. Laut Dokumentation lässt sich die AWS SAM CLI nutzen, um Lambda-Funktionen und Layer in Terraform-Projekten lokal zu debuggen und zu testen.
Hinweis: Alle Produktinformationen auf dieser Seite wurden sorgfältig zusammengestellt, sind jedoch ohne Gewähr und können veraltet oder unvollständig sein. Cloud-Services entwickeln sich schnell weiter — Funktionen, Preise, SLAs und Verfügbarkeit ändern sich laufend. Verbindliche und aktuelle Informationen finden Sie ausschließlich auf der offiziellen Produktseite von AWS (offizielle Dokumentation). Diese Seite stellt kein Angebot von AWS dar.