devcommerce conference 2016 - workshop: velocidade e confiabilidade em e-commerce com apis

105
Topic Title Velocidade e confiabilidade em e-commerce com APIs +

Upload: imasters

Post on 23-Jan-2018

192 views

Category:

Education


1 download

TRANSCRIPT

Page 1: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Topic Title

Velocidade e confiabilidade em e-commerce com APIs

+

Page 2: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Topic Title

Fábio Rosato

Head of Consulting @[email protected]@frosato

CarlosSouza

Consultor @[email protected]@12cesarCarlos

Page 3: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Topic Title

Fábio Rosato

CarlosSouza

Page 4: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Quick Facts

● Plataforma de API Management● Plataforma de Governança SOA● Design e estratégia de APIs

História

Fundada em 2007Gartner SOA MQ 2009API Suite 2012Forrester Report 2016

Bases

CampinasSão PauloRio de JaneiroUSA

Origens

APIs in BrazilWebinars, Articles, Videos,

Podcasts, Talks and Workshops

Thought LeadershipAPI Experience

2015 - 250 pessoas2016 - 550 pessoas

Page 5: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Todo negócio é digital

API habilita Digital

Sensedia suporta sua

estratégia de APIs

Ativando a transformação digital

Page 6: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

WEBINARS:

5 Passos para uma API de Sucessohttp://bit.ly/Sensedia_APIdeSucesso

Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest

Webinar Os Fundamentos da Segurança de APIshttp://bit.ly/Sensedia_SegurancaDeApis

Webinar Guia Prático de Gerenciamento APIshttp://bit.ly/Sensedia_GerenciamentoDeApis

Webinar: SOA no mundo das APIshttp://bit.ly/Sensedia_SOA

Webinar: Ecossistemas Digitaishttp://bit.ly/Sensedia_EcossistemasDigitais

Webinar: Microserviceshttp://bit.ly/Sensedia_microservices

Webinar: Repensando o ESBhttp://bit.ly/25Gw78L

APRESENTAÇÕES:http://www.slideshare.net/sensedia

/Sensedia /Sensedia /in/Sensedia

Conteúdo Adicional

Page 7: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Topic Title

Agenda

1. API-first 2. Design & Build 3. Run & Engage

Page 8: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Topic Title

Agenda

1. API-first 2. Design & Build 3. Run & Engage

Page 9: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Mobile-first

Page 10: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

O que virá depois?

OmniCHANNEL

Page 11: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Onde houver uma tela, lá ele estará!

Page 12: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

“Plataformização”

Page 13: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

“Plataformização”

Page 14: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

A ideia das APIs é Descomplicar, provendo um

mecanismo simples, seguro, escalável para

um desenvolvedor construir suas soluções

desacopladas no menor tempo possível.

Page 15: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Forte crescimento de calls de APIs - Exemplo

↑59%

↑158%

↑3.354%

Fonte: Sensedia

Page 16: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Tipos de APIs

Restricted

Restritas a parceiros autorizados

Open

Abertas para qualquer desenvolvedor

Private

Uso limitado a equipes internas da empresa

Page 17: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Front-End

Backend

HTTP/RESTAPI

Single Page App (SPA)

App-ClientPrivate

Page 18: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Mobile, Wearable

Backend

HTTP/RESTAPI

Mobile, Wearable Apps

App-BackendPrivate

Page 19: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

App Backend

App Backend

HTTP/RESTAPI

Integration Architecture

App-AppPrivate

Page 20: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Microservice #1

HTTP/RESTAPI

Microservice #2

HTTP/RESTAPI

Microservice #n

HTTP/RESTAPI

Application - Backend

Webinar Microserviceshttp://bit.ly/Sensedia_microservices

MicroservicesPrivate

Page 21: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

MarketplacesRestricted

APIs do Marketplace

Publicação de Produtos

Atualização de Preço/Estoque

Captura de Pedidos

Atualização de Tracking

Page 22: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Open InnovationOpen

Page 23: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Open InnovationOpen

Fonte: http://hackathon.ima.sp.gov.br/

Page 24: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Open InnovationOpen

