SlideShare uma empresa Scribd logo
1 de 41
DEVTALK
DESENVOLVIMENTO, SEGURANÇA, ARQUITETURA E INFRAESTRUTURA
ZOOX - AGO/2019
ARQUITETURA AWS
ARQUITETURA MULTI-REGION
ARQUITETURA DATA LAKE
MONOLITO X MICROSERVIÇOS
MICROSERVIÇOS
PRÓS
• Aumento de resiliência
• Escalabilidade independente
• Deploy fácil, independente e frequente
(CI/CD)
• Independência de tecnologias e de fácil
migração
• Fácil debug específico
• Pequenos times especializados
• Testes automatizados
• Fácil para dev novo no time
• Reusabilidade e Composição
• Desacoplamento e alta coesão
CONTRAS
• Manutenção (DevOps)
• Versionamento (cuidado)
• Latência
• Transação entre serviços
• Testes de integração e monitoramento
• Integração entre times
• Documentação (api)
• Tratar falhas
• Cuidado com granuralidade (quantidade
serviços)
11/2015
APIS PLATAFORMA ZOOX
Access
PHP
MySQL
Mongo
Audit
Node
Mongo
Company
PHP
MySQL
Mongo
Dashboard
PHP
Email
PHP
MySQL
History
PHP
MySQL
ElasticSearch
Hotel
Node
Mongo
Hotspot
PHP
MySQL
Mongo
Ipiranga
PHP
Page
PHP
MySQL
Partner
Node
Mongo
Person
PHP
MySQL
ElasticSearch
Region
PHP
MySQL
Subscription
PHP
MySQL
Survey
PHP
MySQL
ElasticSearch
User
PHP
MySQL
Workflow
PHP
ZMX
PHP
Mongo
ElasticSearch
Graph
Python
Neo4J
DEFINIÇÕES IMPORTANTES
• Bounded Context
• UUID
• Versionamento (semver.org)
• Síncrono (request/response) X Assíncrono (event-based)
• REST
BOUNDED CONTEXT
Company
Group
AccessPoint
IpBinding
InternetLink
Hotspot
BusinessCenter
Router
Port
PlanWalledGarden
PROBLEMAS DO ID AUTOINCREMENT
• Fácil extrair certas informações (cria um usuário novo e pelo id
você sabe quantos usuários tem na base)
• Enumerar entidades (se não tiver tratamento, basta trocar o id
na url para outro número)
• Não é único entre as tabelas (existe uma entidade 1 em todas
as tabelas)
• Não é possível usar em sistemas distribuídos
• Muito difícil migrar dados para outro banco ou usar como
replicação (MySQL para Elasticsearch por exemplo)
EXEMPLO
UUID
• V4: 362e80f5-af9a-4d68-86da-5bf014dcafc1
• V4 COMB
• 8e208169-a0d1-419d-b17f-913b9985b8ac
• 8e21f643-a18e-4800-9c8d-4a71916a886b
• Geração pode ser descentralizada.
• Você não consegue enumerar as entidades
• Você não sabe quantos registros tem na tabela
• Você não precisa falar com a database para gerar um valor
“The number of random version-4 UUIDs which need to be generated in order to
have a 50% probability of at least one collision is 2.71 quintillion.
This number is equivalent to generating 1 billion UUIDs per second for about
85 years.” - Wikipedia
VERSIONAMENTO
CONTROLE DE VERSÃO
OPÇÕES DE VERSIONAMENTO
• URI
1. region.zooxwifi.local/v1/city
2. region.zooxwifi.local/v2/city
• Header customizado
1. Accept-version: v1
2. Accept-version: v2
• Header Accept
1. Accept: application/vnd.region.v1+json
2. Accept: application/vnd.region.v2+json
SYNC X ASYNC
SÍNCRONO
PRÓS
• Baixa complexidade
• Fácil tratamento de erro
• Resposta em “real-time”
CONTRAS
• Cada serviço tem que estar
disponível
• Resposta lenta
ASSÍNCRONO
PRÓS
• Resposta imediada, não
precisa esperar todos os
serviços responderem
• Desacoplamento entre os
serviços
• Serviço pode não estar
disponível na hora
• Isolamento de falha
CONTRAS
• Arquitetura complicada
• Tratamento de erro
• Acoplamento ao “message
broker”
• Alta latência se fila cheia
• Custo de monitoramento
• Nem sempre possível (listar
itens na tela)
REST API
GET ENTITY
GET COLLECTION
ERRO AO CRIAR
API - STATUS HTTP
2XX
• 200 – OK
• 201 – CREATED
• 202 – ACCEPTED
• 204 – NO CONTENT
4XX
• 400 – BAD REQUEST
• 401 – UNAUTHORIZED
• 403 – FORBIDDEN
• 404 – NOT FOUND
• 405 – METHOD NOT ALLOWED
• 409 – CONFLICT
• 422 – UNPROCESSABLE ENTITY
• 429 – TOO MANY REQUESTS
5XX
• 500 – INTERNAL SERVER ERROR
• 502 – BAD GATEWAY
• 503 – SERVICE UNAVAILABLE
• 504 – GATEWAY TIMEOUT
SEGURANÇA
• Não confie em ninguém (filtrar/validar toda entrada, escapar
toda saída)
• Se prepare para o pior cenário
• Princípio do menor privilégio
• Se não testou, não assuma que funciona
• SQL Injection
• Cross-Site Scripting (XSS)
• https://www.acunetix.com/websitesecurity/php-security-1/
(exemplos)
INJEÇÃO DE DEPENDÊNCIA – NODE -
TYPEDI
INJEÇÃO DE DEPENDÊNCIA – PHP – PSR-11
INJEÇÃO DE CONFIGURAÇÃO – PERMITE
EXPANSÃO
INTERFACE – FACILITA TESTES E NOVAS
FEATURES
THE SEPARATION OF CONCERNS (SOC)
PRINCIPLE
Os conceitos ou preocupações são os diferentes aspectos da
funcionalidade do software. Por exemplo, a "lógica de negócios"
do software é uma conceitos, e a interface pela qual uma pessoa
usa essa lógica é outra conceitos.
A separação de conceitos é manter o código para cada uma
dessas responsabilidades separadas. Alterar a interface não deve
exigir a alteração do código de lógica de negócios e vice-versa.
ARQUITETURA DE 3 CAMADAS
Idéia de usar SoC, é mover
sua regra de negócio para
fora da sua camada de
roteamento (resources)
BOAS PRÁTICAS
• Não coloque sua regra de negócios dentro dos controladores!
• Um dia você pode precisar reutilizar em um outro lugar.
• Seu código fica mais “macarrônico”
• Dificulta a construção de teste unitário
• Dificulta a legibilidade do código
• Coloque seus SQL/DataAccess na camada correta
EXEMPLO
EXEMPLO MELHORADO
USE A CAMADA PUB/SUB
O padrão pub/sub vai além da arquitetura clássica de 3 camadas, mas
é extremamente útil.
Um endpoint simples que cria um usuário agora, pode querer chamar
serviços de terceiros, talvez para um serviço de análise ou talvez iniciar
uma sequência de e-mail.
Mais cedo ou mais tarde, essa simples operação de "criação" estará
fazendo várias coisas e você terá 1000 linhas de código, tudo em uma
única função.
Isso viola o princípio da responsabilidade única.
EXEMPLO
Chamadas imperativas não é a melhor maneira de fazer isso.
Uma abordagem melhor é emitir um evento, ou seja, "um usuário se
inscreveu com este e-mail".
E você está feito, agora é da responsabilidade dos ouvintes fazer o
trabalho deles.
EXEMPLO
• Agora você pode separa seu eventos em vários arquivos, de acordo
com a afinidade de cada um
FUJA DO ASYNC/AWAIT HELL!
• Encontre funções que dependam da execução de outras declarações
• Agrupe códigos dependentes em funções assíncronas
• Execute estas funções assíncronas simultaneamente
EXEMPLO
EXEMPLO APRIMORADO

