20
Criando Aplicações

Serverless Framework - Creating serverless applications

Embed Size (px)

Citation preview

Page 1: Serverless Framework - Creating serverless applications

Criando Aplicações

Page 2: Serverless Framework - Creating serverless applications

Wallison Marra- Em 2006 iniciei meu caminho pelo mundo da web.- DevOps Engineer.- Entusiasta da tecnologia.- Evangelista Amazon Web Services.- Games, família e uma boa cerveja.

Page 3: Serverless Framework - Creating serverless applications

Serverless?Serverless é conjunto de recursos que possibilita rodar 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).

Page 4: Serverless Framework - Creating serverless applications

Aplicação ServerlessSe 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

Page 5: Serverless Framework - Creating serverless applications

Aplicação Serverless - API

Runtime Database

Api Gateway

Cache

Page 6: Serverless Framework - Creating serverless applications

ProvedoresAWS é o provedor mais utilizado para este tipo de arquitetura, com o serviço chamado Lambda.

E outros mais...

Page 7: Serverless Framework - Creating serverless applications

Serverless - AWS LambdaServiç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.

Page 8: Serverless Framework - Creating serverless applications

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.

Page 9: Serverless Framework - Creating serverless applications

AWS Lambda - Recursos- Runtimes suportados:

- Python- NodeJS- Java- C#- Outras estão a caminho…

- Variáveis de ambiente.- Logs.

Page 10: Serverless Framework - Creating serverless applications

AWS Lambda

Pros

- Custos.- Ambiente resiliente.- Arquitetura escalável.- Paralelismo.

Page 11: Serverless Framework - Creating serverless applications

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

Page 12: Serverless Framework - Creating serverless applications

Blz, mas como criar uma aplicação

de forma simples e rápida?

Page 13: Serverless Framework - Creating serverless applications
Page 14: Serverless Framework - Creating serverless applications

- Criado em 2015.- OpenSource.- Versão estável lançada no final de 2016.- 14k starts Github.- Receberam um investimento de 3 milhões de dólares no final de 2016.- Comunidade em crescimento constante.

Serveless Framework - serverless.com

Page 15: Serverless Framework - Creating serverless applications

- 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

Page 16: Serverless Framework - Creating serverless applications

Serveless Framework - serverless.comAWS 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

Page 17: Serverless Framework - Creating serverless applications

HANDS-ON!

Page 18: Serverless Framework - Creating serverless applications

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