Fonte: http://hackathon.ima.sp.gov.br/

http://goo.gl/PdKRPfFonte:GPlay: https://goo.gl/vPWMK7

Page 25: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Anti-pattern #1: Bottom-Up

“Sistemão”

Objetos e Funções

REST / JSON Virtudes:■ Rápido de ser criado■ Fácil de ser entendido pelos

desenvolvedores internos■ Ferramentas podem agilizar o processo

Vícios:■ Carrega detalhes desnecessários■ Confuso para desenvolvedores de Apps■ Inflexível■ Design ruim com vícios do “sistemão”

Bottom

Up

Page 26: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Anti-pattern #2: Comitê de Padronização

“Sistemão”

Objetos

REST / JSON UnificadosVirtudes:■ Senso de unificação■ Compreensível pelos

desenvolvedores internos

Vícios:■ Normalmente lento■ Problemas de aderência

ou múltiplos significados■ Ainda confuso para os

desenvolvedores de Apps

“Tabelonas”

Schemas

Page 27: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Anti-pattern #3: Copycat do Concorrente

“Sistemão #1”

Objetos

REST / JSON == Concorrente

“Sistemão #2”

Objetos

Virtudes:■ Rápido de ser criado■ Familiaridade dos

desenvolvedores de Apps

Vícios:■ Sem diferenciação■ Integração interna na marretada

Page 28: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

API-first, a história da API ideal

Page 29: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

API-first, a história da API ideal

> Simplicidade> Reusabilidade> Extensibilidade> Consistência> Manutenabilidade

Page 30: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Plataforma Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

RESTful

Arquiteturas Complexas

Page 31: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Bac

ken

dA

PI F

ron

t

API Facade

Mediate

RESTAPI

RESTAPI

RESTAPI

RESTAPI

Plataforma Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest

App

Microservice #1 Microservice #n

RESTful ESB

Design Ideal

API-First

Page 32: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Topic Title

Agenda

1. API-first 2. Design & Build 3. Run & Engage

Page 33: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

REST/JSON

Versionamento

Caching

Resources

Erros

Operações

Callbacks

Segurança

Hypermedia

RESTful API Design

Page 34: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

RESTful API Design - Flexibilidade & Otimização

Filtros e paginação Callbacks

Page 35: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

RESTful API Design - Flexibilidade & Otimização

Filtros

GET /vendas/v2/pedidos?status=concluido

GET /pedidos/123AF15J?_fields=numero,data,valor

Busca com escopo (subconjuntos):

Respostas parciais:

GET /search?q=macbook+air

Busca Global:

Page 36: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

RESTful API Design - Flexibilidade & Otimização

Paginação

GET /pedidos?_offset=50&_limit=25

Recomendação:

Outras opções:Linkedin:

Instagram:

?start=50&count=25

?min_id=3091&max_id=3245&count=25

Page 37: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Já chegamos?Já chegamos?

Já chegamos?Já chegamos?

Já chegamos?

Stop Pooling Me

Page 38: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

RESTful API Design - Flexibilidade & Otimização

Callbacks

Marketplace API❖ Consulta estoque❖ Cálculo de frete❖ Novo pedido recebido

https://api.mywebstore.com/v1/estoque

https://api.mywebstore.com/v1/frete

https://api.mywebstore.com/v1/pedido

Chamadas Reversas:

Page 39: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Common Description Language?

Page 40: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Common Description Language?

Page 41: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Anatomia Swagger

Informações geraisVersão (da documentação)Path

Onde os recursos são definidos

Onde as entidades são definidas

Page 42: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Anatomia Swagger

Operações (GET, POST…)TagsParâmetrosRespostas

Page 43: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Tools: Swagger Editor

Page 44: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Client Accelerators

INTEGRATION INTEGRATION

Page 45: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

SDK / Code Snippets

Virtudes:■ Acelera o consumo das APIs■ Menos erros de implementação

Vícios:■ Você precisa versionar e

dar manutenção■ Erros serão compartilhados

Page 46: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Swagger CodeGen

■ SDK gerada pelo Swagger Codegen

■ Geração de código simples e consistente

■ Menos erros na implementação da SDK

