GERAL

O que são aplicativos sem servidor?

Os aplicativos sem servidor eliminam a necessidade de provisionar, implantar ou gerenciar servidores ou outras infraestruturas. Eles contêm alta disponibilidade integrada e podem escalar de forma contínua e automática. Você pode usar um dos muitos serviços da AWS totalmente gerenciados para criar e executar aplicativos sem servidor, incluindo AWS Lambda para computação, Amazon API Gateway para APIs e Amazon DynamoDB para bancos de dados.

O que é o AWS Serverless Application Repository?

O AWS Serverless Application Repository oferece um conjunto crescente de aplicativos sem servidor publicado pela AWS e por outros parceiros e desenvolvedores da AWS. O Serverless Application Repository facilita a implantação de aplicativos para casos de uso comuns, como back-ends de dispositivos móveis e da web, processamento de streams, machine learning e muito mais. Assim você pode começar a usar rapidamente a plataforma do AWS Serverless.

Em que regiões o AWS Serverless Application Repository está disponível?

No momento, o AWS Serverless Application Repository está disponível nas regiões Leste dos EUA (Ohio), Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Norte da Califórnia), Oeste dos EUA (Oregon), Ásia-Pacífico (Tóquio), Ásia-Pacífico (Seul), Ásia-Pacífico (Mumbai), Ásia-Pacífico (Cingapura), Ásia-Pacífico (Sydney), Canadá (Central), UE (Frankfurt), UE (Irlanda), UE (Londres) e América do Sul (São Paulo).

Que tipos de aplicativos estão disponíveis no AWS Serverless Application Repository?

O AWS Serverless Application Repository inclui aplicativos para Alexa Skills, chatbots, processamento de dados, IoT, processamento de fluxo em tempo real, back-ends da web e de dispositivos móveis, análise de tendências e de redes sociais, redimensionamento de imagem e mais publicadores na AWS.

Há um custo para usar o AWS Serverless Application Repository?

Não há cobrança para procurar, implantar ou publicar aplicativos no AWS Serverless Application Repository. As cobranças padrão da AWS se aplicam aos recursos usados pelo aplicativos que você implanta.

Como os aplicativos no AWS Serverless Application Repository são licenciados?

Os aplicativos fornecidos pela AWS estão disponíveis sob a licença de código aberto do MIT. Os aplicativos fornecidos por terceiros podem ser disponibilizados sob uma ou mais licenças de código aberto aprovadas pela organização Open Source Initiative (OSI). Você pode encontrar os detalhes do licenciamento na guia de licenciamento de um aplicativo no site da AWS.

Os aplicativos no AWS Serverless Application Repository são verificados pela AWS?

Todos os aplicativos publicados pela AWS são avaliados quanto à adesão à licença e à qualidade do código. Os aplicativos publicados por terceiros têm o uso correto das permissões validado para garantir que os consumidores saibam quais recursos podem ser modificados ou acessados por um aplicativo. Você pode revisar esses detalhes, juntamente com o número de vezes em que um aplicativo foi implantado por clientes da AWS, antes de usar um aplicativo.

Posso usar o AWS Serverless Application Repository em combinação com o GitHub?

Sim. O AWS Serverless Application Repository permite aos desenvolvedores publicar aplicativos sem servidor desenvolvidos em um repositório do GitHub. Usar o AWS CodePipeline para vincular um código-fonte do GitHub ao AWS Serverless Application Repository pode facilitar ainda mais o processo de publicação, que leva alguns minutos para ser configurado.

IMPLANTAÇÃO DE APLICATIVOS

Como posso gerenciar os aplicativos sem servidor implantados na minha conta?

Os aplicativos sem servidor são implantados como pilhas do AWS CloudFormation, que permitem gerenciar com facilidade um aplicativo como uma unidade única. Cada recurso é marcado com o nome de recurso da Amazon (ARN), identificável de forma exclusiva, do aplicativo que ajuda você a localizar os recursos por meio do console do AWS Tag Editor. Você também pode usar as ferramentas existentes da AWS e de terceiros para gerenciar cada recurso separadamente.

PUBLICAÇÃO DE APLICATIVOS

Como faço para publicar um aplicativo sem servidor no AWS Serverless Application Repository?

