Serverless Application Repository – Häufig gestellte Fragen und Nutzungsbedingungen

Allgemeines

Mit serverlosen Anwendungen müssen Sie keine Server oder andere Infrastruktur mehr beschaffen, bereitstellen oder verwalten. Denn Sie erhalten damit bereits integrierte Hochverfügbarkeit und kontinuierliche sowie automatische Skalierung. Sie können einen der vielen vollständig verwalteten AWS-Services nutzen, um serverlose Anwendungen zu entwickeln und auszuführen, einschließlich AWS Lambda für die Datenverarbeitung, Amazon API Gateway für APIs und Amazon DynamoDB für Datenbanken.

Das AWS Serverless Application Repository bietet eine wachsende Sammlung serverloser Anwendungen, die von AWS und weiteren AWS-Partnern und -Entwicklern veröffentlicht wurden. Mit dem Serverless Application Repository wird die Bereitstellung von Anwendungen für häufige Anwendungsfälle wie Backend-Systeme im Web und Mobilbereich, Stream-Verarbeitung, Machine Learning usw. zum Kinderspiel. Sie können also ganz schnell mit der AWS Serverless-Plattform loslegen.

Es steht derzeit in den folgenden Regionen zur Verfügung: USA Ost (Ohio), USA Ost (Nord-Virginia), USA West (Nordkalifornien), USA West (Oregon), Asien-Pazifik (Tokio), Asien-Pazifik (Seoul), Asien-Pazifik (Mumbai), Asien-Pazifik (Singapur), Asien-Pazifik (Sydney), Kanada (Zentral), EU (Frankfurt), EU (Irland), EU (London) und Südamerika (São Paulo).

Das AWS Serverless Application Repository beinhaltet Anwendungen für Alexa-Skills, Chatbots, Datenverarbeitung, IoT, Streaming-Verarbeitung in Echtzeit, Web- und Mobil-Back-Ends, Social-Media-Trendanalysen, Bildskalierung und mehr von AWS-Veröffentlicher.

Für das Durchsuchen, Bereitstellen und Veröffentlichen von Anwendungen fallen im AWS Serverless Application Repository keine Gebühren an. Jedoch werden die Standard-AWS-Gebühren für die Ressourcen, die die von Ihnen bereitgestellte Anwendung verwendet, fällig.

Von AWS zur Verfügung gestellte Anwendungen sind mit der MIT-Open-Source-Lizenz verfügbar, während von anderen Anbietern öffentlich bereitgestellte Anwendungen über eine oder mehrere Open-Source-Lizenzen, die von der Organisation Open Source Initiative (OSI) genehmigt wurden, verfügbar gemacht werden können. Die Lizenzdetails finden Sie auf der AWS-Website unter der Registerkarte "Lizenzierung" einer Anwendung.

Alle von AWS veröffentlichten Anwendungen werden auf Lizenzeinhaltung und Code-Qualität geprüft. Bei Anwendungen von Drittanbietern prüfen wir, ob die Berechtigungen ordnungsgemäß verwendet werden, um sicherzustellen, dass Kunden wissen, auf welche Ressourcen eine Anwendung zugreifen und welche sie verändern kann. Diese Details sowie die Häufigkeit, mit der eine Anwendung von AWS-Kunden bereitgestellt wurde, können Sie vor Verwendung der Anwendung einsehen.

Ja. Das AWS Serverless Application Repository ermöglicht es Entwicklern, serverlose Anwendungen, die in einem GitHub-Repository entwickelt wurden, zu veröffentlichen. Sie können den Veröffentlichungsprozess einfacher gestalten, indem Sie mit AWS CodePipeline eine GitHub-Quelle mit dem AWS Serverless Application Repository verbinden. Dies dauert auch nur wenige Minuten.

Bereitstellen von Anwendungen

Serverless-Anwendungen werden als AWS-CloudFormation-Stacks bereitgestellt, was Ihnen die einfache Verwaltung der Anwendung als einzelne Einheit ermöglicht. Jede Ressource wurde mit dem eindeutig identifizierbaren Amazon Ressourcenname (ARN) der Anwendung markiert, mit dem Sie die Ressource über die AWS Tag Editor-Konsole schnell und einfach finden können. Sie können auch jede Ressource über bestehende Tools von AWS und Drittanbietern separat verwalten.

Veröffentlichung von Anwendungen

Um eine serverlose Anwendung zu veröffentlichen, beschreiben Sie die Anwendung mit dem AWS Serverless Application Model(SAM)-Format, packen Sie sie mit dem AWS-CLI und veröffentlichen Sie sie über die AWS-Managementkonsole, das AWS-CLI oder die AWS-SDKs. Dazu benötigen Sie ein gültiges AWS-Konto und Sie müssen einen Namen, eine Beschreibung einen Quellcode-Link und eine LICENSE.txt-Datei für Ihre Anwendung angeben. Anwendungen, die für jeden AWS-Kunden zur Verfügung stehen sollen, müssen in den Regionen USA Ost (Nord-Virginia) oder USA Ost (Ohio) veröffentlicht werden.

