Zum Hauptinhalt springen
Cloud / AWS / Produkte / AWS SAM: Serverless-Anwendungen definieren und deployen

AWS SAM: Serverless-Anwendungen definieren und deployen

Das AWS Serverless Application Model beschreibt serverlose Anwendungen in verkürzter CloudFormation-Syntax und testet sie lokal über die SAM CLI.

Developer Tools
Preismodell Quelloffenes Framework; Kosten entstehen für die damit bereitgestellten AWS-Ressourcen (Preisangaben gemäß Anbieter)
Verfügbarkeit Lokal einsetzbares Werkzeug ohne Regionsbindung; das Deployment erfolgt über AWS CloudFormation in die von Ihnen gewählte AWS-Region
Datensouveränität Bestimmt durch die Zielregion des CloudFormation-Deployments
Zuverlässigkeit N/A (Open-Source-Framework ohne eigenes SLA) SLA

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 pipeline CI/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

Serverless-Anwendungen als Infrastructure as Code
Lokales Testen und Debuggen von Lambda-Funktionen
CI/CD-Pipelines für Serverless
Bestehende CloudFormation-Templates um Serverless-Komponenten erweitern

Technische Spezifikationen

Befehle Laut Produktseite unter anderem sam build, sam deploy, sam sync und sam pipeline
Berechtigungen AWS SAM Connectors beschreiben die Absicht und werden in die erforderlichen IAM-Berechtigungen übersetzt
Bestandteile AWS SAM CLI zum Entwickeln, lokalen Testen und Deployen sowie AWS SAM Template als Erweiterung von AWS CloudFormation
Projektstart sam init legt ein Projektverzeichnis mit Template, Anwendungscode und Konfigurationsdateien an
Syntax Verkürzte Syntax für serverlose Ressourcen, die beim Deployment in CloudFormation-Ressourcen umgewandelt wird
Terraform Die SAM CLI unterstützt lokales Debugging und Testen von Lambda-Funktionen und Layern in Terraform-Projekten

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.

Schnellzugriff

AWS Cloud Expertise

innFactory ist AWS Reseller mit zertifizierten Cloud-Architekten. Wir bieten Beratung, Implementierung und Managed Services für AWS.

Bereit, mit AWS SAM: Serverless-Anwendungen definieren und deployen zu starten?

Unsere zertifizierten AWS Experten helfen bei Architektur, Integration und Optimierung.

Beratung vereinbaren