2024 Amazon Web Services re:Invent opens on Dec 2 (PST), reserve now to follow frontier technology trends
General
Q: What are serverless applications?
Serverless applications eliminate the need to provision, deploy, or manage servers or other infrastructure. They come with built-in high availability and they scale continuously and automatically. You can use one of the many fully managed Amazon Web Services services to build and run serverless applications, including Amazon Lambda for compute, Amazon API Gateway for APIs, and Amazon DynamoDB for databases.
Q: What is the Amazon Serverless Application Repository?
The Amazon Serverless Application Repository offers a growing collection of serverless applications published by Amazon Web Services and other Amazon Web Services partners and developers. The Serverless Application Repository makes it easy to deploy applications for common use cases like web and mobile back-ends, stream processing, machine learning, and more, so you can quickly get started with the Amazon Web Services Serverless platform.
Q: In which regions is the Amazon Serverless Application Repository available?
It is currently available in the following regions: Amazon Web Services China (Beijing) region, operated by Sinnet, Amazon Web Services China (Ningxia) region, operated by NWCD, Asia Pacific (Mumbai, Singapore, Sydney, Tokyo, Hong Kong), Canada (Central), EU (Frankfurt, Ireland, London, Paris), South America (São Paulo), US West (N. California, Oregon), US East (N. Virginia, Ohio), Middle East (Bahrain), and Amazon Web Services GovCloud regions.
Q: What kinds of applications are available in the Amazon Serverless Application Repository?
The Amazon Serverless Application Repository includes applications for Alexa Skills, chatbots, data processing, IoT, real time stream processing, web and mobile back-ends, social media trend analysis, image resizing, and more from publishers on Amazon Web Services.
Q: Does it cost anything to use the Amazon Serverless Application Repository?
There is no charge to browse applications, deploy applications, or publish applications in the Amazon Serverless Application Repository. Standard Amazon Web Services charges apply to the resources used by the applications you deploy.
Q: How are applications in the Amazon Serverless Application Repository licensed?
Applications provided by Amazon Web Services are available under the MIT open source license, while applications publicly provided by others can be made available under one or more open source license(s) approved by the Open Source Initiative (OSI). You can find licensing details by navigating to the licensing tab of an application on the Amazon Web Services website.
Q: Are applications in the Amazon Serverless Application Repository verified by Amazon Web Services?
All applications published by Amazon Web Services are vetted for license adherence and code quality. Applications published by third parties are validated for correct use of permissions to ensure that consumers know which resources can be modified or accessed by an application. You can review those details, along with the number of times an application has been deployed by Amazon Web Services customers, prior to using an application.
Q: Can I use the Amazon Serverless Application Repository in combination with GitHub?
Yes. The Amazon Serverless Application Repository enables developers to publish serverless applications developed in a GitHub repository. Using Amazon CodePipeline (this is only available in global regions) to link a GitHub source with the Amazon Serverless Application Repository can make the publishing process even easier, and the process can be set up in minutes.
Deploying applications
Q: How do I manage serverless applications deployed to my account?
Serverless applications are deployed as Amazon CloudFormation stacks, which make it easy for you to manage an application as a single unit. Each resource is tagged with the application’s uniquely identifiable Amazon Resource Name (ARN), which helps you locate the resources using the Amazon Web Services Tag Editor console. You can also use existing Amazon Web Services and third-party tools to manage each resource separately.
Publishing applications
Q: How do I publish a serverless application to the Amazon Serverless Application Repository?
To publish a serverless application, describe the application using the Amazon Serverless Application Model (SAM) format, package it using the Amazon CLI, and publish it using the Amazon Web Services Management Console, Amazon CLI, or Amazon SDKs. You must have a valid Amazon Web Services account, and you will be required to provide a name, description, source code link, and a LICENSE.txt for your application. Read more here.
Q: Who can deploy the applications I publish to the Amazon Web Services Serverless Application Repository?
Publishers control who can find and deploy their applications in the Repository. You can limit access to your team (a group under the same Amazon Web Services account), share an application with other accounts, or make it publicly available to any Amazon Web Services customer. To learn more about the permissions and visibility of applications you publish, review our Resource-Based Policies documentation.
Q: Can I charge a fee for serverless applications I publish?
If you would like to charge a fee for the use of a serverless application, you can integrate Amazon Lambda behind Amazon API Gateway, and then sell the API as a SaaS product through the Amazon Web Services Marketplace. To learn more, review the steps to list on Amazon Web Services Marketplace and how to monetize your API using API Gateway.
Using nested applications
Q: What is a nested application?
A nested serverless application is a component that is deployed as part of another serverless application. As serverless architectures grow, common patterns emerge in which the same components are defined in multiple application templates. You can now separate out common patterns as dedicated applications and then nest them as part of new or existing application templates.
Q: How are nested applications deployed?
Nested applications are deployed as Amazon CloudFormation nested stacks.
Q: How do I include a nested application in my SAM template?
Use the AWS:Serverless:Application resource type to add applications that you have developed locally or that have been shared with you via the Serverless Application Repository. You can define inputs for the nested application or reference outputs using simple Amazon Web Services SAM syntax. For more details, see our documentation.
Q: How do I handle resource name conflicts when nesting applications?
Specify a unique name for each nested application in your SAM template. Resources created by the nested application will be scoped to the application's unique name.
Q: How do I package a nested application?
Use the SAM CLI sam package command to package your nested application. Publish your packaged application to the Serverless Application Repository using APIs or the Amazon SDK. You can use the SAM CLI sam deploy command to deploy your application immediately.
Q: Can I package a hierarchy of nested applications using SAM CLI?
Yes. The SAM CLI sam package command will recursively package a hierarchy of nested applications. You can have a maximum of 199 applications nested in a single top-level application template.
Consuming nested applications
Q: How do I manage serverless applications deployed to my account?
Serverless applications are deployed as Amazon CloudFormation stacks, which make it easy for you to manage an application as a single unit. Each resource is tagged with the application’s uniquely identifiable Amazon Resource Name (ARN), which helps you locate the resources using the Amazon Web Services Tag Editor console. You can also use existing Amazon Web Services and third-party tools to manage each resource separately.
Q: How do I nest applications shared with me via the Serverless Application Repository?
Configure the AWS:Serverless:Application SAM resource with the application ARN and any necessary input parameters required by the application. For more details, see our documentation.
Q: How do I package a nested app that I used from the Serverless Application Repository?
Nested applications from the Serverless Application Repository are already packaged and ready for you to use. You can use the existing SAM CLI sam package command to ensure that nested applications are still available to you before you deploy the application in your account.
Q: What happens if an application that I nested is no longer available?
Applications that you nest which get deleted or that you no longer have access to will have no impact on the existing deployments of your application. You will be required to update your application if you attempt to deploy it with dependencies that no longer exist.
Q: How can I tell if an application contains other nested applications?
Applications that contain one or more nested applications use CAPABILITY_AUTO_EXPAND.
Publishing nested applications
Q: Can I publish nested applications to the Serverless Application Repository?
Yes. You can publish nested applications to the Serverless Application Repository just like you publish stand-alone applications today. Use the Amazon Web Services management console, Amazon CLI, SAM CLI, or Serverless Application Repository APIs to publish nested applications.
Sharing nested applications
Q: How do I share an application that contains nested applications?
Serverless applications follow the same model used by Lambda functions today. Access to serverless applications in the Serverless Application Repository can be controlled using Amazon IAM resource-based policies. You can use policies to keep your application private, grant cross-account access, or make it publicly available.
Q: How does sharing work when there is a hierarchy of nested applications?
With a hierarchy of nested applications, each nested application has to be made available to the Amazon Web Services account with whom you are sharing the top-level application.
User terms
1. Publishers, who are Amazon Web Services customers, may submit their Amazon Web Services serverless applications and components (“ Amazon Web Services Serverless Applications”) to be made available through the Amazon Serverless Application repository (“Repository”) either privately, across specified Amazon Web Services accounts or to all Amazon Web Services customers using the Repository pursuant to the Repository console publication process. Amazon Web Services Serverless Applications to be made available either privately or across specified Amazon Web Services accounts may be in binary or source code form; Amazon Web Services Serverless Applications made available to all Amazon Web Services customers may be in binary or source code form, and must include sufficient details to enable the user access to the source code.
2. Publishers must have all licenses and necessary permissions or rights to submit their Amazon Serverless Applications to the Repository. Publisher must submit to the Repository, along with its Amazon Web Services Serverless Application, the terms of the Amazon Web Services Serverless Application’s license(s), including any open source license attribution requirements. Publisher is responsible for reviewing, evaluating and testing any Amazon Web Services Serverless Application before submitting it to the Repository.
3. Publisher hereby grants Sinnet, the operator of Amazon Web Services China (Beijing) Region, and NWCD, the operator of Amazon Web Services China (Ningxia) region, the rights to reproduce, distribute, display publicly or within specified Amazon Web Services accounts (as applicable), perform, transmit, use and otherwise digitally make available (via all means of online and electronic distribution) its Amazon Web Services Serverless Applications in the Repository.
4. Publisher represents and warrants it has all rights to submit its Amazon Web Services Serverless Application to the Repository, has all rights to allow downloading of its Amazon Web Services Serverless Application from the Repository and has provided all required attributions. Publisher will not submit Amazon Web Services Serverless Applications with malware, malicious or other harmful content with the intent or purpose to harm others. Each of Sinnet and NWCD may remove and take down any Amazon Web Services Serverless Application in their respective sole discretion for this or other reasons.
5. Amazon Web Services customers will comply with the license(s) (including any attribution or other requirements) for any Amazon Web Services Serverless Application they download.
6. Any Amazon Web Services customer who creates a derivative work of any Amazon Web Services Serverless Application is responsible for determining whether it has the appropriate rights under the Amazon Web Services Serverless Application’s license(s) to do so and must comply with any attribution or other requirements.
7. Any Publisher’s Amazon Web Services Serverless Application license or other agreement is solely between the Publisher and Amazon Web Services customers. Neither Sinnet or NWCD, nor any of their respective affiliates are a party to that license or other agreement and none of them will have any liability or obligations under that license or other agreement. Each of Sinnet and NWCD is not responsible and has no liability for ensuring that Publishers or Amazon Web Services customers comply with licensing (including attribution) or other requirements.
8. Amazon Web Services Serverless Applications and any other third-party materials available in the Repository are “Repository Content.” THE Repository Content IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL PUBLISHERS, COPYRIGHT HOLDERS, SINNET, NWCD OR THEIR RESPECTIVE AFFILIATES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE Repository Content OR THE USE OR OTHER DEALINGS IN THE Repository Content.
9. Publishers and Amazon Web Services customers acknowledge they will comply with all of these terms in their use of the Repository and these terms may be updated by Sinnet and NWCD respectively from time to time.
Intended Usage and Restrictions
Your use of this service is subject to the Amazon Web Services Customer Agreement.