Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Serverless Applications

Building Serverless Applications

(Update Jun/2019)

- Understanding serverless applications.
- Understanding AWS Lambda.
- Understanding serverless framework.
- Applying AWS CLI to create AWS Lambda.
- Using serverless framework to deploy AWS Lambda API + AWS API Gateway.
- Automating deploy with Circle CI.

Wallison Marra

June 25, 2019
Tweet

More Decks by Wallison Marra

Other Decks in Programming

Transcript

  1. Wallison Marra - Em 2006 iniciei meu caminho pelo mundo

    da web. - SRE Engineer na Nuvemshop. - Entusiasta da tecnologia. - Evangelista Amazon Web Services. - Amigos, família e brejas.
  2. Serverless? Serverless é conjunto de recursos que possibilita executar aplicações

    sem os processos comuns de servidores. Dependem de serviços de terceiros, lógica do lado do cliente e chamadas de procedimentos remotos para execução (FaaS - Function As A Service).
  3. Aplicação Serverless Se designa a execução de trechos códigos sem

    a necessidade de provisionamento de servidores e são baseados em serviços, sendo executados a partir de eventos como Push Notification, API Gateway, Cron, etc.. Runtime Database Push notification
  4. Provedores AWS é o provedor mais utilizado para este tipo

    de arquitetura, com o serviço chamado Lambda. E outros mais...
  5. Serverless - AWS Lambda Serviço de computação em nuvem sem

    servidores, administra serviços adjacentes automaticamente garantindo plena execução de sua aplicação devido a sua infraestrutura de alta disponibilidade.
  6. AWS Lambda - Exemplos de Aplicações - Gerar thumbs de

    imagens assim que elas são enviadas para um bucket s3. - Processos agendados (CRON). - Executar códigos baseado em Push Notification (mobile). - Comunicação com dispositivos (IoT). - Execução de processos baseados em filas.
  7. AWS Lambda - Recursos - Runtimes suportados: - Python -

    NodeJS - Java - C# - Outras estão a caminho… - Variáveis de ambiente. - Logs.
  8. AWS Lambda Contras - Recursos limitados (memória, tempo de execução,

    etc...) - Administração complexa (painéis de administração ou CLI). - CLI ajuda, mas não é tão prático quanto um framework. $ aws lambda create-function \ --region us-west-2 \ --function-name helloworld \ --zip-file fileb://file-path/helloworld.zip \ --role role-arn \ --handler helloworld.handler \ --runtime nodejs4.3 \ --profile adminuser
  9. - Criado em 2015. - OpenSource. - 30k+ starts Github.

    - Receberam até o momento $13M de investimentos. - Comunidade em crescimento constante. Serveless Framework - serverless.com
  10. - Surgiu com a dificuldade de realizar deploy de muitas

    aplicações em AWS Lambda. - Automatiza processos adjacentes deixando sua aplicação online com comandos simples e amigáveis. - Gerência configurações adicionais, como quantidade de memória, eventos e recursos através de um arquivo .yml. - Projeto apoiado pela Amazon. - Suporta recursos como API Gateway, SNS, Cloud Wacth Events, DynamoDB, kinesis Stream, IoT... Serveless Framework - serverless.com
  11. Serveless Framework - serverless.com AWS Lambda CLI - Deploy $

    aws lambda create-function \ --region us-west-2 \ --function-name helloworld \ --zip-file fileb://file-path/helloworld.zip \ --role role-arn \ --handler helloworld.handler \ --runtime nodejs4.3 \ --profile adminuser Serverless Framework - Deploy $ serverless deploy
  12. Informações adicionais - AWS Lambda possui até 1 milhão de

    requisições grátis mensalmente (aproveite e teste suas aplicações). - Serverless Framework possui plugins que podem auxiliar muito: - Alexa Plugin. - Test-driven (jest e mocha). - Offline application (run lambda and api gateway locally). - Webpack support. - Outros mais… - Acces: https://github.com/serverless/plugins
  13. Conteúdos - JustServeless: Phillip Muens - Blog AWS Lambda -

    Exemplos oficiais: Serverless Framework - Exemplos desta apresentação - Github: Wallison Marra