Desenvolvimento e operações
Nuvem da AWS
Comece a usar a AWS

A computação sem servidor permite compilar e executar aplicações e serviços sem pensar em servidores. Com a computação sem servidor, sua aplicação ainda é executada nos servidores, mas todo o gerenciamento do servidor é feito pela AWS. A base da computação sem servidor é o AWS Lambda, que permite executar seu código sem provisionar ou gerenciar servidores. Com o Lambda, é possível executar código para praticamente qualquer tipo de aplicação ou serviço de back-end. Além disso, ele se encarrega de todos os itens necessários para executar e alterar a escala do código com alta disponibilidade.

100x100_benefit_code-quality

O AWS Lambda executa automaticamente o seu código sem exigir que você provisione ou gerencie servidores. Basta escrever o código e carregá-lo no Lambda.

100x100_benefit_increase-upward1

O AWS Lambda escala automaticamente a sua aplicação ao executar o código em resposta a cada acionamento. O código é executado em paralelo e processa cada acionamento individualmente, escalando precisamente de acordo com o tamanho da carga de trabalho.

100x100_benefit_performance

Com o AWS Lambda, você é cobrado por cada 100ms de execução do código e pelo número de vezes que o código é acionado. Você não paga nada quando o seu código não está em execução.

A computação sem servidor permite criar aplicações escaláveis e econômicas com ajuste de escala automático, sem a necessidade de provisionar, gerenciar e alterar a escala de servidores. Use o AWS Lambda para executar o código da sua aplicação e o Lambda aciona o código em resposta a eventos, como solicitações HTTP ou alterações nos dados em um bucket do Amazon S3 ou uma tabela do Amazon DynamoDB. A cobrança será gerada de acordo com o tempo necessário para executar o seu código e o número de vezes que o código foi acionado. Como o Lambda escala precisamente de acordo com o tamanho da carga de trabalho, nunca será necessário pagar por processos computacionais ociosos.

A AWS também disponibiliza um conjunto de serviços gerenciados que podem ser usados para criar aplicações sem servidor. Esses serviços permitem adicionar camadas de banco de dados e armazenamento à sua aplicação ou gerenciar conexões e mensagens usando dipositivos móveis e da IoT. É possível usar esses serviços em conjunto com o Lambda para criar aplicações que não exigem provisionar e manter servidores ou administrar bancos de dados. Também não será mais necessário preocupar-se com a tolerância a falhas e a disponibilidade da aplicação. Em vez disso, a AWS disponibiliza todos esses recursos, o que permite que você se concentre na inovação de produtos e em como lançá-los no mercado mais rapidamente.

A disponibilização de uma aplicação sem servidor em grande escala exige uma plataforma com um amplo conjunto de recursos. Veja aqui como a AWS apoia aplicações de nível empresarial criadas com o uso da computação sem servidor:

Camada lógica da nuvem

Potencialize sua lógica de negócios com o AWS Lambda, que pode agir como o plano de controle e a camada de lógica de todos os seus recursos interconectados de infraestrutura e APIs da web.  

Orquestração e gerenciamento de estado

Coordene e gerencie o estado de cada componente distribuído ou microsserviço da aplicação sem servidor usando o AWS Step Functions.

Fontes de dados com capacidade de resposta

Escolha entre as opções de um amplo conjunto de fontes de dados e provedores que podem ser usados para processar dados ou acionar eventos em tempo real. Consulte a nossa documentação para obter uma lista de fontes de dados com capacidade de resposta.

Estrutura de modelagem de aplicações

Use o AWS Serverless Application Model de código aberto para modelar e implantar aplicações e serviços sem servidor. Disponibilize de modo contínuo aplicações sem servidor usando ferramentas de gerenciamento do ciclo de vida de aplicações, como o AWS CodePipeline e o AWS CodeBuild.

Ecossistema do desenvolvedor

Usufrua de um ecossistema composto por ferramentas de terceiros e projetos de código aberto que facilitam criar, testar e implantar código, da fase de desenvolvimento até a produção. Consulte nossa página sobre ecossistemas para obter mais informações relacionadas às ferramentas do desenvolvedor.

Biblioteca de integrações

Comece a usar rapidamente nosso conjunto de modelos ou blueprints reutilizáveis que facilitam o uso de integrações com serviços conhecidos de terceiros (como Slack, Algorithmia, Twilio, Loggly, Splunk, Sumo Logic, etc).

Controle de segurança e acesso

Aplique a conformidade e proteja todo o seu ambiente de TI com registro de logs, rastreamento de alterações, controles de acesso e criptografia. Controle de modo seguro o acesso a recursos da AWS com o AWS Identity and Access Management (IAM). Use a Amazon Virtual Private Cloud (VPC) para criar redes virtuais privadas que só você pode acessar.

Confiabilidade e desempenho

A AWS disponibiliza serviços com alta disponibilidade, escalabilidade e baixo custo que proporcionam ótimo desempenho em escala empresarial. O AWS Lambda executa de modo confiável a lógica de negócios com recursos incorporados, como dead letter queues e novas tentativas automáticas. Consulte nossos casos de clientes para saber mais sobre como as empresas estão usando a AWS para executar suas aplicações.

Escala e alcance globais