Para publicar um aplicativo sem servidor, descreva o aplicativo usando o formato do AWS Serverless Application Model (SAM), empacote-o usando a ILC da AWS e publique-o usando o Console de Gerenciamento da AWS, a ILC da AWS ou os AWS SDKs. Você deve ter uma conta válida da AWS e será solicitado a fornecer um nome, uma descrição, um link de código-fonte e um LICENSE.txt para seu aplicativo. Aplicativos que serão disponibilizados para qualquer cliente da AWS deverão ser publicados nas regiões Leste dos EUA (Norte da Virgínia) ou Leste dos EUA (Ohio).

Quem poderá implantar os aplicativos que eu publicar no AWS Serverless Application Repository?

Os publicadores controlam quem pode encontrar e implantar seus aplicativos no repositório. Você pode limitar o acesso à sua equipe (um grupo sob a mesma conta da AWS), compartilhar um aplicativo com outras contas ou disponibilizá-lo publicamente para qualquer cliente da AWS. Para saber mais sobre as permissões e a visibilidade dos aplicativos publicados, consulte nossa documentação de Políticas baseadas em recursos.

Posso cobrar uma taxa pelos aplicativos sem servidor que publico?

Se você desejar cobrar uma taxa pelo uso de um aplicativo sem servidor, será possível integrar o AWS Lambda por trás do Amazon API Gateway e vender a API como um produto de SaaS por meio do AWS Marketplace. Para saber mais, reveja as etapas para a criação de um catálogo no AWS Marketplace e sobre como lucrar com sua API usando o API Gateway.

USO DE APLICATIVOS ANINHADOS

O que é um aplicativo aninhado?

Um aplicativo aninhado sem servidor é um componente que é implantado como parte de outro aplicativo sem servidor. À medida que as arquiteturas sem servidor crescem, surgem padrões comuns nos quais os mesmos componentes são definidos em vários modelos de aplicativo. Agora, você pode separar padrões comuns como aplicativos dedicados e aninhá-los como parte de modelos de aplicativos novos ou existentes.

Como os aplicativos aninhados são implantados?

Aplicativos aninhados são implantados como pilhas aninhadas do AWS CloudFormation.

Como incluo um aplicativo aninhado no meu modelo de SAM?

Use o tipo de recurso AWS:Serverless:Application para adicionar aplicativos que você desenvolveu localmente ou que foram compartilhados com você por meio do Serverless Application Repository. Você pode definir entradas para o aplicativo aninhado ou saídas de referência usando uma sintaxe simples do AWS SAM. Para obter mais detalhes, consulte a nossa documentação.

Como posso resolver conflitos de nome de recurso ao aninhar aplicativos?

Especifique um nome exclusivo para cada aplicativo aninhado no seu modelo do SAM. Os recursos criados pelo aplicativo aninhado terão o escopo definido em função do nome exclusivo do aplicativo.

Como faço para empacotar de um aplicativo aninhado?

Use o comando sam package da ILC do SAM para empacotar o aplicativo aninhado. Publique o pacote do seu aplicativo no Serverless Application Repository usando APIs ou AWS SDK. Você pode usar o comando sam deploy da ILC do SAM para implantar o aplicativo imediatamente.

Posso empacotar uma hierarquia de aplicativos aninhados usando a ILC do SAM?

Sim. O comando sam package da ILC do SAM empacotará recursivamente uma hierarquia de aplicativos aninhados. Você pode ter no máximo 199 aplicativos aninhados em um único modelo de aplicativo de nível superior.

Consumo de aplicativos aninhados

Como posso gerenciar os aplicativos sem servidor implantados na minha conta?

Os aplicativos sem servidor são implantados como pilhas do AWS CloudFormation, que permitem gerenciar com facilidade um aplicativo como uma unidade única. Cada recurso é marcado com o nome de recurso da Amazon (ARN), identificável de forma exclusiva, do aplicativo que ajuda você a localizar os recursos por meio do console do AWS Tag Editor. Você também pode usar as ferramentas existentes da AWS e de terceiros para gerenciar cada recurso separadamente.

Como faço para aninhar aplicativos compartilhados comigo por meio do Serverless Application Repository?

Configure o recurso SAM AWS:Serverless:Application com o ARN do aplicativo e qualquer parâmetro de entrada necessário requerido pelo aplicativo. Para obter mais detalhes, consulte a nossa documentação.

P: Como faço para empacotar um aplicativo aninhado que usei no Serverless Application Repository?