Mais conteúdo relacionado

Mais procurados

ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETRenato Groff
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesRodrigo Cândido da Silva
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
 
Escalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonEscalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonGuilherme Vierno
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosVinícius Krolow
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaAmazon Web Services LATAM
 
Microservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesMicroservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesGuilherme Vierno
 
Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.XEduardo Pires
 
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...
QCon SP 2016 -  WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...QCon SP 2016 -  WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...Tiago Marchetti Dolphine
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...iMasters
 
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...iMasters
 
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXFIntrodução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXFRafael T. C. Soares (tuelho)
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...iMasters
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Eduardo Pires
 

Mais procurados (20)

ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura Microservices
 
O Futuro do ASP.NET
O Futuro do ASP.NETO Futuro do ASP.NET
O Futuro do ASP.NET
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
 
Escalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonEscalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em Python
 
Infrastructure Testing
Infrastructure TestingInfrastructure Testing
Infrastructure Testing
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenos
 
Microservices
MicroservicesMicroservices
Microservices
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 
Microservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesMicroservices em Python: desafios e soluções
Microservices em Python: desafios e soluções
 
Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.X
 
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...
QCon SP 2016 -  WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...QCon SP 2016 -  WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...
 
Road to serverless
Road to serverlessRoad to serverless
Road to serverless
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
 
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
 
Arquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhasArquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhas
 
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXFIntrodução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
 
Introdução à Microservices
Introdução à MicroservicesIntrodução à Microservices
Introdução à Microservices
 

Semelhante a DevTalk 08/2019

TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
Introdução a Microservices com Node.JS
Introdução  a Microservices com Node.JSIntrodução  a Microservices com Node.JS
Introdução a Microservices com Node.JSEduardo Nunes Pereira
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpCampus Party Brasil
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
 
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluçõesTDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluçõestdc-globalcode
 
Melhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingDaniel Checchia
 
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudTDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudRodrigo Cândido da Silva
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de MicroserviçosNorberto Enomoto
 
Explorando o mundo serverless
Explorando o mundo serverlessExplorando o mundo serverless
Explorando o mundo serverlessRoberto Alves
 
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsGUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsRodrigo Cândido da Silva
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...Rodrigo Cândido da Silva
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixNatanael Fonseca
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Frederico Garcia Costa
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaiMasters
 

Semelhante a DevTalk 08/2019 (20)

TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Introdução a Microservices com Node.JS
Introdução  a Microservices com Node.JSIntrodução  a Microservices com Node.JS
Introdução a Microservices com Node.JS
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs Php
 
Clusterização de Aplicações PHP
Clusterização de Aplicações PHPClusterização de Aplicações PHP
Clusterização de Aplicações PHP
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
 
Monolith - An epic journey
Monolith - An epic journeyMonolith - An epic journey
Monolith - An epic journey
 
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluçõesTDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
 
Melhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud Computing
 
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudTDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
Front end architecture
Front end architectureFront end architecture
Front end architecture
 
Explorando o mundo serverless
Explorando o mundo serverlessExplorando o mundo serverless
Explorando o mundo serverless
 
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsGUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
 

DevTalk 08/2019