Introdução ao AWS Lambda

O AWS Lambda é um serviço de nuvem responsivo que inspeciona as ações do aplicativo e responde implantando códigos definidos pelo usuário, conhecidos como funções. Antes de aprendermos o tópico em profundidade, primeiro entendamos o AWS Lambda a partir de dois cenários diferentes.

Problema

Você tem um projeto em mente. Você está formulando o algoritmo em sua mente. Você está avaliando as opções de pilha de tecnologia que podem ser usadas para criar seu projeto. Tudo está indo muito bem até você perceber que precisa fazer o download do software, IDEs, ferramentas e adquirir espaço no servidor para veicular seu código. Ok, você precisaria configurar a infraestrutura básica antes de iniciar a codificação real em seu projeto. Ah, mas você precisa que seu aplicativo seja executado perfeitamente em computadores e em interfaces móveis. Isso significa mais infraestrutura para configurar antes de você atingir a codificação básica.

Demasiada sobrecarga para os estágios iniciais de desenvolvimento? Demasiada sobrecarga para gerenciar a infraestrutura, mesmo quando seu projeto é ampliado? Seu projeto está ultrapassando as estimativas de custo? Seu foco está dividido entre todas as coisas, exceto a codificação?

Solução - Esses são os problemas, mas o AWS Lambda é a solução.

AWS Lambda - Computação sem servidor

O AWS Lambda permite que você execute seu código sem provisionar os servidores e outras infra-estruturas de suporte. Você pode codificar qualquer tipo de aplicativo ou serviço de back-end sem se preocupar com o servidor ou as DLLs / software de suporte. Você só precisa se concentrar no seu código. Descanse tudo é cuidado pela AWS, começando com a veiculação do seu código, acionando-o em eventos específicos, para gerenciar mais espaço no servidor quando o seu código aumenta.

  • A AWS cobra sua fatura com base no tempo de execução do seu código, em múltiplos de quadros de 100 milissegundos. Não há cobrança pelo tempo que seu código ficar ocioso no servidor. Qual a melhor motivação para escrever um código eficiente!
  • O termo 'sem servidor' geralmente denota a mudança para a nuvem. Com a nuvem, você pode delegar suas responsabilidades operacionais à AWS e se concentrar mais em fornecer uma melhor experiência ao consumidor por meio de seu aplicativo.
  • Enquanto você faz isso, a AWS lida com tarefas como gerenciamento de infraestrutura, clustering, aplicação de patches, segurança, manutenção do sistema operacional etc.

Por que o AWS Lambda?

Como é a natureza humana, é sempre bom avaliar se a tecnologia / ferramenta vale o benefício. Vamos ver alguns dos recursos do AWS Lambda que facilitam a vida dos desenvolvedores.

1) Traga seu próprio código

Como a AWS se vangloria com muito carinho desse recurso, o Lambda permite codificar em qualquer idioma e a AWS forneceria o suporte subjacente. Ele suporta quase todas as línguas nativas, estruturas JavaScript, bibliotecas de terceiros e o que não.

2) Um host de outros serviços da AWS

A AWS é um balcão único para toda a infraestrutura necessária. Possui fácil integração com vários serviços, como armazenamento (S3), bancos de dados (RDS, DynamoDB), servidores (EC2), gerenciamento de segurança (IAM), redes (Route53, CloudFront) e muito mais.

3) Código personalizado

Precisa escrever uma lógica de back-end personalizada personalizada para um único cliente? Em vez de escrever a lógica no lado do cliente, use o AWS Lambda para escrever serviços personalizados e liberar seu código de atualizações da plataforma do cliente.

4) Pagamento por uso

Você não precisa gastar muito dinheiro enquanto seu código estiver ocioso. Se o seu serviço receber hits apenas durante o dia, pague apenas pelo tempo em que seu código for executado. Isso é calculado em prazos de 100 milissegundos.

5) Escala automática

A AWS aumenta automaticamente os recursos quando seu serviço recebe hits mais altos. Você não precisa configurar nada para adquirir recursos adicionais. Não há limite para o número de solicitações que seu código pode manipular. Assim, o desempenho permanece alto o tempo todo.

6) Recuperação de desastres da Amazon

Com seu código e dados replicados em várias zonas de disponibilidade, qualquer falha no recurso não afeta seu aplicativo. Os pedidos são roteados automaticamente para outra zona.

Vamos começar com o Tutorial do AWS Lambda

Animado? Vamos começar com o AWS Lambda. Como é um costume em todo o mundo da programação, começaríamos com um simples programa 'Hello World'.

Etapas pré-requisitos