Die Kontrolle darüber, wer ihre Anwendungen im Repository finden und bereitstellen kann, obliegt den Veröffentlichern. Sie können den Zugriff auf Ihr Team (eine Gruppe im selben AWS-Konto) beschränken, eine Anwendung für andere Konten freigeben oder sie gleich öffentlich für jeden AWS-Kunden zugänglich machen. Weitere Informationen zu Berechtigungen und zur Sichtbarkeit von Anwendungen finden Sie in unserer Dokumentation „Ressourcenbasierte Richtlinien“.

Wenn Sie für die Verwendung einer serverlosen Anwendung eine Gebühr verlangen möchten, können Sie AWS Lambda hinter Amazon API Gateway integrieren und dann die API über den AWS Marketplace als SaaS-Produkt verkaufen. Nähere Informationen finden Sie im Abschnitt zur Auflistung auf AWS Marketplace sowie im Artikel über die ertragreiche Verwertung Ihrer API mit API Gateway.

Verwenden verschachtelter Anwendungen

Eine verschachtelte serverlose Anwendung ist eine Komponente, die als Teil einer anderen serverlosen Anwendung bereitgestellt wird. Mit dem Anwachsen serverloser Architekturen bilden sich allgemeine Muster aus, wobei die gleichen Komponenten oft in mehreren Anwendungsvorlagen definiert werden. Sie können nun gängige Muster als dedizierte Anwendungen trennen und sie dann als Teil neuer oder vorhandener Anwendungsvorlagen verschachteln.

Verschachtelte Anwendungen werden als verschachtelte AWS-CloudFormation-Stacks bereitgestellt.

Mit dem Ressourcentyp AWS Serverless Application können Sie lokal entwickelte Anwendungen oder Anwendungen, die für Sie über das Serverless Application Repository freigegeben wurden, hinzufügen. Mit einfacher AWS SAM-Syntax können Sie Eingaben für verschachtelte Anwendungen definieren oder Ausgaben referenzieren. Weitere Details finden Sie in unserer Dokumentation.

Geben Sie in Ihrer SAM-Vorlage einen eindeutigen Namen für jede verschachtelte Anwendung an. Die von der verschachtelten Anwendung erstellten Ressourcen werden dem eindeutigen Namen der Anwendung zugeordnet.

Zum Verpacken Ihrer verschachtelten Anwendung verwenden Sie den Befehl sam package der SAM CLI. Zum Veröffentlichen Ihrer verpackten Anwendung im Serverless Application Repository verwenden Sie APIs oder das AWS SDK. Zur sofortigen Bereitstellung Ihrer Anwendung verwenden Sie den Befehl sam deploy der SAM CLI.

Ja. Mit dem Befehl sam package der SAM CLI können Sie eine Hierarchie verschachtelter Anwendungen rekursiv verpacken. In einer Anwendungsvorlage der obersten Ebene können Sie bis zu 199 Anwendungen verschachteln.

Konsumieren verschachtelter Anwendungen

Serverless-Anwendungen werden als AWS-CloudFormation-Stacks bereitgestellt, was Ihnen die einfache Verwaltung der Anwendung als einzelne Einheit ermöglicht. Jede Ressource wurde mit dem eindeutig identifizierbaren Amazon Ressourcenname (ARN) der Anwendung markiert, mit dem Sie die Ressource über die AWS Tag Editor-Konsole schnell und einfach finden können. Sie können auch jede Ressource über bestehende Tools von AWS und Drittanbietern separat verwalten.

Konfigurieren Sie die SAM-Ressource der AWS Serverless Application mit dem Anwendungs-ARN und allen für die Anwendung erforderlichen Eingabeparametern. Weitere Details finden Sie in unserer Dokumentation.

Verschachtelte Anwendungen aus dem Serverless Application Repository sind bereits verpackt und sofort einsatzbereit. Mit dem bestehenden Befehl sam package der SAM CLI können Sie sicherstellen, das verschachtelte Anwendungen für Sie noch verfügbar sind, bevor Sie die Anwendung unter Ihrem Konto bereitstellen.

Anwendungen, die gelöscht werden, nachdem Sie sie verschachtelt haben, oder auf die Sie keinen Zugriff mehr haben, wirken sich nicht auf bestehende Bereitstellungen Ihrer Anwendung aus. Allerdings werden Sie aufgefordert, Ihre Anwendung zu aktualisieren, wenn Sie versuchen, die Anwendung mit nicht mehr vorhandenen Abhängigkeiten bereitzustellen.