■ Ferramenta Open Source e pode ser customizada

Page 47: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Server Accelerators

INTEGRATION INTEGRATION

Page 48: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Bac

ken

dA

PI F

ron

t

API Facade

Mediate

RESTAPI

RESTAPI

RESTAPI

RESTAPI

Plataforma Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest

App

Microservice #1 Microservice #n

RESTful ESB

API Front

API-First

Page 49: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

❖ Proteção contra ataques❖ Alertas❖ Autenticação e Autorização ❖ Transformação de Protocolos❖ Composição de chamadas❖ Conexões com legados❖ Gerenciamento de versões

DoSCross-Site Scripting (XSS)SQL InjectionsXML TreatJSON TreatAmeaças de Identidade

Também:

❖ Controle de Quotas❖ Spike Arest❖ Anomalias de Tráfego❖ Desempenho da API❖ Caching❖ Rastreabilidade❖ Calls Tracer❖ Desempenho do Backend❖ Smart Design (API-First)❖ Enriquecimento de Mensagens

API Ideal + Mediação, Transformação e Conexão

Responsabilidades do API Front

Page 50: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

API-FrontHTTP/REST

Backend

* Garantir todas as responsabilidades do API-Front pode ser custoso

API Front - Cenário 1

Page 51: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

API-FrontHTTP/REST

Backend

ESB

* Observe os GAPs que o ESB tem sozinho para essa responsabilidade

API Front - Cenário 2

Page 52: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

API-FrontHTTP/REST

Backend

API Gateway

API Front - Cenário 3

Page 53: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

API-FrontHTTP/REST

Backend

API Gateway● Considere utilizar um API Developers

Portal mesmo para os desenvolvedores internos

● Facilitar self-service para onboarding e consumo das APIs

● Simplifica a governançaPortal APIs IMAhttp://hackathon.ima.sp.gov.br/

API Front - Cenário 3

Page 54: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Bac

ken

dA

PI F

ron

t

API Facade

Mediate

RESTAPI

RESTAPI

RESTAPI

RESTAPI

ArquiteturaFutura

Mainframe Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest

App

Microservice #1 Microservice #n

RESTful ESB

Page 55: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Bac

ken

dA

PI F

ron

t

API Facade

Mediate

RESTAPI

RESTAPI

RESTAPI

RESTAPI

Mainframe Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest

App

Microservice #1 Microservice #n

RESTful

API Gateway

ESB

ArquiteturaFutura

Page 56: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

“Mockando” e correndo em paralelo

Mock somente em sandbox, nunca em produção!

* API Management Suite é uma ferramenta da Sensedia

Page 57: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Swagger CodeGen (server)

■ Esqueleto do backend gerado pelo swagger codegen

■ Geração de código incompleto mas bastante útil.

■ Acelera a criação de API Façade para comunicação com um Backend

Page 58: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

■ Postman

■ SOAP UI

■ Plugins REST para o seu browser

Ferramentas para teste da sua API

Page 59: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Seja usuário da sua própria API

Eat your ownDog Food

Page 60: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Estratégias de Arquiteturas de Aplicações

Escolhendo o estilo arquitetural para expor APIs

Page 61: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Microservices está no Hype

Page 62: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Hype

Page 63: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

CloudDomain-driven design

Service-oriented

architecture

Continuous delivery

Elementos chaves para a ascensão dos microservices…

Page 64: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

WEBUI

EMAILAdapter

URAAdapter

PagamentosAdapter

Clientes

Pacotes

Reservas

Avaliações

Recomendações

PagamentosNotificações

DBAdapter

RESTAPI

Monolítica

Arquitetura

http://alistair.cockburn.us/Hexagonal+architecture

Plataforma de Viagem

Page 65: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Clientes

Pacotes

Reservas

Avaliações

Recomendações

Pagamentos

Notificações

Microservices

Arquitetura

PagamentosAdapter

URAAdapter

EMAILAdapter

API

Gateway

RESTAPI

RESTAPI

RESTAPI

RESTAPI

RESTAPI

REST/AMPQAPI

REST/AMQPAPI

WEBUI

Plataforma de Viagem

