SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Serverless e Java: essa
combinação é possível
TDC São Paulo 2019
Evandro Pires da Silva
● Software Engineer
● Conta Azul
● 14+ anos de experiência
● “Javeiro” desde 2005
● Programador desde os 12 anos
● Filho de programador
● Pai do Teodoro e da Olivia (programadores será?)
Java #facts
● Linguagem de programação #1
● Maior comunidade de desenvolvedores do mundo
● Demanda crescente de vagas de emprego
● Usado em larga escala por grandes players
● 10 em cada 10 desenvolvedores serverless odeiam Java :P
A relação Java e Serverless
Cold start
De modo geral, o cold start é um termo usado para descrever o
fenômeno de que os aplicativos que não foram usados por um tempo
demoram mais para serem iniciados.
Cold start
Precificação serverless
● Camada grátis
● Uso de memória
● Tempo de execução
JVM e o Cold start
https://developers.redhat.com/blog/2018/07/30/natively-compile-java-code-for-better-startup-time/
Serverless e outras linguagens
Número por extenso
Caso de uso simples e que eu conseguiria fazer em outras linguagens de
uma forma bem parecida, para que o benchmark fosse o mais parecido
possível.
NodeJS com cold start
NodeJS sem cold start
Python com cold start
Python sem cold start
Java com cold start
Java sem cold start
Boas práticas de serverless com Java
● Stateless
● Pouco ou nenhum Classpath Scanner
● Pouco ou nenhum Atributos static
● Menos memória alocada para a JVM
● APIs lightweight
Quarkus.io
O que é o Quarkus?
God bless RedHat (e seus desenvolvedores)!
Stack
Hora da verdade
Quarkus com cold start
Quarkus sem cold start
Show me the code
Conclusões
● Saiba usar a melhor linguagem dentro do seu contexto
○ Know-how do time
○ Time to market
○ Problema que precisa ser resolvido
○ Mesmo usando Quarkus, o Java empata tecnicamente com o NodeJS e
perde para Python
Obrigado! Dúvidas?

Mais conteúdo relacionado

Semelhante a Serverless Java: essa combinação é possível

Acelerando o caminho para nuvem com serverless e java
Acelerando o caminho para nuvem com serverless e javaAcelerando o caminho para nuvem com serverless e java
Acelerando o caminho para nuvem com serverless e javaEvandro Pires da Silva
 
Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Phil Calçado
 
Scrum Gathering Rio 2014
Scrum Gathering Rio 2014Scrum Gathering Rio 2014
Scrum Gathering Rio 2014Victor Pantoja
 
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
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal EngineAdolfo Neto
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaFrederico Maia Arantes
 
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxMVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxDouglas Aguiar
 
Desmistificando o mobile híbrido com phonegap
Desmistificando o mobile híbrido com phonegapDesmistificando o mobile híbrido com phonegap
Desmistificando o mobile híbrido com phonegapLeonardo Marinho
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimentamichel adriano medeiros
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoLeonardo Galani
 
Leonardo Galani - Tester, pegue suas coisas porque vc está demitido
Leonardo Galani - Tester, pegue suas coisas porque vc está demitidoLeonardo Galani - Tester, pegue suas coisas porque vc está demitido
Leonardo Galani - Tester, pegue suas coisas porque vc está demitidominastestingconference
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorLeandro Ferreira
 
Programação estruturada com Java-Aula01
Programação estruturada com Java-Aula01Programação estruturada com Java-Aula01
Programação estruturada com Java-Aula01Elvis Araújo
 
PrograConceitos básicos
PrograConceitos básicosPrograConceitos básicos
PrograConceitos básicosElvis Araújo
 

Semelhante a Serverless Java: essa combinação é possível (20)

PHP versus Java
PHP versus JavaPHP versus Java
PHP versus Java
 
Acelerando o caminho para nuvem com serverless e java
Acelerando o caminho para nuvem com serverless e javaAcelerando o caminho para nuvem com serverless e java
Acelerando o caminho para nuvem com serverless e java
 
Clocking IT
Clocking ITClocking IT
Clocking IT
 
Por que Java?
Por que Java?Por que Java?
Por que Java?
 
DojoTuba 01
DojoTuba 01DojoTuba 01
DojoTuba 01
 
Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005
 
Trabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQLTrabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQL
 
Scrum Gathering Rio 2014
Scrum Gathering Rio 2014Scrum Gathering Rio 2014
Scrum Gathering Rio 2014
 
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 -...
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - Goiânia
 
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxMVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
 
Desmistificando o mobile híbrido com phonegap
Desmistificando o mobile híbrido com phonegapDesmistificando o mobile híbrido com phonegap
Desmistificando o mobile híbrido com phonegap
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitido
 
Leonardo Galani - Tester, pegue suas coisas porque vc está demitido
Leonardo Galani - Tester, pegue suas coisas porque vc está demitidoLeonardo Galani - Tester, pegue suas coisas porque vc está demitido
Leonardo Galani - Tester, pegue suas coisas porque vc está demitido
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhor
 
DojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SCDojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SC
 
Programação estruturada com Java-Aula01
Programação estruturada com Java-Aula01Programação estruturada com Java-Aula01
Programação estruturada com Java-Aula01
 
PrograConceitos básicos
PrograConceitos básicosPrograConceitos básicos
PrograConceitos básicos
 

Serverless Java: essa combinação é possível