Anwendungen mit einer oder mehreren verschachtelten Anwendungen verwenden CAPABILITY_AUTO_EXPAND.

Veröffentlichen verschachtelter Anwendungen

Ja. Die Veröffentlichung verschachtelter Anwendungen im Serverless Application Repository unterscheidet sich in nichts von der Veröffentlichung eigenständiger Anwendungen. Sie verwenden hierzu die AWS-Konsole, die AWS CLI, die SAM CLI oder Serverless Application Repository-APIs.

Freigeben verschachtelter Anwendungen

Moderne serverlose Anwendungen folgen dem gleichen Modell wie Lambda-Funktionen. Der Zugriff auf Serverless-Anwendungen im Serverless Application Repository kann mit ressourcenbasierten AWS-IAM-Richtlinien gesteuert werden. Mit Richtlinien können Sie Ihre Anwendung strikt privat halten, kontoübergreifenden Zugriff gewähren oder die Anwendung öffentlich zur Verfügung stellen.

Bei einer Hierarchie verschachtelter Anwendungen muss jede darin enthaltene verschachtelte Anwendung dem AWS-Konto zur Verfügung gestellt werden, für das Sie die übergeordnete Anwendung freigegeben haben.

Freigeben von Anwendungen

Ja. Sie können Anwendungen jetzt für alle Konten freigeben, die einer AWS Organization angehören. Serverless-Anwendungen folgen heute dem gleichen Modell wie Lambda-Funktionen. Der Zugriff auf Serverless-Anwendungen im AWS Serverless Application Repository kann mit ressourcenbasierten AWS IAM-Richtlinien gesteuert werden. Mit Richtlinien können Sie Ihre Anwendung strikt privat halten, kontoübergreifenden Zugriff gewähren, Unternehmenszugriff gewähren oder die Anwendung öffentlich zur Verfügung stellen. Weitere Informationen zu ressourcenbasierten Richtlinien für Serverless-Anwendungen erhalten Sie hier.

Suchen Sie zunächst die Anwendung in der AWS Serverless Application Repository-Konsole, klicken Sie auf die Registerkarte „Share“ und klicken Sie dann auf „Create Statement“. Hier können Sie den Vorgesetzten der AWS Organization hinzufügen, der dem Unternehmen den Zugriff auf die Anwendung gewähren kann. Darüber hinaus können Sie AWS Serverless Application Repository-APIs verwenden, um ressourcenbasierte Richtlinien zur Freigabe von Anwendungen innerhalb eines Unternehmens zu aktualisieren. Weitere Informationen zu ressourcenbasierten Richtlinien finden Sie hier in unserer Dokumentation.

Nein. Sie können eine Anwendung nur für Konten freigeben, die derselben AWS Organization angehören wie Ihr Konto.

Die Freigabe von Anwendungen innerhalb einer Organisationseinheit wird nicht unterstützt. Mit Richtlinien können Sie Ihre Anwendung strikt privat halten, kontoübergreifenden Zugriff gewähren, Unternehmenszugriff gewähren oder die Anwendung öffentlich zur Verfügung stellen.

Um Zugriff auf Ihre Anwendung für bestimmte Konten in einem Unternehmen zu gewähren, aktualisieren Sie einfach die ressourcenbasierte Richtlinie und fügen Sie AWS-Konten zusammen mit der AWS Organisations-ID, für die Sie die Anwendung freigeben möchten, hinzu.

Ja. Sie können Aktionen in Ihrer ressourcenbasierten Richtlinie festlegen, die die Art der Nutzung der von Ihnen freigegebenen Anwendung durch andere Personen einschränken. Die Aktualisierung von Aktionen für eine ressourcenbasierte Richtlinie wird durch AWS Serverless Application Repository-APIs und die Konsole unterstützt. Weitere Informationen zu Aktionen, die Sie für ressourcenbasierten Richtlinien festlegen können, finden Sie hier in unserer Dokumentation.

Nutzungsbedingungen

1. Veröffentlicher, die AWS-Kunden sind, können Ihre serverlosen AWS-Anwendungen und -Komponenten ("Serverlose AWS-Anwendungen") über das AWS Serverless Application Repository ("Repository") entweder privat, für alle AWS-Konten oder für alle AWS-Kunden im Repository zugänglich machen, die gemäß dem Repository-Konsolenveröffentlichungsprozess berechtigt sind. Serverlose AWS-Anwendungen, die entweder privat oder über bestimmte AWS-Konten zur Verfügung gestellt werden sollen, können in Binärform oder im Quellcode vorliegen. Serverlose AWS-Anwendungen, die allen AWS-Kunden zur Verfügung gestellt wurden, können in Binärform oder im Quellcode vorliegen und müssen genügend Informationen enthalten, damit der Benutzer auf den Quellcode zugreifen kann.

