Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Topic Title
Velocidade e confiabilidade em
e-commerce com APIs
+
Topic Title
Fábio
Rosato
Head of Consulting @Sensedia
fabio.rosato@sensedia.com
@frosato
Carlos
Souza
Consultor @Sensedia
...
Topic Title
Fábio
Rosato
Carlos
Souza
Quick Facts
● Plataforma de API Management
● Plataforma de Governança SOA
● Design e estratégia de APIs
História
Fundada e...
Todo negócio é
digital
API habilita
Digital
Sensedia
suporta sua
estratégia de
APIs
Ativando a transformação digital
WEBINARS:
5 Passos para uma API de Sucesso
http://bit.ly/Sensedia_APIdeSucesso
Webinar Design de APIs RESTful
http://bit.l...
Topic Title
Agenda
1. API-first 2. Design & Build 3. Run & Engage
Topic Title
Agenda
1. API-first 2. Design & Build 3. Run & Engage
Mobile-first
O que virá depois?
Omni
CHANNEL
Onde houver uma tela, lá ele estará!
“Plataformização”
“Plataformização”
A ideia das APIs é Descomplicar, provendo um
mecanismo simples, seguro, escalável para
um desenvolvedor construir suas sol...
Forte crescimento de calls de APIs - Exemplo
↑59%
↑158%
↑3.354%
Fonte: Sensedia
Tipos de APIs
Restricted
Restritas a parceiros autorizados
Open
Abertas para qualquer
desenvolvedor
Private
Uso limitado a...
Front-End
Backend
HTTP/RESTAPI
Single Page App (SPA)
App-Client
Private
Mobile,
Wearable
Backend
HTTP/RESTAPI
Mobile, Wearable Apps
App-Backend
Private
App
Backend
App
Backend
HTTP/RESTAPI
Integration Architecture
App-App
Private
Microservice #1
HTTP/RESTAPI
Microservice #2
HTTP/RESTAPI
Microservice #n
HTTP/RESTAPI
Application - Backend
Webinar Micro...
Marketplaces
Restricted
APIs do Marketplace
Publicação de
Produtos
Atualização de
Preço/Estoque
Captura de Pedidos
Atualiz...
Open Innovation
Open
Open Innovation
Open
Fonte: http://hackathon.ima.sp.gov.br/
Open Innovation
Open
Fonte: http://hackathon.ima.sp.gov.br/
http://goo.gl/PdKRPfFonte:
GPlay: https://goo.gl/vPWMK7
Anti-pattern #1: Bottom-Up
“Sistemão”
Objetos e Funções
REST / JSON
Virtudes:
■ Rápido de ser criado
■ Fácil de ser entend...
Anti-pattern #2: Comitê de Padronização
“Sistemão”
Objetos
REST / JSON Unificados
Virtudes:
■ Senso de unificação
■ Compre...
Anti-pattern #3: Copycat do Concorrente
“Sistemão
#1”
Objetos
REST / JSON == Concorrente
“Sistemão
#2”
Objetos
Virtudes:
■...
API-first, a história da API ideal
API-first, a história da API ideal
> Simplicidade
> Reusabilidade
> Extensibilidade
> Consistência
> Manutenabilidade
Plataforma Comercial apps
Databases
Custom appsSaaS apps
SOAP RSS
Remote
Protocols
REST
like RPC
System Layer
Services Lay...
BackendAPIFront
API Facade
Mediate
REST
API
REST
API
REST
API
REST
API
Plataforma Comercial apps
Databases
Custom appsSaaS...
Topic Title
Agenda
1. API-first 2. Design & Build 3. Run & Engage
REST/JSON
Versionamento
Caching
Resources
Erros
Operações
Callbacks
Segurança
Hypermedia
RESTful API Design
RESTful API Design - Flexibilidade & Otimização
Filtros e
paginação Callbacks
RESTful API Design - Flexibilidade & Otimização
Filtros
GET /vendas/v2/pedidos?status=concluido
GET /pedidos/123AF15J?_fie...
RESTful API Design - Flexibilidade & Otimização
Paginação
GET /pedidos?_offset=50&_limit=25
Recomendação:
Outras opções:
L...
Já chegamos?
Já chegamos?
Já chegamos?
Já chegamos?
Já chegamos?
Stop Pooling Me
RESTful API Design - Flexibilidade & Otimização
Callbacks
Marketplace API
❖ Consulta estoque
❖ Cálculo de frete
❖ Novo ped...
Common Description Language?
Common Description Language?
Anatomia Swagger
Informações gerais
Versão (da documentação)
Path
Onde os recursos são
definidos
Onde as entidades são
def...
Anatomia Swagger
Operações (GET, POST…)
Tags
Parâmetros
Respostas
Tools: Swagger Editor
Client Accelerators
INTEGRATION INTEGRATION
SDK / Code Snippets
Virtudes:
■ Acelera o consumo das APIs
■ Menos erros de implementação
Vícios:
■ Você precisa versionar...
Swagger CodeGen
■ SDK gerada pelo
Swagger Codegen
■ Geração de código simples
e consistente
■ Menos erros na
implementação...
Server Accelerators
INTEGRATION INTEGRATION
BackendAPIFront
API Facade
Mediate
REST
API
REST
API
REST
API
REST
API
Plataforma Comercial apps
Databases
Custom appsSaaS...
❖ Proteção contra ataques
❖ Alertas
❖ Autenticação e Autorização
❖ Transformação de Protocolos
❖ Composição de chamadas
❖ ...
API-Front
HTTP/REST
Backend
* Garantir todas as responsabilidades do API-Front pode ser custoso
API Front - Cenário 1
API-Front
HTTP/REST
Backend
ESB
* Observe os GAPs que o ESB tem sozinho para essa responsabilidade
API Front - Cenário 2
API-Front
HTTP/REST
Backend
API Gateway
API Front - Cenário 3
API-Front
HTTP/REST
Backend
API Gateway
● Considere utilizar um API Developers
Portal mesmo para os desenvolvedores
intern...
BackendAPIFront
API Facade
Mediate
REST
API
REST
API
REST
API
REST
API
Arquitetura
Futura
Mainframe Comercial apps
Databas...
BackendAPIFront
API Facade
Mediate
REST
API
REST
API
REST
API
REST
API
Mainframe Comercial apps
Databases
Custom appsSaaS ...
“Mockando” e correndo em paralelo
Mock somente em sandbox,
nunca em produção!
* API Management Suite é uma ferramenta da S...
Swagger CodeGen (server)
■ Esqueleto do
backend gerado pelo
swagger codegen
■ Geração de código
incompleto mas
bastante út...
■ Postman
■ SOAP UI
■ Plugins REST para
o seu browser
Ferramentas para teste da sua API
Seja usuário da sua própria API
Eat your own
Dog Food
Estratégias de Arquiteturas de Aplicações
Escolhendo o estilo arquitetural
para expor APIs
Microservices está
no Hype
Hype
Cloud
Domain-driven
design
Service-
oriented
architecture
Continuous
delivery
Elementos chaves para
a ascensão dos
microse...
WEB
UI
EMAIL
Adapter
URA
Adapter
Pagamentos
Adapter
Clientes
Pacotes
Reservas
Avaliações
Recomendações
PagamentosNotificaç...
Clientes
Pacotes
Reservas
Avaliações
Recomendações
Pagamentos
Notificações
Microservices
Arquitetura
Pagamentos
Adapter
UR...
Evolução
Manter e evoluir!
http://www.martinfowler.com/bliki/StranglerApplication.html
Strangler
Application
Application #1 Strangler Application
1
http://www.martinfowler.com/bliki/StranglerApplication.html
Application #1 Strangler Application
Strangler
Application1
Strangle Application
Domínios e
sub-domínios2
❖ Conceitos de negócio
❖ Bounded Context
❖ Domain Driven Design
Contexto A C...
Strangle Application
Microservices
3
Microservice #n
Database
HTTP/REST
Governança
4 ❖ Definições de padrões
mínimos principalmente
na fronteira externa da
aplicação (contexto de
conexão)
❖ Info...
Cultura
Devops5
Alguns Fatores
● Acertar a integração é o aspecto mais importante da tecnologia
associada a microservices.
● Mantenha sua ...
Composição - Coreografia
Microservice #1 Microservice #2 Microservice #n
Banco Relacional Documentos Key/Store Data Base
A...
Architectural Safety
• Proteja-se dos serviços laranjas podres: aqueles que
estragam todos os outros
• Os butterflies são ...
Vantagens e
desvantagens
benefícios e consequências
Módulos com Fronteiras Fortes
Fortes Fronteiras de módulos
• Microservices
– A dissociação modular de
microservices funcionam melhor
porque os limites d...
Distribuição
Distribuição
• Grande desvantagem:
– Ser muito distribuído
– Desempenho
• Latência de rede
• Custo de serialização e
deser...
Implantação Independente
Implantação Independente
• Simplicidade
– A unidade microservice é mais
simples, em tese é mais fácil de
implantar
– Probl...
Consistência Eventual
#sqn
Consistência Eventual
• Causa: descentralização de
dados da abordagem
• É um efeito colateral para
garantir a disponibilid...
Diversidade Tecnológica
Diversidade Tecnológica
• Liberdade
– Fortalece a as escolhas
independentes de tecnologia
– Algumas linguagens e tipos de
...
Complexidade Operacional
Complexidade Operacional
• Produtividade
– Para algumas equipes pode ser um
fardo que mina a produtividade
• Tensão
– Pequ...
Complexidade Operacional
M
onitore!
Topic Title
Agenda
1. API-first 2. Design & Build 3. Run & Engage
API Management
■ Gerenciamento centralizado
dos consumidores da API
■ Monitoração do tráfego
■ Insights sobre a forma
de u...
Self-service Dev Portal
Dev Pipeline
Dev Cadastrado
Não possui
App
Possui App,
mas nunca
utilizou
Em
integração
Em
homologa-
ção
Integrado
Running
Developer Engagement
Maior Varejista online da
América Latina
Maior Marketplace da
América Latina
Maior varejista esportiv...
■ Portal de Desenvolvedores
■ Gerenciamento de chamados
○ Zendesk
■ Fórum
■ FAQ
■ SLA
■ TTFHW (Time to first hello world)
...
Developer Engagement - Satisfaction
Developer Engagement - Satisfaction
■ Relatórios de valor ao negócio
■ Classificação dos integradores:
○ Vip
○ Premium
○ Master
○ Gold
○ Platinum
■ Acompanham...
Demo
Equipe de APIs
- Planos
- Roadmap de APIs
- Modelo de negócio
- Business Insights
API Product
Owner
- Identifica as APIs
-...
Move fast
API Design
API-Front
Implementation
API-Front
Design
Publish
Developer
Feedback
Design & Build
Try Out
Backend
A...
Omni
CHANNEL
API First =
Future Proof ■ Design & Build
■ Run & Engage
+
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
Quant...
Topic Title
+
Fábio Rosato
Head of Consulting @Sensedia
fabio.rosato@sensedia.com
@frosato
Carlos Souza
Consultor @Sensedi...
Upcoming SlideShare
Loading in …5
×

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