Para começar a usar o AWS Lambda, você precisa ter uma conta da AWS. É diferente da conta da Amazon que você usa para fazer compras. Se você já possui um, faça login no console e pule para a próxima seção. Caso contrário, siga as etapas abaixo. Não se preocupe, é totalmente gratuito, desde que seu aplicativo não exceda o limite da camada gratuita.

Crie uma conta da AWS

  • Abra o console da AWS. Clique em Criar nova conta da AWS.

  • Preencha suas informações e atualize os detalhes do seu cartão. A Amazon não cobrará nada a menos que você exceda o limite de uso da camada gratuita. O limite de uso da camada gratuita é abundante para o desenvolvimento de um único usuário.
  • Depois de concluir o processo de inscrição, visite o link na Etapa 1 novamente. Desta vez, efetue login no console com seu nome de usuário e senha.

Entre no Lambda Console

Depois de fazer login no console de gerenciamento da AWS, você verá um link para Serviços no painel de cabeçalho. Clique nele e você encontrará o Lambda na subseção Compute .

É assim que o console lambda se parece à primeira vista:

Você também pode navegar para o painel Lambda e ver estatísticas do seu código. Ele fornece uma visão geral da contagem de chamadas, duração da execução, taxa de sucesso e erro, etc. Um painel de amostra é semelhante ao abaixo.

Ok, então o próximo passo é criar uma função. Todos os códigos no Lambda são denominados como funções porque, bem, eles executam uma tarefa específica. Observe um botão Create Function no canto superior direito do console Lambda. Esse botão nos levará à tela abaixo:

Criando uma função do AWS Lambda

Vamos ver como criar a função AWS Lambda seguindo as etapas abaixo.

Passo 1

Agora temos três opções, para começar:

  • Autor do zero - Você receberá um modelo em branco e poderá escrever seu código do zero.
  • Use um Blueprint - Um modelo com algumas bibliotecas incluídas para atender às suas necessidades. Você só precisa trabalhar na lógica do seu código.
  • Procurar Repositório de Aplicativos sem Servidor - Pronto para usar códigos internos que executam várias funções. Eles também podem ser usados ​​facilmente em seu código.

Para se adequar ao nosso objetivo de entender o Lambda, primeiro usaríamos um modelo. Quando você estiver confiante o suficiente, poderá começar a construir seu código do zero e explorar o potencial do AWS Lambda.

Agora clique em Use A Blueprint e procure a palavra hello. Os seguintes resultados são exibidos. Vamos criar nosso aplicativo hello world usando o NodeJS.

Passo 2

Agora chegamos à tela de configuração para nossa função. Digite um nome de sua escolha e selecione 'Criar uma nova função a partir de modelos de política da AWS' no menu suspenso de Função de execução. Atribua o nome da função como 'lambda_basic_execution'.

Nota - Uma função de execução define as permissões que o AWS Lambda pode assumir ao executar seu código. Uma execução básica significa que o lambda simplesmente executará o código onde não houver uma biblioteca de terceiros envolvida. Caso seu código precise interagir com o Amazon S3 ou RDS ou EC2 ou qualquer outro serviço, as permissões apropriadas para acessar esses serviços devem ser concedidas à sua função lambda da AWS.

Clique no botão Criar Função na parte inferior da tela. A tela a seguir aparece na criação bem-sucedida de sua função.

Nota - O ARN ou Amazon Resource Name é um nome exclusivo da sua função. Isso pode ser usado como ponto final para acionar sua função. Os acionadores na seção de designer são onde você adiciona serviços que podem acionar sua função. Em todo serviço que pode acionar sua função, o ARN da sua função precisa ser configurado. É como uma ligação bidirecional de serviços. O serviço de acionador saberia que precisa atingir sua função e sua função seria configurada para receber solicitações dos serviços de acionador adicionados. Adicionar gatilhos é o próximo nível dos tutoriais lambda e está além do escopo deste artigo.

etapa 3

Abaixo da subseção do designer, está a subseção Código de função. Este é o seu IDE embutido facilitado pela Amazon. Parece algo como isto:

  • Na lista suspensa Tipo de entrada de código, você pode selecionar se deseja editar o código embutido ou fazer upload de um arquivo zip do seu sistema ou fazer upload de um arquivo zip do Amazon S3. As opções de upload podem ser usadas para códigos complexos que podem ser facilmente editados em algum IDE com melhor recurso em seu sistema local.
  • O tempo de execução é a linguagem / estrutura que suporta seu código.
  • Um manipulador é uma função de chamada dentro da sua função lambda da AWS. Sua função lambda da AWS pode ter vários manipuladores e você pode especificar com qual manipulador iniciar a execução. Imagine manipuladores como métodos designados para executar tarefas específicas.

