SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
TDC POA 2020
Acelerando o
caminho para nuvem
com serverless e
Java
Evandro Pires da Silva
● Evangelista Serverless
● Coordenador de pesquisa na Senior Sistemas
● “Javeiro” desde 2005
● Programador desde os 12 anos
● Filho de programador
● Fundador e host do Sem Servidor podcast
● Marido da Madi e pai do Teodoro e da Olivia
Cloud computing
Cloud computing
● Realidade para muitas empresas
● Sistemas legados
● Transformação digital
● Desafio especialmente àqueles que querem ir para cloud
Serverless
Serverless
● Não precisa se preocupar com servidores
● Foco maior no código
● Pagamento apenas pela utilização
Por que escolher serverless
é uma boa ideia?
Por que escolher serverless é uma boa
ideia?
● Melhor time to market
● Redução de custos
○ Custos de cloud
○ Tempo de desenvolvimento
○ Tempo de manutenção
● Foco no negócio
● Time enxuto
Mas minha empresa
trabalha só com Java, e
agora?
Java no mundo
Java no mundo
● Muitos sistemas legados em Java
● Muitos times tem predominância de know how em Java
● Muito conteúdo sobre Java / Comunidade grande
● Muitas bibliotecas em Java
Java está
morrendo?
Relação do Java com
serverless
Relação do Java com serverless -
Execução
https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
Relação do Java com serverless - Memória
https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
Java é “pior” que outras
linguagens, e agora?
Bora usar Java mesmo
assim!
Por que usar Java?
● O cold start nem sempre será um problema
○ Arquitetura baseada em eventos
○ Processos assíncronos
○ Funções utilizadas muito frequentemente
● Práticas para reduzir o cold start
● Alternativa para “turbinar” o Java
● O custo na maioria das vezes não é um impeditivo
Lambda com mais de 5MB
https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
Lambda com menos de 5MB
https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
The Storage First Pattern
https://www.jeremydaly.com/the-storage-first-pattern/
Batida de ponto
#serverless
https://github.com/epiresdasilva/batida-ponto-serverless
The Storage First Pattern - Testes
Como reduzir o cold start?
● Utilizar bibliotecas light weight
● Não faça inicialização estática de coisas que não são usadas
todas as vezes
● Não use reflection na inicialização (e outros lugares também :P)
○ Conheça a biblioteca que usa para saber se também faz uso disso
● Não faça classpath scanner
● Faça o fine tuning do uso da memória
Turbinando o Java
● Quarkus
○ 27k invocations
○ 180 ms em média (2500 ms máx)
● Quarkus + GraalVM
○ 27k invocations
○ 180 ms em média (1200 ms máx)
https://github.com/epiresdasilva/aws-lambda-quarkus
Por que vale a pena usar Java
● Uma curva de aprendizado a menos
● Time to market
○ Desenvolvimento mais rápido
○ Aproveitamento do time atual
● Reaproveitamento de código
PS: Serve para outras linguagens que sejam a que o time domina
Modelo para decisão de linguagem de
programação
Referências
● Artigo sobre patterns:
https://www.jeremydaly.com/serverless-microservice-patterns-
for-aws/
● Sem Servidor podcast: https://semservidor.com.br
● Serverless Chats: https://www.serverlesschats.com
○ Episódio #47
● Meu GitHub: https://github.com/epiresdasilva
● Mockytonk: https://mockytonk.com
Obrigado!

Mais conteúdo relacionado

Mais procurados

Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Renato Groff
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Renato Groff
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
Como criar uma operação em lote (batch operations)
Como criar uma operação em lote (batch operations)Como criar uma operação em lote (batch operations)
Como criar uma operação em lote (batch operations)Helal Cabral
 
Intensive Delphi 2017 - E este tal de Redis hein?
Intensive Delphi 2017 - E este tal de Redis hein?Intensive Delphi 2017 - E este tal de Redis hein?
Intensive Delphi 2017 - E este tal de Redis hein?Mario Guedes
 
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Renato Groff
 
Deu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super PoderesDeu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super PoderesEdson Marques Teixeira
 
Dapper - Developers-SP - Junho/2017
Dapper - Developers-SP - Junho/2017Dapper - Developers-SP - Junho/2017
Dapper - Developers-SP - Junho/2017Renato Groff
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
 
Automatizando tarefas com PSake
Automatizando tarefas com PSakeAutomatizando tarefas com PSake
Automatizando tarefas com PSakeNicolas Takashi
 
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Bruno Rodrigo S. Souza
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaMario Guedes
 
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Renato Groff
 