291 views

Published on

Fabio Rosato, Ger. Professional Services da Sensedia, ministrou o workshop "Velocidade e confiabilidade em e-commerce com APIs", no DevCommerce Conference 2016.

O DevCommerce Conference 2016 aconteceu nos dias 06 e 07 de junho de 2016, no Hotel Tivoli em São Paulo-SP
http://devcommerce2016.imasters.com.br/

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Topic Title Velocidade e confiabilidade em e-commerce com APIs +
  2. 2. Topic Title Fábio Rosato Head of Consulting @Sensedia fabio.rosato@sensedia.com @frosato Carlos Souza Consultor @Sensedia carlos.souza@sensedia.com @12cesarCarlos
  3. 3. Topic Title Fábio Rosato Carlos Souza
  4. 4. Quick Facts ● Plataforma de API Management ● Plataforma de Governança SOA ● Design e estratégia de APIs História Fundada em 2007 Gartner SOA MQ 2009 API Suite 2012 Forrester Report 2016 Bases Campinas São Paulo Rio de Janeiro USA Origens APIs in Brazil Webinars, Articles, Videos, Podcasts, Talks and Workshops Thought LeadershipAPI Experience 2015 - 250 pessoas 2016 - 550 pessoas
  5. 5. Todo negócio é digital API habilita Digital Sensedia suporta sua estratégia de APIs Ativando a transformação digital
  6. 6. WEBINARS: 5 Passos para uma API de Sucesso http://bit.ly/Sensedia_APIdeSucesso Webinar Design de APIs RESTful http://bit.ly/Sensedia_APIsRest Webinar Os Fundamentos da Segurança de APIs http://bit.ly/Sensedia_SegurancaDeApis Webinar Guia Prático de Gerenciamento APIs http://bit.ly/Sensedia_GerenciamentoDeApis Webinar: SOA no mundo das APIs http://bit.ly/Sensedia_SOA Webinar: Ecossistemas Digitais http://bit.ly/Sensedia_EcossistemasDigitais Webinar: Microservices http://bit.ly/Sensedia_microservices Webinar: Repensando o ESB http://bit.ly/25Gw78L APRESENTAÇÕES: http://www.slideshare.net/sensedia /Sensedia /Sensedia /in/Sensedia Conteúdo Adicional
  7. 7. Topic Title Agenda 1. API-first 2. Design & Build 3. Run & Engage
  8. 8. Topic Title Agenda 1. API-first 2. Design & Build 3. Run & Engage
  9. 9. Mobile-first
  10. 10. O que virá depois? Omni CHANNEL
  11. 11. Onde houver uma tela, lá ele estará!
  12. 12. “Plataformização”
  13. 13. “Plataformização”
  14. 14. 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.
  15. 15. Forte crescimento de calls de APIs - Exemplo ↑59% ↑158% ↑3.354% Fonte: Sensedia
  16. 16. Tipos de APIs Restricted Restritas a parceiros autorizados Open Abertas para qualquer desenvolvedor Private Uso limitado a equipes internas da empresa
  17. 17. Front-End Backend HTTP/RESTAPI Single Page App (SPA) App-Client Private
  18. 18. Mobile, Wearable Backend HTTP/RESTAPI Mobile, Wearable Apps App-Backend Private
  19. 19. App Backend App Backend HTTP/RESTAPI Integration Architecture App-App Private
  20. 20. Microservice #1 HTTP/RESTAPI Microservice #2 HTTP/RESTAPI Microservice #n HTTP/RESTAPI Application - Backend Webinar Microservices http://bit.ly/Sensedia_microservices Microservices Private
  21. 21. Marketplaces Restricted APIs do Marketplace Publicação de Produtos Atualização de Preço/Estoque Captura de Pedidos Atualização de Tracking
  22. 22. Open Innovation Open
  23. 23. Open Innovation Open Fonte: http://hackathon.ima.sp.gov.br/
  24. 24. Open Innovation Open Fonte: http://hackathon.ima.sp.gov.br/ http://goo.gl/PdKRPfFonte: GPlay: https://goo.gl/vPWMK7
  25. 25. 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
  26. 26. Anti-pattern #2: Comitê de Padronização “Sistemão” Objetos REST / JSON Unificados Virtudes: ■ 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
  27. 27. 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
  28. 28. API-first, a história da API ideal
  29. 29. API-first, a história da API ideal > Simplicidade > Reusabilidade > Extensibilidade > Consistência > Manutenabilidade
  30. 30. Plataforma Comercial apps Databases Custom appsSaaS apps SOAP RSS Remote Protocols REST like RPC System Layer Services Layer RESTful Arquiteturas Complexas
  31. 31. BackendAPIFront API Facade Mediate REST API REST API REST API REST API Plataforma Comercial apps Databases Custom appsSaaS apps SOAP RSS Remote Protocols REST like RPC System Layer Services Layer Webinar Design de APIs RESTful http://bit.ly/Sensedia_APIsRest App Microservice #1 Microservice #n RESTful ESB Design Ideal API-First
  32. 32. Topic Title Agenda 1. API-first 2. Design & Build 3. Run & Engage
  33. 33. REST/JSON Versionamento Caching Resources Erros Operações Callbacks Segurança Hypermedia RESTful API Design
  34. 34. RESTful API Design - Flexibilidade & Otimização Filtros e paginação Callbacks
  35. 35. 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:
  36. 36. 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
  37. 37. Já chegamos? Já chegamos? Já chegamos? Já chegamos? Já chegamos? Stop Pooling Me
  38. 38. 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:
  39. 39. Common Description Language?
  40. 40. Common Description Language?
  41. 41. Anatomia Swagger Informações gerais Versão (da documentação) Path Onde os recursos são definidos Onde as entidades são definidas
  42. 42. Anatomia Swagger Operações (GET, POST…) Tags Parâmetros Respostas
  43. 43. Tools: Swagger Editor
  44. 44. Client Accelerators INTEGRATION INTEGRATION
  45. 45. 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
  46. 46. 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
  47. 47. Server Accelerators INTEGRATION INTEGRATION
  48. 48. BackendAPIFront API Facade Mediate REST API REST API REST API REST API Plataforma Comercial apps Databases Custom appsSaaS apps SOAP RSS Remote Protocols REST like RPC System Layer Services Layer Webinar Design de APIs RESTful http://bit.ly/Sensedia_APIsRest App Microservice #1 Microservice #n RESTful ESB API Front API-First
  49. 49. ❖ 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 DoS Cross-Site Scripting (XSS) SQL Injections XML Treat JSON Treat Ameaç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
  50. 50. API-Front HTTP/REST Backend * Garantir todas as responsabilidades do API-Front pode ser custoso API Front - Cenário 1
  51. 51. API-Front HTTP/REST Backend ESB * Observe os GAPs que o ESB tem sozinho para essa responsabilidade API Front - Cenário 2
  52. 52. API-Front HTTP/REST Backend API Gateway API Front - Cenário 3
  53. 53. API-Front HTTP/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ça Portal APIs IMA http://hackathon.ima.sp.gov.br/ API Front - Cenário 3
  54. 54. BackendAPIFront API Facade Mediate REST API REST API REST API REST API Arquitetura Futura Mainframe Comercial apps Databases Custom appsSaaS apps SOAP RSS Remote Protocols REST like RPC System Layer Services Layer Webinar Design de APIs RESTful http://bit.ly/Sensedia_APIsRest App Microservice #1 Microservice #n RESTful ESB
  55. 55. BackendAPIFront API Facade Mediate REST API REST API REST API REST API Mainframe Comercial apps Databases Custom appsSaaS apps SOAP RSS Remote Protocols REST like RPC System Layer Services Layer Webinar Design de APIs RESTful http://bit.ly/Sensedia_APIsRest App Microservice #1 Microservice #n RESTful API Gateway ESB Arquitetura Futura
  56. 56. “Mockando” e correndo em paralelo Mock somente em sandbox, nunca em produção! * API Management Suite é uma ferramenta da Sensedia
  57. 57. 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
  58. 58. ■ Postman ■ SOAP UI ■ Plugins REST para o seu browser Ferramentas para teste da sua API
  59. 59. Seja usuário da sua própria API Eat your own Dog Food
  60. 60. Estratégias de Arquiteturas de Aplicações Escolhendo o estilo arquitetural para expor APIs
  61. 61. Microservices está no Hype
  62. 62. Hype
  63. 63. Cloud Domain-driven design Service- oriented architecture Continuous delivery Elementos chaves para a ascensão dos microservices…
  64. 64. WEB UI EMAIL Adapter URA Adapter Pagamentos Adapter Clientes Pacotes Reservas Avaliações Recomendações PagamentosNotificações DB Adapter REST API Monolítica Arquitetura http://alistair.cockburn.us/Hexagonal+architecture Plataforma de Viagem
  65. 65. Clientes Pacotes Reservas Avaliações Recomendações Pagamentos Notificações Microservices Arquitetura Pagamentos Adapter URA Adapter EMAIL Adapter API Gateway REST API REST API REST API REST API REST API REST/AMPQ API REST/AMQP API WEB UI Plataforma de Viagem
  66. 66. Evolução
  67. 67. Manter e evoluir!
  68. 68. http://www.martinfowler.com/bliki/StranglerApplication.html Strangler Application Application #1 Strangler Application 1
  69. 69. http://www.martinfowler.com/bliki/StranglerApplication.html Application #1 Strangler Application Strangler Application1
  70. 70. Strangle Application Domínios e sub-domínios2 ❖ Conceitos de negócio ❖ Bounded Context ❖ Domain Driven Design Contexto A Contexto B
  71. 71. Strangle Application Microservices 3 Microservice #n Database HTTP/REST
  72. 72. Governança 4 ❖ 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!
  73. 73. Cultura Devops5
  74. 74. 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
  75. 75. Composição - Coreografia Microservice #1 Microservice #2 Microservice #n Banco Relacional Documentos Key/Store Data Base API API API Microservice #c Camada de coreografia Camada de dados
  76. 76. 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 #3REST API REST API REST API Microservice #4 REST API butterfly
  77. 77. Vantagens e desvantagens benefícios e consequências
  78. 78. Módulos com Fronteiras Fortes
  79. 79. 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”
  80. 80. Distribuição
  81. 81. 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
  82. 82. Implantação Independente
  83. 83. 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
  84. 84. Consistência Eventual #sqn
  85. 85. 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
  86. 86. Diversidade Tecnológica
  87. 87. 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
  88. 88. Complexidade Operacional
  89. 89. 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
  90. 90. Complexidade Operacional M onitore!
  91. 91. Topic Title Agenda 1. API-first 2. Design & Build 3. Run & Engage
  92. 92. 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
  93. 93. Self-service Dev Portal
  94. 94. Dev Pipeline Dev Cadastrado Não possui App Possui App, mas nunca utilizou Em integração Em homologa- ção Integrado Running
  95. 95. 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
  96. 96. ■ Portal de Desenvolvedores ■ Gerenciamento de chamados ○ Zendesk ■ Fórum ■ FAQ ■ SLA ■ TTFHW (Time to first hello world) ■ SDK’s Developer Engagement - Tools and Management
  97. 97. Developer Engagement - Satisfaction
  98. 98. Developer Engagement - Satisfaction
  99. 99. ■ Relatórios de valor ao negócio ■ Classificação dos integradores: ○ Vip ○ Premium ○ Master ○ Gold ○ Platinum ■ Acompanhamentos diversos Developer Engagement - Analytics
  100. 100. Demo
  101. 101. Equipe de APIs - Planos - Roadmap de APIs - Modelo de negócio - Business Insights API Product Owner - Identifica as APIs - Desenha as interfaces - Garante o DX - Data-mapping API Architect - Constrói o API-Front - Conexões e composições API Developer - Apoia o API Architect na análise bottom-up Backend Architect - 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
  102. 102. Move fast API Design API-Front Implementation API-Front Design Publish Developer Feedback Design & Build Try Out Backend Analysis Mockup
  103. 103. Omni CHANNEL API First = Future Proof ■ Design & Build ■ Run & Engage
  104. 104. + 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
  105. 105. Topic Title + Fábio Rosato Head of Consulting @Sensedia fabio.rosato@sensedia.com @frosato Carlos Souza Consultor @Sensedia petterson.andrade@sensedia.com @12cesarCarlos Velocidade e confiabilidade em e- commerce com APIs

×