SERVERLESSa moda do momento.
Um modo de rodar aplicações sem se preocupar com o servidor
onde está rodando.
Um modo de rodar aplicações sem se preocupar com o servidor
onde está rodando.
Ou, de outro jeito, um modo de desenvolver código usando
regras e ferramentas que permitem que a "função" seja
executada rapidamente, de forma isolada, e com recursos de
processamento limitados.
. IaaS
. Heroku (push & deploy) - PaaS
. Google App Engine (aplicação isolada e gerenciada)
. AWS Lambda (FaaS)
Requisição de
execução Função Retorno/
Saída
Função não é container.
Requisição
de execução
. Evento
. Chamada direta
. Chamada indireta/delegada
Vantagens
. Custo
. Simplicidade
. Funciona rapidamente
. Sem preocupação com infraestruura
. Custo
. Tempo de execução
. Adaptação ao fornecedor / aprendizado
. Hype/febre
Desvantagens
Bom
. Execuções simples e rápidas
. Processamento distribuído de cargas de
processamento esporádicas
. Códigos pequenos e bem definidos
. Quantidade grande de chamadas de curta
duração
Ruim
. Aplicações com requests demorados
. Aplicações com muitas integrações
. Uso intenso
. Custo controlado
. Velocidade de entrega
API Gateway Lambda API Gateway
Cloudwatch
Cron
Lambda Banco de Dados
S3 Lambda S3
API Simples
Importação de dados
Processamento de imagem
AWS Chalice
https://github.com/aws/chalice
$ pip install chalice
Framework para criação de funções e alguns
eventos de execução dessas funções,
para rodar dentro do AWS Lambda
usando Python 3.6
Framework para criação de funções e alguns eventos de
execução dessas funções,
para rodar dentro do AWS Lambda
usando Python 3.6
Não é um framework REST (API Gateway)
Não é um servidor de aplicação para rodar na AWS
Não é uma biblioteca de acesso aos recursos da AWS
(boto3)
Importante
Tudo o que o chalice entrega, pode ser feito por outros meios:
. terraform + python
. configuração manual
. AWS SAM + CloudFormation
Qual a utilidade?
Cria funções.
E pode criar origens de evento, para que as funções possam ser
disparadas por…
. Endpoints URL
. Agendamento
. Criação/alteração de arquivo no S3
. Publicação de mensagem em fila SQS
Parece mágica.
Mas não faz mágica.
Pelo menos não do jeito que parece.
Ter conhecimento em AWS é importante.
(Ou alguém que conheça e possa ajudar)
HORA
DO
LIVE CODING...
Presente de Natal
A AWS tem um nível gratuito de serviços.
E nesse nível já dá pra testar muita coisa!
https://aws.amazon.com/pt/free
RESUMO
Serve bem pra fazer coisas simples, ou coisas mais complexas com implementação trivial.
Tem custo baixo no começo, mas pode subir de uma hora pra outra, e você só descobre
quando é tarde.
Te obriga a fazer código bastante acoplado aos recursos da AWS. Mas não cobre 100% das
necessidades de configuração (IAM roles, por ex.)
É porta de entrada para o mundo serverless!
AGRADEÇO A PRESENÇA!
BOM 2019 PRA VCS.
Eu sou Erick (@ehriq)
ehriq@pm.me | https://medium.com/@ehriqm | www.tekniq.com.br

Chalice - Grupy-ABC 12/2018

  • 1.
  • 2.
    Um modo derodar aplicações sem se preocupar com o servidor onde está rodando.
  • 3.
    Um modo derodar aplicações sem se preocupar com o servidor onde está rodando. Ou, de outro jeito, um modo de desenvolver código usando regras e ferramentas que permitem que a "função" seja executada rapidamente, de forma isolada, e com recursos de processamento limitados.
  • 4.
    . IaaS . Heroku(push & deploy) - PaaS . Google App Engine (aplicação isolada e gerenciada) . AWS Lambda (FaaS)
  • 5.
    Requisição de execução FunçãoRetorno/ Saída Função não é container.
  • 6.
    Requisição de execução . Evento .Chamada direta . Chamada indireta/delegada
  • 7.
    Vantagens . Custo . Simplicidade .Funciona rapidamente . Sem preocupação com infraestruura
  • 8.
    . Custo . Tempode execução . Adaptação ao fornecedor / aprendizado . Hype/febre Desvantagens
  • 9.
    Bom . Execuções simplese rápidas . Processamento distribuído de cargas de processamento esporádicas . Códigos pequenos e bem definidos . Quantidade grande de chamadas de curta duração Ruim . Aplicações com requests demorados . Aplicações com muitas integrações . Uso intenso . Custo controlado . Velocidade de entrega
  • 10.
    API Gateway LambdaAPI Gateway Cloudwatch Cron Lambda Banco de Dados S3 Lambda S3 API Simples Importação de dados Processamento de imagem
  • 11.
  • 12.
    Framework para criaçãode funções e alguns eventos de execução dessas funções, para rodar dentro do AWS Lambda usando Python 3.6
  • 13.
    Framework para criaçãode funções e alguns eventos de execução dessas funções, para rodar dentro do AWS Lambda usando Python 3.6 Não é um framework REST (API Gateway) Não é um servidor de aplicação para rodar na AWS Não é uma biblioteca de acesso aos recursos da AWS (boto3)
  • 14.
    Importante Tudo o queo chalice entrega, pode ser feito por outros meios: . terraform + python . configuração manual . AWS SAM + CloudFormation
  • 15.
    Qual a utilidade? Criafunções. E pode criar origens de evento, para que as funções possam ser disparadas por… . Endpoints URL . Agendamento . Criação/alteração de arquivo no S3 . Publicação de mensagem em fila SQS
  • 16.
    Parece mágica. Mas nãofaz mágica. Pelo menos não do jeito que parece. Ter conhecimento em AWS é importante. (Ou alguém que conheça e possa ajudar)
  • 17.
  • 18.
    Presente de Natal AAWS tem um nível gratuito de serviços. E nesse nível já dá pra testar muita coisa! https://aws.amazon.com/pt/free
  • 19.
    RESUMO Serve bem prafazer coisas simples, ou coisas mais complexas com implementação trivial. Tem custo baixo no começo, mas pode subir de uma hora pra outra, e você só descobre quando é tarde. Te obriga a fazer código bastante acoplado aos recursos da AWS. Mas não cobre 100% das necessidades de configuração (IAM roles, por ex.) É porta de entrada para o mundo serverless!
  • 20.
    AGRADEÇO A PRESENÇA! BOM2019 PRA VCS. Eu sou Erick (@ehriq) ehriq@pm.me | https://medium.com/@ehriqm | www.tekniq.com.br