Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

26
Plataforma própria e o uso de microsserviços no e- commerce Wanderlei Souza [email protected] @wandi

Transcript of Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Page 1: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Plataforma própria e o uso de microsserviços no e-commerce

Wanderlei [email protected]

@wandi

Page 2: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

hífen deixará de ser empregado…

Quando o prefixo da palavra terminar em vogal e o segundo elemento começar com as consoantes s ou r. Nesse caso, a consoante será duplicada.

Microsserviços

Page 3: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Beleza na Web

• 1M clientes• 2.5K pedidos por dia• 2.3M facebook likes• 200 funcionários (30 TI)

Page 4: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

• O que são microsserviços?• Quais são as vantagens?• E as desvantagens…• Melhores práticas

Agenda

Page 5: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

“Pequenos serviços autônomos que trabalham bem em conjunto”

• Processos independentes • Comunicação por meio de APIs• Pequenos e especializados

Microsserviços

Sam Newman, ThoughtWorks

Page 6: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Vantagens

MONOLITO VS

/v2

Page 7: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Horizontal Duplication

Func

tiona

l Dec

ompo

sition

Data Partitioning

The Scale Cube

Page 8: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Sistema Poliglota

Java

Node.JS

Groovy Python

Page 9: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

• Alinhar arquitetura com a empresa• Entregar funcionalidade rapidamente• Escalar de forma independente• Permissionamento restrito• Testar novas tecnologias facilmente

Vantagens

Page 10: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

• Qual caminho devo tomar: Muitas opções =)• Longo é o caminho

Desvantagens

3 meses 6 meses 11 meses

Page 11: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Page 12: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

• Testes em sistemas distribuídos• Encontrar o problema pode ser difícil• Monitoração de centenas de máquinas• Resiliência e performance não vem de graça• Cachear é fácil, agora tirar do cache… • Consistência de dados

Desvantagens (será?)

Page 13: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: Microsserviços e Times

Frontend

Serviços

Banco de dados

Catálogo

Busca

Estoque

Page 14: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: Microsserviços e Times

Page 15: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: Automação não é opcional

• Continuous Delivery (+Automated Testing)• Provisionamento por APIs• Imagens replicáveis (eg: AMIs)• Infrastructure as Code

Page 16: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: Consumer-Driven Contracts

CatálogoBusca Catálogo

Escreva Expectativascomo testes automáticos

/v1

/v2

Page 17: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: Não use DBMS como integradores

Page 18: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Page 19: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: Orquestração e Coreografia

ESBEvento

Page 20: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: (Des)centralizar?

• Repositório de código• Servidor de Configuração• Arquivos de Log• Monitoração• Um microsserviço por Servidor/SO/Máquina

Page 21: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: Padronize

• Padrões de automação• Comportamento das APIs

• API Style Guide• Swagger• Postman

Page 22: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: API-Gateway

Page 23: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: API-Gateway

• API Portal• Gerenciamento de chaves e permissões• Controle de cache• Contagem de acessos (falhas, sucessos etc)• API-Gateway -> Microservices

• Service Discovery

Page 24: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: Tolerância a Falhas

API-GATEWAY

slow service

exhaustedpool

timeouts

Page 25: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Práticas: Observabilidade básica

Request

Response

status code & timer, errors

Hardware metrics

BIST / Health check

+ Correlation ID

Page 26: Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce

Wanderlei Souza

Q&A

[email protected]