Os aplicativos aninhados do Serverless Application Repository já estão empacotados e prontos para uso. Você pode usar o comando sam package da ILC do SAM para garantir que os aplicativos aninhados ainda estejam disponíveis para você antes de implantar o aplicativo na sua conta.

O que acontece se um aplicativo aninhado não estiver mais disponível?

Os aplicativos que aninhar que forem excluídos ou que você não tiver mais acesso não terão impacto nas implantações existentes do seu aplicativo. Será solicitado que você atualize seu aplicativo se tentar implantá-lo com dependências que não existem mais.

Como posso saber se um aplicativo contém outros aplicativos aninhados?

Os aplicativos que contêm um ou mais aplicativos aninhados usam CAPABILITY_AUTO_EXPAND.

Publicação de aplicativos aninhados

Posso publicar aplicativos aninhados no Serverless Application Repository?

Sim. Você pode publicar aplicativos aninhados no Serverless Application Repository da mesma forma que publica aplicativos independentes atualmente. Use as APIs do Console AWS, ILC da AWS, ILC do SAM ou Serverless Application Repository para publicar aplicativos aninhados.

Compartilhamento de aplicativos aninhados

Como compartilho um aplicativo que contém aplicativos aninhados?

Os aplicativos sem servidor seguem o mesmo modelo usado pelas funções do Lambda atualmente. O acesso a aplicativos sem servidor no Serverless Application Repository pode ser controlado usando as políticas baseadas em recursos do AWS IAM. Você pode usar as políticas para manter seu aplicativo privado, conceder acesso entre contas ou disponibilizá-lo publicamente.

Como o compartilhamento funciona quando há uma hierarquia de aplicativos aninhados?

Com uma hierarquia de aplicativos aninhados, cada aplicativo aninhado deve ser disponibilizado para a conta da AWS com a qual estiver compartilhando o aplicativo de nível superior.

Compartilhamento de aplicativos

Posso compartilhar aplicativos com todas as contas que pertencem a uma organização da AWS?

Sim. Agora você pode compartilhar aplicativos com todas as contas que pertencem a uma organização da AWS. Os aplicativos sem servidor seguem o mesmo modelo usado pelas funções do Lambda atualmente. O acesso a aplicativos sem servidor no AWS Serverless Application Repository pode ser controlado usando as políticas baseadas em recursos do AWS IAM. Você pode usar as políticas para manter a aplicação privada, conceder acesso entre contas, conceder acesso à organização ou disponibilizá-la publicamente. Para saber mais sobre as políticas baseadas em recursos para aplicações sem servidor, consulte aqui.

Como atualizo políticas baseadas em recursos para compartilhar um aplicativo com uma organização da AWS?

Para começar, encontre o aplicativo no console do AWS Serverless Application Repository, clique na guia “Share” e em “Create Statement”. Aqui, você pode adicionar o principal da organização da AWS para conceder acesso ao aplicativo para a organização. Você também pode usar as APIs do AWS Serverless Application Repository para atualizar políticas baseadas em recursos para compartilhar aplicações com a organização. Para obter mais detalhes sobre as políticas baseadas em recursos, consulte a nossa documentação aqui.

Posso compartilhar um aplicativo com várias organizações da AWS?

Não. Você pode compartilhar um aplicativo apenas com as contas que pertencem às mesmas organizações da AWS da sua conta.

Posso compartilhar um aplicativo com uma determinada unidade organizacional em minha organização?

Não há suporte para o compartilhamento de aplicativos em uma unidade organizacional. Você pode usar as políticas para manter o aplicativo privado, conceder acesso entre contas, conceder acesso à organização ou disponibilizá-lo publicamente.

Como compartilho um aplicativo com contas específicas em uma organização?

Para conceder acesso a um aplicativo para determinadas contas em uma organização, basta atualizar a política baseada em recursos para incluir contas da AWS, juntamente com o ID da organização da AWS com a qual você quer compartilhar o aplicativo.

Posso atualizar as permissões de uma organização para apenas visualizar um aplicativo?

Sim. Você pode definir ações na política baseada em recursos para restringir os tipos de operações que uma pessoa pode executar em um aplicativo que você compartilhou. As ações de uma política baseada em recursos podem ser atualizadas em todas as APIs e no console do AWS Serverless Application Repository. Para obter mais detalhes as ações que podem ser definidas para políticas baseadas em recursos, consulte a nossa documentação aqui.