Dentro de poucos minutos, lance em escala mundial aplicações e serviços usando nosso alcance global. O AWS Lambda está disponível em várias regiões da AWS e em todos os nossos pontos de presença da por meio do Lambda@Edge. Também é possível executar funções do Lambda em dispositivos locais conectados usando o AWS Greengrass.

A AWS disponibiliza um conjunto de serviços gerenciados que podem ser usados para criar aplicações e serviços sem servidor altamente escaláveis. É possível criar qualquer coisa, de back-ends de dispositivos móveis a processadores de dados de streaming usando a computação sem servidor.

Computação

O AWS Lambda permite executar códigos sem provisionar ou gerenciar servidores. Você paga apenas pelo tempo de computação utilizado. Não haverá cobranças quando o código não estiver em execução. Basta carregar o código e o Lambda se encarrega de todos os itens necessários para executar e alterar a escala do código com alta disponibilidade.

Armazenamento

O Amazon Simple Storage Service (Amazon S3) oferece aos desenvolvedores e equipes de TI armazenamento de objetos seguro, durável e altamente escalável. O Amazon S3 é fácil de usar, com uma interface de web service simples para armazenar e recuperar qualquer quantidade, de dados de qualquer parte da web.

Bancos de dados

O Amazon DynamoDB é um serviço de banco de dados NoSQL rápido e flexível para todas as aplicações que precisam de latência uniforme abaixo de 10 milissegundos em qualquer escala. O serviço é um banco de dados em nuvem gerenciado e é compatível com os modelos de armazenamento de documentos e chave-valor.

Proxy de API

O Amazon API Gateway é um serviço gerenciado que permite que desenvolvedores criem, publiquem, mantenham, monitorem e protejam APIs em qualquer escala. O Amazon API Gateway permite processar centenas de milhares de chamadas simultâneas de API e processa o gerenciamento de tráfego, o controle de autorização e acesso, o monitoramento e o gerenciamento de versões de API.

Análise

O Amazon Kinesis é uma plataforma para dados de streaming na AWS, que oferece serviços excelentes para facilitar o carregamento e a análise de dados de streaming, além de possibilitar a criação de aplicações personalizadas de dados de streaming para necessidades específicas.

Sistema de mensagens e filas

O Amazon SNS é um serviço de sistema de mensagens de publicação/assinatura rápido, flexível e gerenciado. Ele pode ser usado como um serviço baseado na nuvem de notificação de aplicação móvel para enviar notificações por push, e-mails e mensagens SMS, ou como uma infraestrutura de sistema de mensagens empresariais. O Amazon (SQS) é um serviço de fila de mensagens rápido, confiável, escalável e gerenciado. Com o SQS, dissociar os componentes de uma aplicação de nuvem é simples e econômico.

Orquestração e gerenciamento de estado

O AWS Step Functions facilita coordenar componentes de aplicações distribuídas e microsserviços usando cargas de trabalho visuais. A criação de aplicações usando componentes individuais, cada um deles executando uma função diferente, permite alterar rapidamente a escala e as aplicações. O Step Functions é uma forma confiável de coordenar componentes e acessar as funções da aplicação.

Diagnóstico

O AWS X-Ray ajuda desenvolvedores a analisar e depurar aplicações distribuídas de produção, como as criadas usando uma arquitetura de microsserviços. Com o X-Ray, é possível entender o desempenho da aplicação e dos seus serviços subjacentes para identificar e solucionar problemas e erros de desempenho.

Crie praticamente qualquer tipo de serviço de aplicações ou back-end usando uma arquitetura sem servidor.
Veja abaixo alguns casos de uso:
 

É possível criar aplicações web e back-ends sem servidor usando o AWS Lambda, o Amazon API Gateway, o Amazon S3 e o Amazon DynamoDB para processar solicitações da web, de dispositivos móveis, da Internet das Coisas (IoT) e de chatbots.

Exemplo: Arquitetura de referência de aplicação web: Diagrama | Código de exemplo

Lambda_WebApplications

Exemplo: Arquitetura de referência de back-end móvel: Diagrama | Código de exemplo

Lambda_MobileBackends
Lambda_Bustle

A Bustle executa um back-end sem servidor para a aplicação Bustle iOS e seus sites usando o AWS Lambda e o Amazon API Gateway. As arquiteturas sem servidor permitem que a Bustle nunca precise administrar o gerenciamento da infraestrutura, portanto, cada engenheiro pode voltar sua atenção para a criação de novos recursos e a inovação. Leia o estudo de caso »

É possível criar uma variedade de sistemas de processamento de dados em tempo real usando o AWS Lambda, o Amazon Kinesis, o Amazon S3 e o Amazon DynamoDB.

Exemplo: Arquitetura de referência de processamento de dados: Diagrama | Código de exemplo

Lambda_FileProcessing
Lambda_SeattleTimes

O Seattle Times usa o AWS Lambda para redimensionar imagens para visualização em dispositivos diferentes, como PCs, tablets e smartphones. Leia o estudo de caso »


Exemplo: Arquitetura de referência de dados de streaming em tempo real: Diagrama | Código de exemplo 

Lambda_StreamProcessing
serverless-benchling

A Benchling usa uma arquitetura sem servidor para processar dados de genômica em grande escala, o que reduziu em 90% seu tempo de processamento. Isso permite que os cientistas que usam a plataforma dediquem mais tempo às suas pesquisas. Leia o estudo de caso »