Page 66: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Evolução

Page 67: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Manter e evoluir!

Page 68: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

http://www.martinfowler.com/bliki/StranglerApplication.html

Strangler Application

Application #1 Strangler Application

1

Page 69: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

http://www.martinfowler.com/bliki/StranglerApplication.html

Application #1 Strangler Application

Strangler Application1

Page 70: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Strangle Application

Domínios e sub-domínios2

❖ Conceitos de negócio

❖ Bounded Context

❖ Domain Driven Design

Contexto A Contexto B

Page 71: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Strangle Application

Microservices3Microservice #n

Database

HTTP/REST

Page 72: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Governança4 ❖ Definições de padrões mínimos principalmente na fronteira externa da aplicação (contexto de conexão)

❖ Informações para tomadas de decisões em tempo de design e runtime

❖ Importante na medida certa!

Page 73: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Cultura Devops5

Page 74: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Alguns Fatores

● Acertar a integração é o aspecto mais importante da tecnologia

associada a microservices.

● Mantenha sua tecnologia de APIs agnóstica (REST HTTP / AMQP)

● Faça seus serviços simples para os consumidores

○ De nada adianta ter um microservice bacana se ele é difícil de

ser utilizado

● Esconda os detalhes de implementação internos

Page 75: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Composição - Coreografia

Microservice #1 Microservice #2 Microservice #n

Banco Relacional Documentos Key/Store Data Base

API API API

Microservice #cCamada de coreografia

Camada de dados

Page 76: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Architectural Safety

• Proteja-se dos serviços laranjas podres: aqueles que

estragam todos os outros

• Os butterflies são potencialmente mais danosos. Monitore!

Microservice #1 Microservice #2 Microservice #3RESTAPI

RESTAPI

RESTAPI

Microservice #4RESTAPI butterfly

Page 77: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Vantagens e desvantagens

benefícios e consequências

Page 78: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Módulos com Fronteiras Fortes

Page 79: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Fortes Fronteiras de módulos

• Microservices– A dissociação modular de

microservices funcionam melhor porque os limites dos módulos são uma barreira para referências entre os módulos

– Você até pode ter um grande acoplamento com microservices, mas o esforço certamente será maior

– O desafio é definir o domínios e sub-domínios

– Funciona bem para equipes isoladas (esquadrões)

• Monolítica– É perfeitamente possível ter limites

firmes de módulos em sistemas monolíticos, mas requer disciplina e acompanhamento

– É mais fácil bular as fronteiras, e esse atalho feito amplamente minam a estrutura modular do sistema e o tornam um “lixo”

Page 80: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Distribuição

Page 81: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Distribuição

• Grande desvantagem:– Ser muito distribuído– Desempenho

• Latência de rede• Custo de serialização e

deserialização• Falácias da computação

distribuída*

• Dicas (Mitigações):– Aumentar a granularidade das

chamadas– Usar chamadas assíncronas

• melhoria de desempenho• Porém é:

– Difícil de acertar– Difícil de depurar

– Confiabilidade• Programa-se para o fracasso e

suas consequências

* Falácias da computação distribuída: http://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

Page 82: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Implantação Independente

Page 83: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Implantação Independente

• Simplicidade– A unidade microservice é mais

simples, em tese é mais fácil de implantar

– Problemas no microservice, se ele for bem desenhado, tendem a propagar menos impacto no ambiente todo

• Scripts de automatização– Quase um pré-requisito: é difícil

ser ágil fazendo implantações manuais

• Entrega contínua– Redução do tempo de ciclo entre

uma ideia e o software em execução

– Respostas mais rápida as mudanças do mercado

– Vantagem competitiva• Feedbacks mais rápidos

– E ciclo de correções mais rápidos

Page 84: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Consistência Eventual

#sqn

Page 85: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Consistência Eventual

• Causa: descentralização de dados da abordagem

• É um efeito colateral para garantir a disponibilidade– Tradeoff entre disponibilidade

e consistência dos dados• Cache é importante!

– Invalidação de cache é difícil– Dica: Utilize eventos para

invalidar cache