2. Veröffentlicher müssen über alle erforderlichen Lizenzen und Berechtigungen oder Rechte verfügen, bevor sie ihre serverlosen AWS-Anwendungen im Repository veröffentlichen. Veröffentlicher müssen neben der serverlosen AWS-Anwendung die Bedingungen der Lizenzen der serverlosen AWS-Anwendung(en) an das Repository senden, einschließlich sämtlicher Open-Source-Lizenzattributierungsbedingungen. Veröffentlicher sind für die Prüfung, die Evaluierung und das Testen von serverlosen AWS-Anwendungen verantwortlich, bevor sie sie im Repository veröffentlichen.

3. Veröffentlicher gewähren hiermit AWS und seinen verbundenen Unternehmen die Rechte, ihre serverlosen AWS-Anwendungen im Repository zu reproduzieren, zu verteilen, öffentlich oder in festgelegten AWS-Konten (falls zutreffend) anzuzeigen, vorzuführen, zu übermitteln, zu verwenden und anderweitig digital verfügbar zu machen (über alle Mittel der Online-Verteilung und elektronischen Verteilung).

4. Veröffentlicher erklären und versichern, dass sie alle erforderlichen Rechte besitzen, eine serverlose AWS-Anwendung im Repository zu veröffentlichen, dass sie alle erforderlichen Rechte besitzen, diese serverlose AWS-Anwendung im Repository zum Download anzubieten, und dass sie alle erforderlichen Attributierungen vorgelegt haben. Veröffentlicher veröffentlichen keine serverlosen AWS-Anwendungen mit Malware, schädlichen oder anderweitig gefährlichen Inhalten mit der Absicht, anderen zu schaden. AWS kann sämtliche serverlosen AWS-Anwendungen nach alleinigem Ermessen von AWS aus diesem oder aus anderen Gründen entfernen.

5. AWS-Kunden halten sich bei allen serverlosen AWS-Anwendungen, die sie heruntergeladen haben, an die Lizenzen (einschließlich aller Attributierungsbedingungen oder anderer Bedingungen).

6. Jeder AWS-Kunde, der ein abgeleitetes Werk einer serverlosen AWS-Anwendung erschafft, ist dafür verantwortlich, zu ermitteln, ob ihm dies im Rahmen der Lizenz(en) der serverlosen AWS-Anwendung erlaubt ist, und er muss alle Attributierungsbedingungen oder anderen Bedingungen erfüllen.

7. Sämtliche Lizenzvereinbarungen oder anderen Verträge für serverlose AWS-Anwendungen eines Veröffentlichers bestehen ausschließlich zwischen dem Veröffentlicher und dem AWS-Kunden. Weder AWS noch eines seiner verbundenen Unternehmen gelten als Parteien dieser Lizenzvereinbarungen oder anderen Verträge und keines dieser Unternehmen kann im Zuge dieser Lizenzvereinbarungen oder anderen Verträge haftbar gemacht oder zur Rechenschaft gezogen werden. AWS ist nicht verantwortlich dafür, zu gewährleisten, dass sich Veröffentlicher oder AWS-Kunden an die Lizenzbedingungen (einschließlich Attributierung) oder anderen Bedingungen halten, und kann nicht für eine Nichteinhaltung haftbar gemacht werden.

8. Alle im Repository verfügbaren serverlosen AWS-Anwendungen und sämtliche anderen dort verfügbaren Materialien von Drittanbietern sind "Repository-Inhalte". DIE Repository-Inhalte WERDEN OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIE BEREITGESTELLT, EINSCHLIEẞLICH DER GARANTIE ZUR BENUTZUNG FÜR DEN VORGESEHENEN ZWECK ODER EINEN BESTIMMTEN ZWECK SOWIE JEGLICHER RECHTSVERLETZUNG, JEDOCH NICHT DARAUF BESCHRÄNKT. IN KEINEM FALL SIND DIE VERÖFFENTLICHER, COPYRIGHTINHABER, AWS ODER SEINE VERBUNDENEN UNTERNEHMEN FÜR JEGLICHEN SCHADEN ODER SONSTIGE ANSPRÜCHE HAFTBAR ZU MACHEN, OB INFOLGE DER ERFÜLLUNG EINES VERTRAGES, EINES DELIKTES ODER ANDERS IM ZUSAMMENHANG MIT DEN Repository-Inhalten ODER SONSTIGER VERWENDUNG DER Repository-Inhalte ENTSTANDEN.

9. Veröffentlicher und AWS-Kunden bestätigen, dass sie sich beim Verwenden des Repositorys an alle diese Bedingungen halten. Diese Bedingungen können von AWS bisweilen angepasst werden.