Passo 4

No topo da página, você verá uma faixa com alguns botões. Clique em Selecionar um evento de teste para testar nosso código. Isso solicitará que você configure um evento de teste, caso nenhum seja criado.

Configure seu primeiro evento de teste como o abaixo:

Salve o evento de teste e clique em Teste. Você verá os resultados da execução de sua função.

  • Resposta - O resultado final retornado por sua função. Observe que nossa função retornou key1.
  • ID da solicitação - Cada solicitação para sua função possui um ID de solicitação exclusivo. Eles são usados ​​pela Amazon para rastrear solicitações e gerar suas informações de cobrança.
  • Logs de funções - a parte mais interessante do AWS Lambda. Esses são logs detalhados que especificam o início e o fim da execução de sua função. Diferentemente da depuração nos IDEs comuns, o AWS Lambda depende muito de logs para fins de depuração. Eles são armazenados no CloudWatch para futuras referências também.

Parabéns! Você criou com êxito uma função Lambda. Mas espere, ainda não o invocamos. Acabamos de testá-lo em nosso próprio ambiente. Vamos invocá-lo do mundo exterior.

Invocando a função AWS Lambda

Estaríamos criando uma API REST para chamar a função Lambda.

Passo 1

Vá para o Amazon API Gateway. Também pode ser encontrado em Serviços -> Rede e entrega de conteúdo. Clique em Criar API.

Passo 2

Configure os detalhes básicos da sua API como abaixo e clique em Criar API.

etapa 3

Agora sua API está criada, mas não há um método HTTP definido na API. Clique no menu suspenso Actions e Create Method. Você notará uma lista suspensa menor exibida no painel esquerdo. Clique em GET neste menu suspenso. Então, basicamente, estamos criando um método HTTP GET para nossa API.

Passo 4

Configure seu método GET para chamar uma função lambda, conforme ilustrado abaixo. Você precisa especificar o ARN da sua função Lambda no campo Função Lambda. Clique em Salvar.

Depois que seu método GET for salvo, você chegará à tela de Execução de método abaixo.

Etapa 5

Agora, seu método GET também é criado. Mas ainda não fornecemos os pares de valores-chave que fornecemos em nosso ambiente de teste. Nossa função do AWS Lambda espera três chaves e valores. Vamos defini-los.

Clique em Solicitação de integração e role para baixo até Modelos de mapeamento. Defina seu modelo de mapeamento como abaixo. O tipo de conteúdo é application / json. Este é simplesmente o formato dos parâmetros que você enviaria no seu corpo de solicitação.

A API está pronta para ser implantada.

Etapa 6

Clique em Actions and Deploy API. No pop-up de implantação, selecione Novo Estágio e forneça um nome e uma descrição significativos.

Você chegará à tela abaixo com o ponto de extremidade REST da sua API configurado e pronto para uso.

Clique no terminal e o navegador enviará uma solicitação à sua função Lambda e exibirá a resposta.

Parabéns! Você invocou com êxito sua função Lambda também. Bastante uma conquista.

Quem pode aprender o AWS Lambda

Agora, deve estar evidente que a função do AWS Lambda exige um pouco de conhecimento sobre serviços, implantação de serviços, solicitações e respostas. Isso é algo básico que qualquer programador de computador deve saber para criar aplicativos da web. Se você não possui conhecimento suficiente sobre esse assunto, é recomendável obter esse conhecimento para garantir a codificação sem complicações no AWS Lambda.

A AWS também possui documentação abrangente sobre todos os seus serviços. Explore a documentação para uma compreensão mais profunda do mundo da AWS.

Carreira na AWS Lambda

Não é apenas a Lambda, mas hoje todo o setor de serviços da Web na Amazon está em expansão. Há uma demanda por especialistas em serviços da AWS. A AWS também fornece certificações adequadas ao seu nível de especialização. Explore o site da AWS para obter mais informações sobre isso.

Conclusão

Agora que você entendeu o básico das funções do AWS Lambda, crie mais funções e integre-se a outros serviços da AWS. Continue jogando e continue aprendendo. Felicidades!

Artigos recomendados

Este foi um guia para o que é o AWS Lambda. Neste tutorial sobre a função AWS Lambda, explicamos como configurar e implantar a API. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. O que é a AWS? | Como funciona?
  2. Carreira no Azure | Educação | Plano de carreira
  3. Guia de serviços de computação em nuvem
  4. Quais são as alternativas à AWS?
  5. Guia completo para provedores de serviços de computação em nuvem

Categoria: