Tutorial do AWS Lambda: seu guia para a computação sem servidor da Amazon



Este tutorial do AWS Lambda descreve a plataforma de computação sem servidor da AWS, cobrindo detalhes sobre a função Lambda, fonte de eventos, preços do Lambda com um caso de uso.

Tutorial AWS Lambda

Hoje vamos falar sobre AWS Lambda. AWS Lambda é um serviço de computação oferecido pela Amazon. Você deve estar curioso, pois há vários outros serviços de computação da AWS, como AWS EC2, AWS Elastic Beanstalk, AWS Opsworks etc., então por que outro serviço de computação? Neste tutorial do AWS Lambda, você descobrirá o que é o AWS Lambda, por que ele é usado e em quais casos de uso você deve considerá-lo.

Vamos ver como a Amazon define o AWS Lambda e, em seguida, daremos um mergulho profundo nos conceitos-chave, entender um caso de uso com uma prática no final.





Computação sem servidor Lambda - tutorial lambda do aws

O que é AWS Lambda?

Amazon explica, AWS Lambda (& lambda) como um serviço de computação 'sem servidor', ou seja, os desenvolvedores não precisam se preocupar com quais recursos da AWS devem ser lançados ou como eles irão gerenciá-los, eles apenas colocam o código em lambda e ele é executado , é simples assim! Isso ajuda você a se concentrar na competência central, ou seja, no desenvolvimento de aplicativos ou no código.



Onde vou usar o AWS Lambda?

O AWS Lambda executa seu código de back-end, gerenciando automaticamente os recursos da AWS. Quando dizemos 'gerenciar', isso inclui iniciar ou encerrar instâncias, verificações de saúde, escalonamento automático, atualização ou correção de novas atualizações, etc.

Então, como isso funciona?

O código que você deseja que o Lambda execute é conhecido como um Função lambda . Agora, como sabemos, uma função é executada apenas quando é chamada, certo? Aqui, Fonte de Eventos é a entidade que aciona uma Função Lambda e, em seguida, a tarefa é executada.

Vamos dar um exemplo para entender mais claramente.



como escrever uma classe singleton em java

Suponha que você tenha um aplicativo para upload de imagens. Agora, quando você carrega uma imagem, há uma série de tarefas envolvidas antes de armazená-la, como redimensionar, aplicar filtros, compactar etc.

Portanto, esta tarefa de upload de uma imagem pode ser definida como um Fonte de Eventos ou o 'gatilho' que chamará a Função Lambda e, em seguida, todas essas tarefas podem ser executadas por meio da função Lambda.

Neste exemplo, um desenvolvedor só precisa definir a fonte do evento e fazer upload do código.

Vamos entender este exemplo com recursos reais da AWS agora,

Fig. Caso de uso do Lambda com S3

Aqui estaremos carregando imagens na forma de objetos para um balde S3. Este upload de uma imagem para o intervalo S3, se tornará uma fonte de evento ou o ‘gatilho’.

Todo o processo, como você pode ver no diagrama, é dividido em 5 etapas, vamos entender cada uma delas.

  1. O usuário carrega uma imagem (objeto) para um depósito de origem no S3 que possui uma notificação anexada a ele, para Lambda.
  2. A notificação é lida pelo S3 e ele decide para onde enviar essa notificação.
  3. S3 envia a notificação para Lambda, esta notificação atua como uma chamada de invocação da função lambda.
  4. A função de execução no Lambda pode ser definida usando IAM (Identity and Access Management) para dar permissão de acesso para os recursos da AWS, para este exemplo aqui seria S3.
  5. Finalmente, ele invoca a função lambda desejada que funciona no objeto que foi carregado para o balde S3.

Se você resolvesse esse cenário tradicionalmente, junto com o desenvolvimento, teria contratado pessoas para gerenciar as seguintes tarefas:

  • Dimensione, provisione e amplie o grupo de servidores
  • Gerenciando atualizações de sistema operacional
  • Aplicar patches de segurança e
  • Monitore toda essa infraestrutura para desempenho e disponibilidade.

Esta teria sido uma tarefa cara, tediosa e cansativa, portanto, a necessidade do AWS Lambda é justificada.O AWS Lambda é compatível com Node.JS, Python e Java, então você pode carregar seu arquivo em um zip, definir uma fonte de evento e pronto!

Você pode ler mais sobre S3 AWS aqui para uma compreensão mais profunda.

Agora sabemos -Como funciona o Lambda eO que Lambda faz s .

Now, vamos entender-

  • Onde usar Lambda?
  • Qual é o propósito do Lambda, queoutros serviços de computação da AWS, não?

Se você fosse arquitetar uma solução para um problema, deveria ser capaz de identificar onde usar o Lambda, certo?

Portanto, como arquiteto, você tem as seguintes opções para executar uma tarefa:

ordenar biblioteca c ++
  • AWS EC2
  • AWS Elastic Beanstalk
  • AWS OpsWorks
  • AWS Lambda

Vamos pegar o caso de uso acima como exemplo e entender porque escolhemos o Lambda para resolvê-lo.

AWS OpsWorks e AWS ElasticBeanstalk são usados ​​para implantar um aplicativo, portanto, nosso caso de uso é não para criar um aplicativo , mas para executar um código de back-end.

Então por que não EC2?

Se você fosse usar o EC2, teria que arquitetar tudo, ou seja, balanceador de carga, volumes EBS, pilhas de software, etc. Em lambda, você não precisa se preocupar com nada, apenas insira seu código e a AWS cuidará do resto!