Mais procurados (20)

Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
 
Serverless com python
Serverless com pythonServerless com python
Serverless com python
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
Como criar uma operação em lote (batch operations)
Como criar uma operação em lote (batch operations)Como criar uma operação em lote (batch operations)
Como criar uma operação em lote (batch operations)
 
Intensive Delphi 2017 - E este tal de Redis hein?
Intensive Delphi 2017 - E este tal de Redis hein?Intensive Delphi 2017 - E este tal de Redis hein?
Intensive Delphi 2017 - E este tal de Redis hein?
 
Php on the cloud
Php on the cloudPhp on the cloud
Php on the cloud
 
CWI Workshop 2016 - Cloud
CWI Workshop 2016 - CloudCWI Workshop 2016 - Cloud
CWI Workshop 2016 - Cloud
 
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
 
Deu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super PoderesDeu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super Poderes
 
Dapper - Developers-SP - Junho/2017
Dapper - Developers-SP - Junho/2017Dapper - Developers-SP - Junho/2017
Dapper - Developers-SP - Junho/2017
 
Performance Web com ASP.NET MVC
Performance Web com ASP.NET MVCPerformance Web com ASP.NET MVC
Performance Web com ASP.NET MVC
 
Web assembly
Web assemblyWeb assembly
Web assembly
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
 
Automatizando tarefas com PSake
Automatizando tarefas com PSakeAutomatizando tarefas com PSake
Automatizando tarefas com PSake
 
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistema
 
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
 

Semelhante a Usando Java no mundo serverless

TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...tdc-globalcode
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemAmazon Web Services LATAM
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreRodrigo Kono
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de DesenvolvimentoAlvaro Viebrantz
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 
Rubysoc final RubyConfBR
Rubysoc final RubyConfBRRubysoc final RubyConfBR
Rubysoc final RubyConfBRtchandy
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesiMasters
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
TDC2017 | POA Trilha Infraestrutura Agil - Atender uma estrutura organizacion...
TDC2017 | POA Trilha Infraestrutura Agil - Atender uma estrutura organizacion...TDC2017 | POA Trilha Infraestrutura Agil - Atender uma estrutura organizacion...
TDC2017 | POA Trilha Infraestrutura Agil - Atender uma estrutura organizacion...tdc-globalcode
 
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Renato Groff
 
Cloud Computing + Microsoft Azure: visão geral e primeiros passos - Fatec Sor...
Cloud Computing + Microsoft Azure: visão geral e primeiros passos - Fatec Sor...Cloud Computing + Microsoft Azure: visão geral e primeiros passos - Fatec Sor...
Cloud Computing + Microsoft Azure: visão geral e primeiros passos - Fatec Sor...Renato Groffe
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!Mario Guedes
 
O caminho das pedras na construção de uma aplicação cloud friendly
O caminho das pedras na construção de uma aplicação cloud friendlyO caminho das pedras na construção de uma aplicação cloud friendly
O caminho das pedras na construção de uma aplicação cloud friendlyRicardo Faria
 
Sobrevoando o Azure: uma introdução à nuvem Microsoft | WTT2021 - Mackenzie
Sobrevoando o Azure: uma introdução à nuvem Microsoft | WTT2021 - MackenzieSobrevoando o Azure: uma introdução à nuvem Microsoft | WTT2021 - Mackenzie
Sobrevoando o Azure: uma introdução à nuvem Microsoft | WTT2021 - MackenzieRenato Groffe
 

Semelhante a Usando Java no mundo serverless (20)

TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvem
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Rubysoc final RubyConfBR
Rubysoc final RubyConfBRRubysoc final RubyConfBR
Rubysoc final RubyConfBR
 
Entendendo os Porquês do seu servidor
Entendendo os Porquês do seu servidorEntendendo os Porquês do seu servidor
Entendendo os Porquês do seu servidor
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita Bernardes
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
Devops
DevopsDevops
Devops
 
TDC2017 | POA Trilha Infraestrutura Agil - Atender uma estrutura organizacion...
TDC2017 | POA Trilha Infraestrutura Agil - Atender uma estrutura organizacion...TDC2017 | POA Trilha Infraestrutura Agil - Atender uma estrutura organizacion...
TDC2017 | POA Trilha Infraestrutura Agil - Atender uma estrutura organizacion...
 
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Cloud Computing + Microsoft Azure: visão geral e primeiros passos - Fatec Sor...
Cloud Computing + Microsoft Azure: visão geral e primeiros passos - Fatec Sor...Cloud Computing + Microsoft Azure: visão geral e primeiros passos - Fatec Sor...
Cloud Computing + Microsoft Azure: visão geral e primeiros passos - Fatec Sor...
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!
 