• Tolerância a inconsistência (teorema de CAP)– Consistency– Availability – Tolerance to network partitions

http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf

Page 86: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Diversidade Tecnológica

Page 87: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Diversidade Tecnológica

• Liberdade– Fortalece a as escolhas

independentes de tecnologia– Algumas linguagens e tipos de

armazenamento de dados são mais adequados para determinados tipos de problemas

– O objetivo é resolver o problema através das escolhas mais inteligentes

– Experimentações de novas tecnologias

• Padronização– As questões de interface

(HTTP/REST, AMQP), ferramentas de ambiente e monitoração

• Bibliotecas– Mais controle no versionamento de

bibliotecas

Page 88: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Complexidade Operacional

Page 89: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Complexidade Operacional

• Produtividade– Para algumas equipes pode ser um

fardo que mina a produtividade• Tensão

– Pequenos módulos independentes e implantações rápidas traz uma pressão adicional para operação

• Agilidade– É praticamente impossível garantir

um ambiente operacional de dezenas de serviços sem automação

• Responsabilidade– A uma tendência da complexidade

subir para a camada de interconexões dos serviços

• Skills e Ferramentas– Requer algumas competências,

habilidades e ferramental• Colaboração

– Introduzir uma cultura DevOps: uma maior colaboração entre os desenvolvedores, operações e pessoal de infraestrutura

Page 90: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Complexidade Operacional Monitore!

Page 91: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Topic Title

Agenda

1. API-first 2. Design & Build 3. Run & Engage

Page 92: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

API Management

■ Gerenciamento centralizado dos consumidores da API

■ Monitoração do tráfego■ Insights sobre a forma

de uso das APIs■ “APIs como LOBs (Line of Business)”

* API Management Suite é uma ferramenta da Sensedia

Page 93: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Self-service Dev Portal

Page 94: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Dev Pipeline

Dev Cadastrado

Não possui App

Possui App, mas nunca

utilizou

Em integração

Em homologa-

çãoIntegrado

Running

Page 95: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Developer Engagement

Maior Varejista online da América Latina

Maior Marketplace da América Latina

Maior varejista esportivo online do mundo

+2000 Lojas Integradas

+300MM calls/mês

Page 96: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

■ Portal de Desenvolvedores■ Gerenciamento de chamados

○ Zendesk■ Fórum■ FAQ■ SLA■ TTFHW (Time to first hello world)■ SDK’s

Developer Engagement - Tools and Management

Page 97: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Developer Engagement - Satisfaction

Page 98: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Developer Engagement - Satisfaction

Page 99: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

■ Relatórios de valor ao negócio■ Classificação dos integradores:

○ Vip○ Premium○ Master○ Gold○ Platinum

■ Acompanhamentos diversos

Developer Engagement - Analytics

Page 100: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Demo

Page 101: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Equipe de APIs

- Planos- Roadmap de APIs- Modelo de negócio- Business InsightsAPI Product

Owner

- Identifica as APIs- Desenha as interfaces- Garante o DX- Data-mappingAPI Architect

- Constrói o API-Front- Conexões e composições

API Developer

- Apoia o API Architect na análise bottom-up

BackendArchitect

- Publica as APIs- Monitora o uso- Políticas & alertas

API Operator

- Onboarding dos App Dev- Suporte para os App Dev- Melhoria do API portal- Feedbacks para API PODeveloper

Engagement

Page 102: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Move fast

API Design

API-FrontImplementation

API-FrontDesign

Publish

Developer Feedback

Design & Build

Try Out Backend AnalysisMockup

Page 103: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

OmniCHANNEL

API First = Future Proof ■ Design & Build

■ Run & Engage

Page 104: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

+Take Away

A integração do seu sistema deve ser pensada a partir do dia zero!

APIs estão nas agendas e no dia a dia

Quanto mais você investir no desenho das

APIs, mais atalhos poderá pegar no futuro

Page 105: DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-commerce com APIs

Topic Title

+Fábio Rosato

Head of Consulting @[email protected]@frosato

Carlos Souza

Consultor @[email protected]@12cesarCarlos

Velocidade e confiabilidade em e-commerce com APIs