TERMOS DO USUÁRIO

1. Os Publicadores, que são clientes da AWS, podem enviar seus aplicativos e componentes sem servidor da AWS (“AWS Serverless Applications”) para serem disponibilizados por meio do AWS Serverless Application Repository (“Repositório”) de forma privada, entre contas da AWS especificadas ou para todos os clientes da AWS que usam o Repositório, de acordo com o processo de publicação no console do Repositório. Os AWS Serverless Applications a serem disponibilizados de forma privada ou entre contas da AWS especificadas podem estar no formato binário ou de código-fonte. Os AWS Serverless Applications disponibilizados a todos os clientes da AWS podem estar no formato binário ou de código-fonte e devem incluir detalhes suficientes para permitir que o usuário acesse o código-fonte.

2. Os Publicadores devem ter todas as licenças e as permissões ou os direitos necessários para enviar os AWS Serverless Applications para o Repositório. O Publicador deve enviar ao Repositório, juntamente com o AWS Serverless Application, os termos da(s) licença(s) do AWS Serverless Application, incluindo qualquer requisito de atribuição de licença de código aberto. O Publicador é responsável por analisar, avaliar e testar qualquer AWS Serverless Application antes de enviá-lo ao Repositório.

3. O Publicador concede à AWS e às suas afiliadas os direitos de reprodução, distribuição, exibição pública ou para contas da AWS especificadas (conforme aplicável), execução, transmissão, uso e, de outra forma, disponibilização digital (via todos os meios de distribuição eletrônica e online) dos AWS Serverless Applications no Repositório.

4. O Publicador declara e garante que tem todos os direitos para enviar o seu AWS Serverless Application para o Repositório, tem todos os direitos para permitir o download de seu AWS Serverless Application do Repositório e forneceu todas as atribuições necessárias. O Publicador não enviará AWS Serverless Applications com malware ou conteúdo mal-intencionado ou prejudicial com intenção ou propósito de prejudicar outras pessoas. A AWS pode remover qualquer AWS Serverless Application a seu critério exclusivo por este ou por outros motivos.

5. Os clientes da AWS cumprirão os termos da(s) licença(s) (incluindo qualquer atribuição ou outros requisitos) de qualquer AWS Serverless Application que obtiverem por download.

6. Qualquer cliente da AWS que criar um trabalho derivado de qualquer AWS Serverless Application será responsável por determinar se tem os direitos apropriados para isso nos termos da(s) licença(s) do AWS Serverless Application e deverá cumprir quaisquer atribuições ou outros requisitos.

7. Qualquer licença ou outro contrato do Publicador do AWS Serverless Application é definida unicamente entre o Publicador e os clientes da AWS. A AWS ou qualquer uma das suas afiliadas faz parte dessa licença ou outro contrato e não terá qualquer responsabilidade ou obrigação sob essa licença ou outro contrato. A AWS não é responsável e não tem a obrigação de garantir que os Publicadores ou os clientes da AWS cumpram o licenciamento (incluindo a atribuição) ou outros requisitos.

8. Os AWS Serverless Applications e quaisquer outros materiais de terceiros disponíveis no Repositório são “Conteúdo do Repositório”. O Conteúdo do Repositório É FORNECIDO “NO ESTADO EM QUE SE ENCONTRA”, SEM GARANTIA DE NENHUM TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, ENTRE OUTRAS, GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO VIOLAÇÃO. EM NENHUMA CIRCUNSTÂNCIA, OS PUBLICADORES, OS DETENTORES DE DIREITOS AUTORAIS, A AWS OU SUAS AFILIADAS DEVEM SER RESPONSABILIZADOS POR QUALQUER RECLAMAÇÃO, DANO OU OUTRA OBRIGAÇÃO, SEJA EM CASO DE AÇÃO CONTRATUAL OU OUTRO ATO ILÍCITO PROVENIENTE DE OU ASSOCIADO AO Conteúdo do Repositório, AO USO OU A OUTROS PROCEDIMENTOS NO Conteúdo do Repositório.

9. Os Publicadores e os clientes da AWS reconhecem que cumprirão todos esses termos no uso do Repositório e esses termos podem ser atualizados pela AWS periodicamente.

Implante um aplicativo sem servidor em minutos

Veja a nossa coleção de aplicativos sem servidor