Escalabilidade de Ops para microservices (Pedro Azevedo)

26
Ajudamos empresas a criar produtos digitais de sucesso

Transcript of Escalabilidade de Ops para microservices (Pedro Azevedo)

Page 1: Escalabilidade de Ops para microservices (Pedro Azevedo)

Ajudamos empresas a criar produtos digitais de sucesso

Page 2: Escalabilidade de Ops para microservices (Pedro Azevedo)

EscalabilidadeVisão deturpada...

Page 3: Escalabilidade de Ops para microservices (Pedro Azevedo)

na visão de um Ops.

Page 4: Escalabilidade de Ops para microservices (Pedro Azevedo)

Pedro Azevedo

–Trabalha na Concrete Solutions.–Formado em Redes de Computadores.–Atua há 8 anos como SysAdmin e Infra.

Quem me conhece:–Não gosto de pancadaria nas talks.–Não usa regularmente essas roupas.–Gosta de cubos mágicos e café.

Page 5: Escalabilidade de Ops para microservices (Pedro Azevedo)

Agenda

1.Escalabilidade2.Hot Topics3.Aplicações 4.Containers5.Balanceamento de Carga6.Soluções

Hands-on

Page 6: Escalabilidade de Ops para microservices (Pedro Azevedo)

Todos lembram de Ops no deploy!

Page 7: Escalabilidade de Ops para microservices (Pedro Azevedo)

Escalabilidade

“Capacidade se adequar a uma crescente demanda de trabalho, ou de ser elástico suficiente para acomodar essa demanda.”

Lembram da lei de Amdhal?

Page 8: Escalabilidade de Ops para microservices (Pedro Azevedo)

Escalabilidade

–Horizontal•Aumento no número de nós dentro da arquitetura.

–Vertical•Aumento da capacidade de um nó ou mais nós específicos .

Page 9: Escalabilidade de Ops para microservices (Pedro Azevedo)
Page 10: Escalabilidade de Ops para microservices (Pedro Azevedo)

Hot Topics

–Microservices•Quebra das funcionalidades em componentes específicos.

–NodeJS•Fácil manipulação, trabalho assícrono...

–Containers•Certo “isolamento”, melhor separação dos recursos disponíveis.

Page 11: Escalabilidade de Ops para microservices (Pedro Azevedo)

Quem usa?

Page 12: Escalabilidade de Ops para microservices (Pedro Azevedo)

Qual melhor forma de escalar?

No que isso implica?

Page 13: Escalabilidade de Ops para microservices (Pedro Azevedo)

Escalabilidade proxy-based

–Nginx–HAProxy–Apache–ELB (Amazon AWS) Load Balancer

Server Server

Isso é horizontal!

Page 14: Escalabilidade de Ops para microservices (Pedro Azevedo)

Escalabilidade application level

–PM2–Forever–StrongLoop

Server

Isso é vertical né?!

Server

Page 15: Escalabilidade de Ops para microservices (Pedro Azevedo)

Escalabilidade em micro-service

Load Balancer

Server1 (/route1/) Server2 (/route2/)

E isso??

Load Balancer

Server1 (/route1/) Server2 (/route2/)

Load Balancer

Page 16: Escalabilidade de Ops para microservices (Pedro Azevedo)

O que você acha que é escalabilidade?

Page 17: Escalabilidade de Ops para microservices (Pedro Azevedo)

Se eu sou Ops - Eu tenho que deployar!

- Inúmeras ferramentas para deploy.- Depende da arquitetura escolhida.- Depende do fluxo de desenvolvimento implementado. - Depende dos rumos do projeto.

Page 18: Escalabilidade de Ops para microservices (Pedro Azevedo)

Vamos para o hands-on!

https://github.com/cs-pedro-azevedo/node-project-talk

Page 19: Escalabilidade de Ops para microservices (Pedro Azevedo)

App em NodeJS

–Eu sou borracheiro de software.–Então notem a qualidade do código.

Page 20: Escalabilidade de Ops para microservices (Pedro Azevedo)

App em NodeJS

Page 21: Escalabilidade de Ops para microservices (Pedro Azevedo)

Container

–Separação dos componentes de forma mais visível.–Um certo “isolamento”.–Tratamento distinto por entidade.–Controle de recurso em menores porções,.

Page 22: Escalabilidade de Ops para microservices (Pedro Azevedo)

Load Balancer

–Distribuição dos requests para cada nó (proxy).–Diferentes técnicas de escalonamento.

Page 23: Escalabilidade de Ops para microservices (Pedro Azevedo)

O que eu acho que é escalabilidade?

Page 24: Escalabilidade de Ops para microservices (Pedro Azevedo)
Page 25: Escalabilidade de Ops para microservices (Pedro Azevedo)

Possíveis Soluções

–Time de Ops mais próximo do planejamento.–Teste - Análise de Performance.–Técnicas aplicadas ao seu contexto, não é geral.

– Adicionar layers dentro de uma arquitetura talvez não melhore sua vida.

Page 26: Escalabilidade de Ops para microservices (Pedro Azevedo)

www.concretesolutions.com.brblog.concretesolutions.com.br

Rio de Janeiro – Rua São José, 90 – cj. 2121Centro – (21) 2240-2030

São Paulo - Rua Sansão Alves dos Santos, 433 4º andar - Brooklin - (11) 4119-0449