Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Acelerando o caminho para nuvem com serverless e java

Acelerando o caminho para nuvem com serverless e java

Palestra realizada no TDC POA 2020 sobre como usar Serverless com Java para acelerar o caminho para nuvem (cloud computing).

Evandro Pires da Silva

December 02, 2020
Tweet

More Decks by Evandro Pires da Silva

Other Decks in Technology

Transcript

  1. 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
  2. Cloud computing • Realidade para muitas empresas • Sistemas legados

    • Transformação digital • Desafio especialmente àqueles que querem ir para cloud
  3. Serverless • Não precisa se preocupar com servidores • Foco

    maior no código • Pagamento apenas pela utilização
  4. 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
  5. 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?
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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