O documento discute frameworks para desenvolvimento serverless com Python, introduz o palestrante Chico e conceitos como FaaS, PaaS e BaaS. Apresenta vantagens como escalabilidade e ausência de preocupações com infraestrutura, e desvantagens como limitação de linguagens e lock-in com provedores. Exemplifica os frameworks Zappa, Chalice, Serverless e Rubãoless para desenvolvimento serverless com Python.
2. O que irei falar
● Quem palestra;
● Falando de serverless;
● Vantagens;
● Desvantagens;
● Frameworks;
● Exemplo com Zappa.
3. Quem palestra
● Nome: Chico;
● Especialista em arquitetura de
sistemas no Grupo ZAP
VivaReal;
● Arquiteto de Nuvem;
● Pythonista;
● Contatos:
https://about.me/shikow.
6. BaaS
● Backend as a service;
● Toda a solução em um lugar só: autenticação,
persistência, notificação, analytics;
● Não há necessidade de grandes configurações dos
módulos, facilitando um desenvolvimento rápido.
7. PaaS
● Platform as a service;
● Não há necessidade de gerenciar a infraestrutura;
● Não há necessidade de conhecer ou administrar
sistema operacional;
8. FaaS
● Function as a service;
● Execução de código sem preocupação com
plataforma;
● Pague pelo que você usar - literalmente!
10. ● Executar o código sem se preocupar
com provisionamento de recursos;
● Sem se preocupar se tem memória
disponível;
● Sem se preocupar se tem espaço em
disco.
11. ● Permite escalabilidade baseado no
consumo;
● Não existem janelas de manutenção,
nem inatividade programada;
12. ● Orientado a eventos :)
● Facilidade de integração com API
gateway;
● Facilidade de integração com modelos
de notificação.
13. ● Sem gerenciar arquivos;
● Sem gerenciar processos;
● Sem gerenciar consumo de rede.
16. Desvantagens
● A linguagem que você usa pode não ter suporte;
● Lock in com provedor de nuvem;
● Poucas ferramentas de monitoria;
● Integração contínua ainda é um desafio.
● E aquele warm up?
21. Zappa
● Permite portar seu código em Flask, Django,
Pyramid ou Bottle para AWS Lambda + API
Gateway;
● Warm up fácil de ser configurado.
● Instalação:
● pip install zappa
● https://github.com/Miserlou/Zappa
22. Chalice
● Sintaxe parecida com Flask;
● Gera API Gateway automaticamente;
● Instalação:
● pip install chalice
● https://github.com/aws/chalice
23. Serverless
● Permite criar funções na Azure, AWS e GCP;
● Permite definir o evento acionador;
● Suporta Python, NodeJS e .Net core;
● Instalação:
● npm install serverless
● https://github.com/serverless/serverless
24. Rubãoless
● Permite você gerenciar sua função lambda pelo
VSTS.
● Código deve estar no padrão Lambda;
● Suporta Python, NodeJS e .Net core;
● Instalação:
● https://github.com/zapimoveis/vsts-task-lambda-
deploy
● https://marketplace.visualstudio.com/items?itemNa
me=zapimoveis.lambda-deploy-aws-plugin
Tudo serverless, não vou ser acordado de madrugada, nem ficar pedindo instância.
mas a vida, ela não é o nosso toddy gelado.
Lembrar que o warm up pode ser um problema
Citar o custo de manter um autoscalling mínimo, mais custo de warm up para um momento de alta audiência.
Monitoramento com um Zabbix? Tamanho ideal da instância?
De madrugada sem audiência, você ainda tem que pagar pelas instâncias rodando.
Zero administração, configuração básica dos serviços e depois só correr para o abraço. E só pague pela chamada, ou seja o caso da madrugada estaria resolvido.