1 of 26

Escalabilidade de uma aplicação

Principais desafios, como escalar e importância

2 of 26

Olá!

Eu sou o Daniel

  • Engenheiro de Software na Flash
  • Professor na Awari e CoderHouse
  • Instrutor na Alura
  • Mentor na comunidade

2

3 of 26

TODA APLICAÇÃO FALHARÁ…

3

4 of 26

AGENDA

  • Escalabilidade e Resiliência
  • O papel do Health Check
  • HPA e métricas
  • KEDA e eventos
  • Principais desafios
  • Estressando a sua aplicação
  • Perguntas

4

5 of 26

1.

O que é escala?

E a resiliência? Qual a importância?

5

6 of 26

ENTENDENDO SOBRE ESCALABILIDADE

  • Dimensionamento automático da carga de trabalho
  • Maior tolerância a falhas
  • Maior disponibilidade da aplicação
  • Otimização de custos

6

7 of 26

7

8 of 26

E A RESILIÊNCIA?

  • Capacidade de se recuperar de falhas
  • Redundância de pods
  • Afinidade com vários nós

8

9 of 26

9

10 of 26

2.

Health Check

10

11 of 26

Startup Probes, Liveness e Readiness

11

12 of 26

Boa prática

É importante que o /healthz da sua aplicação verifique sempre a sanidade de suas dependências.

12

13 of 26

3.

HPA e KEDA

Métricas e Eventos

13

14 of 26

HPA

14

15 of 26

KEDA

  • Utiliza o HPA
  • Escala baseada em eventos
  • Compatibilidade com diversos vendors

15

16 of 26

KEDA

16

17 of 26

4.

Desafios

17

18 of 26

PRINCIPAIS DESAFIOS

  • Quanto de recurso minha aplicação precisa?
  • Efemeridade da aplicação
  • Observabilidade em primeiro lugar - Metrics; Traces; Logs
  • Minha aplicação consegue escalar a tempo?

18

19 of 26

Estresse

…não a si mesmo

Mas sim a sua aplicação

19

20 of 26

BORA PRATICAR

20

21 of 26

21

22 of 26

22

23 of 26

23

24 of 26

24

25 of 26

Muito obrigado!

Alguma dúvida?

25

26 of 26

REFERÊNCIAS

26