O caminho das pedras na construção de uma aplicação cloud friendly
O caminho das pedras na construção de uma aplicação cloud friendlyO caminho das pedras na construção de uma aplicação cloud friendly
O caminho das pedras na construção de uma aplicação cloud friendly
 
DDD + BDD + TDD + Scrum
DDD + BDD + TDD + ScrumDDD + BDD + TDD + Scrum
DDD + BDD + TDD + Scrum
 
Sobrevoando o Azure: uma introdução à nuvem Microsoft | WTT2021 - Mackenzie
Sobrevoando o Azure: uma introdução à nuvem Microsoft | WTT2021 - MackenzieSobrevoando o Azure: uma introdução à nuvem Microsoft | WTT2021 - Mackenzie
Sobrevoando o Azure: uma introdução à nuvem Microsoft | WTT2021 - Mackenzie
 

Usando Java no mundo serverless

  • 1. TDC POA 2020 Acelerando o caminho para nuvem com serverless e Java
  • 2. Evandro Pires da Silva ● Evangelista Serverless ● Coordenador de pesquisa na Senior Sistemas ● “Javeiro” desde 2005 ● Programador desde os 12 anos ● Filho de programador ● Fundador e host do Sem Servidor podcast ● Marido da Madi e pai do Teodoro e da Olivia
  • 4. Cloud computing ● Realidade para muitas empresas ● Sistemas legados ● Transformação digital ● Desafio especialmente àqueles que querem ir para cloud
  • 6. Serverless ● Não precisa se preocupar com servidores ● Foco maior no código ● Pagamento apenas pela utilização
  • 7. Por que escolher serverless é uma boa ideia?
  • 8. Por que escolher serverless é uma boa ideia? ● Melhor time to market ● Redução de custos ○ Custos de cloud ○ Tempo de desenvolvimento ○ Tempo de manutenção ● Foco no negócio ● Time enxuto
  • 9. Mas minha empresa trabalha só com Java, e agora?
  • 11. Java no mundo ● Muitos sistemas legados em Java ● Muitos times tem predominância de know how em Java ● Muito conteúdo sobre Java / Comunidade grande ● Muitas bibliotecas em Java Java está morrendo?
  • 12. Relação do Java com serverless
  • 13. Relação do Java com serverless - Execução https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
  • 14. Relação do Java com serverless - Memória https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
  • 15. Java é “pior” que outras linguagens, e agora?
  • 16. Bora usar Java mesmo assim!
  • 17. Por que usar Java? ● O cold start nem sempre será um problema ○ Arquitetura baseada em eventos ○ Processos assíncronos ○ Funções utilizadas muito frequentemente ● Práticas para reduzir o cold start ● Alternativa para “turbinar” o Java ● O custo na maioria das vezes não é um impeditivo
  • 18. Lambda com mais de 5MB https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
  • 19. Lambda com menos de 5MB https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
  • 20. The Storage First Pattern https://www.jeremydaly.com/the-storage-first-pattern/
  • 22. The Storage First Pattern - Testes
  • 23. Como reduzir o cold start? ● Utilizar bibliotecas light weight ● Não faça inicialização estática de coisas que não são usadas todas as vezes ● Não use reflection na inicialização (e outros lugares também :P) ○ Conheça a biblioteca que usa para saber se também faz uso disso ● Não faça classpath scanner ● Faça o fine tuning do uso da memória
  • 24. Turbinando o Java ● Quarkus ○ 27k invocations ○ 180 ms em média (2500 ms máx) ● Quarkus + GraalVM ○ 27k invocations ○ 180 ms em média (1200 ms máx) https://github.com/epiresdasilva/aws-lambda-quarkus
  • 25. Por que vale a pena usar Java ● Uma curva de aprendizado a menos ● Time to market ○ Desenvolvimento mais rápido ○ Aproveitamento do time atual ● Reaproveitamento de código PS: Serve para outras linguagens que sejam a que o time domina
  • 26. Modelo para decisão de linguagem de programação
  • 27. Referências ● Artigo sobre patterns: https://www.jeremydaly.com/serverless-microservice-patterns- for-aws/ ● Sem Servidor podcast: https://semservidor.com.br ● Serverless Chats: https://www.serverlesschats.com ○ Episódio #47 ● Meu GitHub: https://github.com/epiresdasilva ● Mockytonk: https://mockytonk.com