Por exemplo , no EC2 você instalaria os pacotes de software em sua máquina virtual que suportariam seu código, mas no Lambda você não precisa se preocupar com nenhuma VM, apenas insira o código simples e o Lambda o executará para você.

Mas, se o seu código estiver em execução por horas e você espera um fluxo contínuo de solicitações, provavelmente deve optar pelo EC2, porque a arquitetura do Lambda é para um tipo esporádico de carga de trabalho, em que haverá algumas horas de silêncio e alguns picos no não. de pedidos também.

Por exemplo , registrando a atividade de e-mail para, digamos, uma pequena empresa, veria mais atividade durante o dia do que à noite, também pode haver dias em que há menos e-mails a serem processados ​​e às vezes o mundo inteiro pode começar a enviar e-mails para você! Em ambos os casos, a Lambda está ao seu serviço.

Considerando esse caso de uso para uma grande empresa de rede social, onde os e-mails nunca terminam porque tem uma grande base de usuários, Lambda pode não ser a escolha adequada.

Você pode ler mais sobre EC2 AWS aqui para uma compreensão mais profunda.

Limitações do AWS Lambda

Algumas limitações são específicas do hardware e algumas são vinculadas à arquitetura, vamos discutir todas elas.

Limitações de hardware Incluindo o tamanho do disco, que é limitado a 512 MB, a memória pode variar entre 128 MB e 1536 MB. Depois, há alguns outros, como o tempo limite de execução pode ser maximizado para apenas 5 minutos, a carga útil do corpo da solicitação não pode ser superior a 6 MB e o corpo da solicitação é 128 KB. A carga útil do corpo da solicitação é como os dados que você envia com uma solicitação “GET” ou “PUT” em HTTP, onde o corpo da solicitação seria o tipo de solicitação, os cabeçalhos etc.

Na verdade, essas não são limitações, mas os limites de design que foram definidos na arquitetura do Lambda, portanto, se seu caso de uso não se enquadrar neles, você sempre terá os outros serviços de computação da AWS à sua disposição.

Discutimos neste Tutorial do AWS Lambda que a maneira como executar tarefas no Lambda “não” é tediosa e cansativa. Agora vamos cobrir a parte das despesas também.

Preços no AWS Lambda

Como a maioria dos serviços da AWS, o AWS Lambda também é um serviço de pagamento por uso, o que significa que você paga apenas o que usa, portanto, é cobrado de acordo com os parâmetros a seguir

  • O número de solicitações de que você faz para sua função lambda
  • o duração para o qual seu código é executado.

solicitações de

  • Você é cobrado pelo número de solicitações feitas em todas as funções lambda.
  • O AWS Lambda conta uma solicitação cada vez que começa a ser executado em resposta a uma fonte de evento ou invoca uma chamada, incluindo o teste é invocado a partir do console. Vejamos os preços agora:
    • Os primeiros 1 milhão de pedidos, todos os meses, são gratuitos.
    • 0,20 $ por milhão de solicitações daí em diante.

Duração

  • A duração é calculada a partir do momento em que seu código começa a ser executado até o momento em que ele retorna ou termina, é arredondado para os 100 ms mais próximos.
  • O preço depende da quantidade de memória que você alocar para sua função, você será cobrado $ 0,00001667 para cada GB-segundo usado.

* Fonte: site oficial da AWS

Se você chegou até aqui, está tudo pronto para um hands-on em Lambda. Vamos nos divertir!

Prática: AWS Lambda DIY

Vamos criar uma função Lambda que irá registrar 'Um objeto foi adicionado', uma vez que você adiciona um objeto a um intervalo específico no S3.

Passo 1: No AWS Management Console na seção de computação, selecione AWS Lambda.

Passo 2: No AWS Lambda Console, clique em “Create a Lambda function”.

Etapa 3: Na próxima página, você deve selecionar um projeto. Por exemplo, estaremos selecionando a função em branco para nosso caso de uso.

Passo 4: Na próxima página, você (1) definirá um gatilho, já que trabalharemos no S3, (2) selecione o gatilho S3 e (3) clique em Avançar.

Passo 5: Na página de configuração, preencha os detalhes. Você pode colocar seu próprio código ou copiar o mesmo código desse caso de uso. Depois disso, preencha o handler e a função, deixe as configurações avançadas como estão, no final clique em next.

Passo 6: Na página seguinte, reveja todas as informações e clique em “Criar função”.

deep vs raso cópia java

Passo 7: Agora, como criamos a função para o bucket S3, no momento em que você adiciona um arquivo ao seu bucket S3, você deve obter um log do mesmo no CloudWatch, que é um serviço de monitoramento da AWS.

Parabéns!Você executou com sucesso a Função Lambda.

Espero que você tenha gostado do mergulho profundo no AWS Lambda Tutorial. É uma das áreas de conhecimento mais desejadas no ecossistema da AWS para cargos como arquiteto de soluções, engenheiro de nuvem e engenheiro de devOps. Aqui está uma coleção de para ajudá-lo a se preparar para sua próxima entrevista de emprego da AWS.

Se você achou este AWS Lambda Tutorial relevante, você pode conferir o curso ao vivo e conduzido por instrutor de Edureka em , co-criado por profissionais da indústria.

Tem alguma questão para nós? Mencione isso na seção de comentários e entraremos em contato com você.