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

Post on 12-Apr-2017

57 views 2 download

Transcript of 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 Souzawanderlei.souza@belezanaweb.com.br

@wandi

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

Wanderlei Souza

Beleza na Web

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

Wanderlei Souza

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

Agenda

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

Wanderlei Souza

Vantagens

MONOLITO VS

/v2

Wanderlei Souza

Horizontal Duplication

Func

tiona

l Dec

ompo

sition

Data Partitioning

The Scale Cube

Wanderlei Souza

Sistema Poliglota

Java

Node.JS

Groovy Python

Wanderlei Souza

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

Vantagens

Wanderlei Souza

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

Desvantagens

3 meses 6 meses 11 meses

Wanderlei Souza

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á?)

Wanderlei Souza

Práticas: Microsserviços e Times

Frontend

Serviços

Banco de dados

Catálogo

Busca

Estoque

Wanderlei Souza

Práticas: Microsserviços e Times

Wanderlei Souza

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

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

Wanderlei Souza

Práticas: Consumer-Driven Contracts

CatálogoBusca Catálogo

Escreva Expectativascomo testes automáticos

/v1

/v2

Wanderlei Souza

Práticas: Não use DBMS como integradores

Wanderlei Souza

Wanderlei Souza

Práticas: Orquestração e Coreografia

ESBEvento

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

Wanderlei Souza

Práticas: Padronize

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

• API Style Guide• Swagger• Postman

Wanderlei Souza

Práticas: API-Gateway

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

Wanderlei Souza

Práticas: Tolerância a Falhas

API-GATEWAY

slow service

exhaustedpool

timeouts

Wanderlei Souza

Práticas: Observabilidade básica

Request

Response

status code & timer, errors

Hardware metrics

BIST / Health check

+ Correlation ID

Wanderlei Souza

Q&A

wanderlei.souza@belezanaweb.com.br