Abrindo
a caixa
Microserviços
globo.tv e globosat play
Emerson Macedo
globo.com
@emerleite
Oferta
Rede Globo
Oferta
Rede Globo
categorias
Oferta
Rede Globo
categorias
busca
Vídeos abertos
em trechos
Assinantes
globo.com
Assinantes
globo.com
íntegras
tv globo
Assinantes de
tv a cabo/satélite
Assinantes de
tv a cabo/satélite
operadora
Canais Ao Vivo
Canais Ao Vivo
Filmes
Canais Ao Vivo
Filmes
Séries
Canais Ao Vivo
Filmes
Séries
Programas
COMO MANTER OS
PRODUTOS DE VÍDEOS
SEM DUPLICAR
MUITO CÓDIGO?
RIGHT TOOL FOR THE JOB
IDENTIFICAMOS
A ORGANIZAÇÃO
DO NEGÓCIO
#1
globo.tv
Ao Vivo Auth
XP	
Logada	
WidgetsBuscaAPI
globosatplay.com
Filmes
Programas	
Séries	
Combate
Ao Vivo Auth
XP	
Logada	
Oferta	
Editorial	
WidgetsBusca
globosatplay.com globo.tv
Ao Vivo Auth
XP	
Logada	
WidgetsBusca
Product	
API
IDENTIFICAMOS
OS COMPONENTES
QUE SE REPETEM
2
PERFIL DO USUÁRIO
PERFIL DO USUÁRIO
PERFIL DO USUÁRIO
PERFIL DO USUÁRIO
PERFIL DO USUÁRIO
EXPERIÊNCIA LOGADA
EXPERIÊNCIA LOGADA
EXPERIÊNCIA LOGADA
LOGIN
LOGIN
LISTA EDITORIAL
LISTA EDITORIAL
TRILHO EDITORIAL
LISTA EDITORIAL
TRILHO EDITORIALOferta
Editorial
TOOLTIP DE FILMES
TOOLTIP DE FILMES
TOOLTIP DE VÍDEOS
TOOLTIP DE VÍDEOS
TOOLTIP DE PROGRAMA
TOOLTIP DE PROGRAMA
TOOLTIP REMOTO
FILME VÍDEO
PROGRAMA
IDENTIFICAMOS
O QUE É ÚNICO
NO ECOSISTEMA
#
Categorizado
Categorizado
Somente trechos
Categorizado
Somente trechos
Íntegras para
assinantes
Lutadores
Lutadores
Competições
Lutadores
Competições
Eventos
Linguagem de filmes
Linguagem de filmes
Identidade para filmes
Linguagem de filmes
Identidade para filmes
Consumo para filmes
Programa/Série é
o mais relevante
Programa/Série é
o mais relevante
Linguagem para
episódios
Programa/Série é
o mais relevante
Linguagem para
episódios
Consumo para episódios
Agregador Globosat
Agregador Globosat
Consumo cross canal
Agregador Globosat
Consumo cross canal
Ao Vivo e On Demand
globosatplay.com
Filmes
Programas	
Séries	
Combate
QUEBRAMOS O SISTEMA
EM PARTES QUE
FAÇAM SENTIDO
#
QUEBRAMOS O SISTEMA
EM PARTES QUE
FAÇAM SENTIDO
#
COM APIs
globo.tv
Database
globo.tv
Product	
API
Database
globo.tv
Product	
API
Database
globo.tv
Product	
API
Database
globo.tv
Product	
API
Database
globo.tv
Product	
API
Ao Vivo
Database
Database
globo.tv
Product	
API
Ao Vivo
Database
Database
Combate
Database
globosatplay.com/combate
Product	
API
Combate
Database
globosatplay.com/combate
Product	
API
Combate
Database
globosatplay.com/combate
Product	
API
Combate
Database
Esportes	
API
globosatplay.com/combate
Product	
API
Combate
Database
Esportes	
API
Lutas
globosatplay.com/combate
Product	
API
Combate
Database
Ao Vivo	
API	
Esportes	
API
Lutas
globosatplay.com/combate
Product	
API
Combate
Database
Ao Vivo	
API	
Transmissões
Esportes	
API
Lutas
globosatplay.com/combate
Product	
API
Combate
Database
Ao Vivo	
API	
Transmissões
Esportes	
API
Lutas
globosatplay.com/combate
Product	
API
Combate
Database
Ao Vivo	
API	
Transmissões
Esportes	
API
Lutas
globosatplay.com/combate
Subscribe
Product	
API
Combate
Database
Ao Vivo	
API	
Transmissões
Esportes	
API
Lutas
globosatplay.com/combate
Publish
Subscribe
Ao Vivo
Database
globosatplay.com/premierefc
Product	
API
Ao Vivo
Database
globosatplay.com/premierefc
Product	
API
Ao Vivo
Database
globosatplay.com/premierefc
Product	
API
Ao Vivo
Database
Esportes	
API
globosatplay.com/premierefc
Product	
API
Ao Vivo
Database
Esportes	
API
Jogos
globosatplay.com/premierefc
Product	
API
Ao Vivo
Database
Footstats	
API	
Esportes	
API
Jogos
globosatplay.com/premierefc
Product	
API
Ao Vivo
Database
Footstats	
API	
Placar Real time
Esportes	
API
Jogos
globosatplay.com/premierefc
Filmes
Database
globosatplay.com/megapix
Product	
API
Filmes
Database
globosatplay.com/megapix
Product	
API
Filmes
Database
globosatplay.com/megapix
Product	
API
Filmes
Database
Ofertas	
API	
globosatplay.com/megapix
Product	
API
Filmes
Database
Ofertas	
API	
Trilhos Editoriais
globosatplay.com/megapix
Product	
API
Filmes
Database
Ofertas	
API	
Trilhos Editoriais
Recomendação	
API
globosatplay.com/megapix
Product	
API
Filmes
Database
Ofertas	
API	
Trilhos Editoriais
Recomendação	
API
Recomendação
globosatplay.com/megapix
Product	
API
Programas
Database
globosatplay.com/sportv
Product	
API
Programas
Database
Recomendação	
API
globosatplay.com/sportv
Product	
API
Programas
Database
Recomendação	
API
Recomendação
globosatplay.com/sportv
Home
Database
globosatplay.com
Product	
API
Home
Database
globosatplay.com
Product	
API
Home
Database
globosatplay.com
Product	
API
Home
Database
Ofertas	
API	
globosatplay.com
Product	
API
Home
Database
Ofertas	
API	
Trilhos Editoriais
globosatplay.com
Product	
API
Home
Database
Ofertas	
API	
Trilhos Editoriais
globosatplay.com
Ao Vivo	
API
Product	
API
Home
Database
Ofertas	
API	
Trilhos Editoriais
globosatplay.com
Ao Vivo	
API	
Transmissões
Product	
API
Home
Database
Ofertas	
API	
Trilhos Editoriais
Recomendação	
API
globosatplay.com
Ao Vivo	
API	
Transmissões
Product	
API
Home
Database
Ofertas	
API	
Trilhos Editoriais
Recomendação	
API
Recomendação
globosatplay.com
Ao Vivo	
API	
...
CRIAMOS UM
TOOLKIT DE
INTERFACE
#
~40
componentes
visuais
Título de seção
Título de seção
Pauta de seção
Título de seção
Thumb
Pauta de seção
Título de seção
Thumb
Pauta de seção
Paginação
Thumb
Thumb
Markup manual
Thumb
Thumb Markup manual
Thumb Markup manual
Rails Helper
Rails Helper
SASS/SCSS
Rails Helper
SASS/SCSS
RIGHT TOOL FOR THE JOB
UNIVERSAL JAVASCRIPT
REACT COMPONENT
REACT COMPONENT
Thumb
REACT COMPONENT
Thumb
Program
MODIFICAMOS O
PROCESSO DE
DEPLOYMENT
#
PROCESSO DO TIME
CODE
PROCESSO DO TIME
CODE
PROCESSO DO TIME
GITCODE
PROCESSO DO TIME
GITCODE
PROCESSO DO TIME
GITCODE CI
PROCESSO DO TIME
GITCODE CI
PROCESSO DO TIME
GITCODE CI QA
PROCESSO DO TIME
GITCODE CI QA
PROCESSO DO TIME
Auto
GITCODE CI QA
PROCESSO DO TIME
Auto	 Auto
GITCODE CI QA
PROCESSO DO TIME
Auto	 Auto	 Auto
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
CGH
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
CGH
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
GMUDCGH
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
GMUDCGH
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
GMUDCGH OP
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
GMUDCGH OP
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
GMUDCGH OP PROD
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
GMUDCGH OP PROD
Manual
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
GMUDCGH OP PROD
Manual	 Manual
GITCODE CI QA
PROCESSO DO TIME
SUBIDA PRA PRODUÇÃO
Auto	 Auto	 Auto	
GMUDCGH OP PROD
Manual	 Manual	 Manual
DEPLOY ATÉ QA
DEPLOY ATÉ QA
GITCODE CI QA
Auto	 Auto	 Auto
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
PROD	
blue
PROD	
green
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
PROD	
blue
PROD	
green
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
PROD	
blue
PROD	
green
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
Manual	
PROD	
blue
PROD	
green
CAP BLUE-GREEN DEPLOY
https://goo.gl/cNs23C
MODIFICAMOS O
PROCESSO DE CRIAÇÃO
DE NOVAS APLICAÇÕES
#
AMBIENTE DE QA
AMBIENTE DE QA
PEDIDO
AMBIENTE DE QA
EQUIPE	
INFRA
PEDIDO
AMBIENTE DE QA
EQUIPE	
INFRA
PEDIDO
AMBIENTE DE QA
EQUIPE	
INFRA
PEDIDO
AMBIENTE	
QA
AMBIENTE DE QA
EQUIPE	
INFRA
PEDIDO
AMBIENTE	
QA
AMBIENTE DE QA
EQUIPE	
INFRA
PEDIDO
Manual	
AMBIENTE	
QA
AMBIENTE DE QA
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
AMBIENTE DE QA
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
PEDIDO
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
EQUIPE	
INFRA
PEDIDO
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
EQUIPE	
INFRA
PEDIDO
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
EQUIPE	
INFRA
PEDIDO
AM...
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
EQUIPE	
INFRA
PEDIDO
AM...
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
EQUIPE	
INFRA
PEDIDO
Ma...
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
EQUIPE	
INFRA
PEDIDO
Ma...
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
EQUIPE	
INFRA
PEDIDO
Manual	 Manual/Auto	
AMBIENTE	
QA
~2 dias
EQUIPE	
INFRA
PEDIDO
Ma...
http://tsuru.io
AMBIENTE DE QA
AMBIENTE DE QA
COMANDO
AMBIENTE DE QA
TSURU	
SERVER
COMANDO
AMBIENTE DE QA
TSURU	
SERVER
COMANDO
AMBIENTE DE QA
TSURU	
SERVER
COMANDO
AMBIENTE	
QA
AMBIENTE DE QA
TSURU	
SERVER
COMANDO
AMBIENTE	
QA
AMBIENTE DE QA
TSURU	
SERVER
COMANDO
Manual	
AMBIENTE	
QA
AMBIENTE DE QA
TSURU	
SERVER
COMANDO
Manual	 Auto	
AMBIENTE	
QA
AMBIENTE DE QA
TSURU	
SERVER
COMANDO
Manual	 Auto	
AMBIENTE	
QA
Alguns segundos
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
TSURU	
SERVER
COMANDO
Manual	 Auto	
AMBIENTE	
QA
Alguns segundos
AMBIENTE DE QA
AMBIENTE DE PRODUÇÃO
TSURU	
SERVER
COMANDO
Manual	 Auto	
AMBIENTE	
QA
Alguns segundos
TSURU	
SERVER
COMANDO...
DEPLOY ATÉ QA
DEPLOY ATÉ QA
GITCODE CI QA
Auto	 Auto	 Auto
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
PROD	
blue
PROD	
green
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
PROD	
blue
PROD	
green
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
PROD	
blue
PROD	
green
DEPLOY ATÉ QA
DEPLOY PARA PRODUÇÃO
GITCODE CI QA
Auto	 Auto	 Auto	
DEV
Manual	
PROD	
blue
PROD	
green
TSURU BLUE-GREEN DEPLOY
domain.globoi.com
APP	
blue
APP	
green
TSURU BLUE-GREEN DEPLOY
domain.globoi.com
APP	
blue
APP	
green
TSURU BLUE-GREEN DEPLOY
domain.globoi.com
APP	
blue
APP	
green
TSURU BLUE-GREEN DEPLOY
domain.globoi.com
APP	
blue
APP	
green
TSURU BLUE-GREEN DEPLOY
domain.globoi.com
APP	
blue
APP	
green
https://goo.gl/YsWVQR
CRIAMOS RESILIÊNCIA
COM O USO
DE SERVIÇOS EXTERNOS
#
App
Redis
Serviço	
Externo	
Content Gateway
App
Redis
Serviço	
Externo	
Content Gateway
Cache read (service URI) - NOT FOUND
App
Redis
Serviço	
Externo	
Request
Content Gateway
Cache read (service URI) - NOT FOUND
App
Redis
Serviço	
Externo	
Request
Content Gateway
200 OK
Cache read (service URI) - NOT FOUND
App
Redis
Serviço	
Externo	
Request
Content Gateway
200 OK
Update cache (service URI) - TTL
Update cache stale (service UR...
App
Redis
Serviço	
Externo	
Content Gateway
App
Redis
Serviço	
Externo	
Content Gateway
Cache read (service URI) - FOUND
App
Redis
Serviço	
Externo	
Content Gateway
App
Redis
Serviço	
Externo	
Content Gateway
Cache read (service URI) - NOT FOUND
App
Redis
Serviço	
Externo	
Request
Content Gateway
Cache read (service URI) - NOT FOUND
App
Redis
Serviço	
Externo	
Request
Content Gateway
TIMEOUT / ERROR
Cache read (service URI) - NOT FOUND
App
Redis
Serviço	
Externo	
Request
Content Gateway
TIMEOUT / ERROR
Cache read stale (service URI) - FOUND
Cache read (ser...
App
Redis
Serviço	
Externo	
Content Gateway
App
Redis
Serviço	
Externo	
Content Gateway
Cache read (service URI) - NOT FOUND
App
Redis
Serviço	
Externo	
Request
Content Gateway
Cache read (service URI) - NOT FOUND
App
Redis
Serviço	
Externo	
Request
Content Gateway
TIMEOUT / ERROR
Cache read (service URI) - NOT FOUND
App
Redis
Serviço	
Externo	
Request
Content Gateway
TIMEOUT / ERROR
Cache read stale (service URI) - NOT FOUND
Cache read ...
Content Gateway
Content Gateway
Config
Content Gateway
Config
Invoke
Content Gateway
Config
Invoke
SSL
Content Gateway
Config
Invoke
SSL
Invoke
https://goo.gl/fg5Nzf
Nginx Proxy
External	
Caller	
Nginx Cache Stale
App
Nginx Proxy
External	
Caller	
Request
Nginx Cache Stale
App
Nginx Proxy
External	
Caller	
Request
Nginx Cache Stale
App
Nginx Proxy
External	
Caller	
Request
Nginx Cache Stale
Backend OK
App
Nginx Proxy
External	
Caller	
Request
Nginx Cache Stale
Backend Response
Backend OK
App
Nginx Proxy
External	
Caller	
Nginx Cache Stale
App
Nginx Proxy
External	
Caller	
Request
Nginx Cache Stale
App
Nginx Proxy
External	
Caller	
Request
Nginx Cache Stale
App
Nginx Proxy
External	
Caller	
Request
Nginx Cache Stale
Upstream Timeout / Error
App
Nginx Proxy
External	
Caller	
Request
Nginx Cache Stale
Return stale
Upstream Timeout / Error
App
Nginx Cache Stale
ESTAMOS AVALIANDO
CONSTANTEMENTE O QUE
NÃO ESTÁ FUNCIONANDO
#
Até 7 deploments para
mudanças simples
App
Redis
Serviço	
Externo	
Request
Content Gateway
TIMEOUT / ERROR
Cache read stale (service URI) - NOT FOUND
Cache read ...
App 1 Web
App 1 APIDatabase
Serviço	
Externo
App 1 Web
App 1 APIDatabase
Serviço	
Externo
App 1 Web
App 1 APIDatabase
Serviço	
Externo
App 1 Web
App 1 APIDatabase
Serviço	
Externo	
App 2 Web
App 1 Web
App 1 APIDatabase
Serviço	
Externo	
App 2 Web
XHR
gem "globotv-ui"
COMPLEXIDADE
COMPLEXIDADE
~50 repositórios git
COMPLEXIDADE
~50 repositórios git
Difícil explicar
COMPLEXIDADE
~50 repositórios git
Gerenciar integrações
Difícil explicar
COMPLEXIDADE
~50 repositórios git
Gerenciar integrações
Nem tudo é
o que parece :)
Difícil explicar
LIÇÕES	
APRENDIDAS
Estamos
contratando
Emerson Macedo
@emerleite
http://emerleite.com
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Qcon Rio 2015 - Microservices
Próximos SlideShares
Carregando em…5
×

Qcon Rio 2015 - Microservices

783 visualizações

Publicada em

Apresentando o case do Globo.tv e Globosat Play para Microservices.

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
783
No SlideShare
0
A partir de incorporações
0
Número de incorporações
139
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Qcon Rio 2015 - Microservices

  1. 1. Abrindo a caixa Microserviços globo.tv e globosat play Emerson Macedo globo.com @emerleite
  2. 2. Oferta Rede Globo
  3. 3. Oferta Rede Globo categorias
  4. 4. Oferta Rede Globo categorias busca
  5. 5. Vídeos abertos em trechos
  6. 6. Assinantes globo.com
  7. 7. Assinantes globo.com íntegras tv globo
  8. 8. Assinantes de tv a cabo/satélite
  9. 9. Assinantes de tv a cabo/satélite operadora
  10. 10. Canais Ao Vivo
  11. 11. Canais Ao Vivo Filmes
  12. 12. Canais Ao Vivo Filmes Séries
  13. 13. Canais Ao Vivo Filmes Séries Programas
  14. 14. COMO MANTER OS PRODUTOS DE VÍDEOS SEM DUPLICAR MUITO CÓDIGO?
  15. 15. RIGHT TOOL FOR THE JOB
  16. 16. IDENTIFICAMOS A ORGANIZAÇÃO DO NEGÓCIO #1
  17. 17. globo.tv
  18. 18. Ao Vivo Auth XP Logada WidgetsBuscaAPI
  19. 19. globosatplay.com
  20. 20. Filmes Programas Séries Combate Ao Vivo Auth XP Logada Oferta Editorial WidgetsBusca
  21. 21. globosatplay.com globo.tv Ao Vivo Auth XP Logada WidgetsBusca Product API
  22. 22. IDENTIFICAMOS OS COMPONENTES QUE SE REPETEM 2
  23. 23. PERFIL DO USUÁRIO
  24. 24. PERFIL DO USUÁRIO
  25. 25. PERFIL DO USUÁRIO
  26. 26. PERFIL DO USUÁRIO
  27. 27. PERFIL DO USUÁRIO
  28. 28. EXPERIÊNCIA LOGADA
  29. 29. EXPERIÊNCIA LOGADA
  30. 30. EXPERIÊNCIA LOGADA
  31. 31. LOGIN
  32. 32. LOGIN
  33. 33. LISTA EDITORIAL
  34. 34. LISTA EDITORIAL TRILHO EDITORIAL
  35. 35. LISTA EDITORIAL TRILHO EDITORIALOferta Editorial
  36. 36. TOOLTIP DE FILMES
  37. 37. TOOLTIP DE FILMES
  38. 38. TOOLTIP DE VÍDEOS
  39. 39. TOOLTIP DE VÍDEOS
  40. 40. TOOLTIP DE PROGRAMA
  41. 41. TOOLTIP DE PROGRAMA
  42. 42. TOOLTIP REMOTO FILME VÍDEO PROGRAMA
  43. 43. IDENTIFICAMOS O QUE É ÚNICO NO ECOSISTEMA #
  44. 44. Categorizado
  45. 45. Categorizado Somente trechos
  46. 46. Categorizado Somente trechos Íntegras para assinantes
  47. 47. Lutadores
  48. 48. Lutadores Competições
  49. 49. Lutadores Competições Eventos
  50. 50. Linguagem de filmes
  51. 51. Linguagem de filmes Identidade para filmes
  52. 52. Linguagem de filmes Identidade para filmes Consumo para filmes
  53. 53. Programa/Série é o mais relevante
  54. 54. Programa/Série é o mais relevante Linguagem para episódios
  55. 55. Programa/Série é o mais relevante Linguagem para episódios Consumo para episódios
  56. 56. Agregador Globosat
  57. 57. Agregador Globosat Consumo cross canal
  58. 58. Agregador Globosat Consumo cross canal Ao Vivo e On Demand
  59. 59. globosatplay.com Filmes Programas Séries Combate
  60. 60. QUEBRAMOS O SISTEMA EM PARTES QUE FAÇAM SENTIDO #
  61. 61. QUEBRAMOS O SISTEMA EM PARTES QUE FAÇAM SENTIDO # COM APIs
  62. 62. globo.tv Database
  63. 63. globo.tv Product API Database
  64. 64. globo.tv Product API Database
  65. 65. globo.tv Product API Database
  66. 66. globo.tv Product API Database
  67. 67. globo.tv Product API Ao Vivo Database Database
  68. 68. globo.tv Product API Ao Vivo Database Database
  69. 69. Combate Database globosatplay.com/combate
  70. 70. Product API Combate Database globosatplay.com/combate
  71. 71. Product API Combate Database globosatplay.com/combate
  72. 72. Product API Combate Database Esportes API globosatplay.com/combate
  73. 73. Product API Combate Database Esportes API Lutas globosatplay.com/combate
  74. 74. Product API Combate Database Ao Vivo API Esportes API Lutas globosatplay.com/combate
  75. 75. Product API Combate Database Ao Vivo API Transmissões Esportes API Lutas globosatplay.com/combate
  76. 76. Product API Combate Database Ao Vivo API Transmissões Esportes API Lutas globosatplay.com/combate
  77. 77. Product API Combate Database Ao Vivo API Transmissões Esportes API Lutas globosatplay.com/combate Subscribe
  78. 78. Product API Combate Database Ao Vivo API Transmissões Esportes API Lutas globosatplay.com/combate Publish Subscribe
  79. 79. Ao Vivo Database globosatplay.com/premierefc
  80. 80. Product API Ao Vivo Database globosatplay.com/premierefc
  81. 81. Product API Ao Vivo Database globosatplay.com/premierefc
  82. 82. Product API Ao Vivo Database Esportes API globosatplay.com/premierefc
  83. 83. Product API Ao Vivo Database Esportes API Jogos globosatplay.com/premierefc
  84. 84. Product API Ao Vivo Database Footstats API Esportes API Jogos globosatplay.com/premierefc
  85. 85. Product API Ao Vivo Database Footstats API Placar Real time Esportes API Jogos globosatplay.com/premierefc
  86. 86. Filmes Database globosatplay.com/megapix
  87. 87. Product API Filmes Database globosatplay.com/megapix
  88. 88. Product API Filmes Database globosatplay.com/megapix
  89. 89. Product API Filmes Database Ofertas API globosatplay.com/megapix
  90. 90. Product API Filmes Database Ofertas API Trilhos Editoriais globosatplay.com/megapix
  91. 91. Product API Filmes Database Ofertas API Trilhos Editoriais Recomendação API globosatplay.com/megapix
  92. 92. Product API Filmes Database Ofertas API Trilhos Editoriais Recomendação API Recomendação globosatplay.com/megapix
  93. 93. Product API Programas Database globosatplay.com/sportv
  94. 94. Product API Programas Database Recomendação API globosatplay.com/sportv
  95. 95. Product API Programas Database Recomendação API Recomendação globosatplay.com/sportv
  96. 96. Home Database globosatplay.com
  97. 97. Product API Home Database globosatplay.com
  98. 98. Product API Home Database globosatplay.com
  99. 99. Product API Home Database Ofertas API globosatplay.com
  100. 100. Product API Home Database Ofertas API Trilhos Editoriais globosatplay.com
  101. 101. Product API Home Database Ofertas API Trilhos Editoriais globosatplay.com Ao Vivo API
  102. 102. Product API Home Database Ofertas API Trilhos Editoriais globosatplay.com Ao Vivo API Transmissões
  103. 103. Product API Home Database Ofertas API Trilhos Editoriais Recomendação API globosatplay.com Ao Vivo API Transmissões
  104. 104. Product API Home Database Ofertas API Trilhos Editoriais Recomendação API Recomendação globosatplay.com Ao Vivo API Transmissões
  105. 105. CRIAMOS UM TOOLKIT DE INTERFACE #
  106. 106. ~40 componentes visuais
  107. 107. Título de seção
  108. 108. Título de seção Pauta de seção
  109. 109. Título de seção Thumb Pauta de seção
  110. 110. Título de seção Thumb Pauta de seção Paginação
  111. 111. Thumb
  112. 112. Thumb Markup manual
  113. 113. Thumb
  114. 114. Thumb Markup manual
  115. 115. Thumb Markup manual
  116. 116. Rails Helper
  117. 117. Rails Helper SASS/SCSS
  118. 118. Rails Helper SASS/SCSS
  119. 119. RIGHT TOOL FOR THE JOB
  120. 120. UNIVERSAL JAVASCRIPT
  121. 121. REACT COMPONENT
  122. 122. REACT COMPONENT Thumb
  123. 123. REACT COMPONENT Thumb Program
  124. 124. MODIFICAMOS O PROCESSO DE DEPLOYMENT #
  125. 125. PROCESSO DO TIME
  126. 126. CODE PROCESSO DO TIME
  127. 127. CODE PROCESSO DO TIME
  128. 128. GITCODE PROCESSO DO TIME
  129. 129. GITCODE PROCESSO DO TIME
  130. 130. GITCODE CI PROCESSO DO TIME
  131. 131. GITCODE CI PROCESSO DO TIME
  132. 132. GITCODE CI QA PROCESSO DO TIME
  133. 133. GITCODE CI QA PROCESSO DO TIME Auto
  134. 134. GITCODE CI QA PROCESSO DO TIME Auto Auto
  135. 135. GITCODE CI QA PROCESSO DO TIME Auto Auto Auto
  136. 136. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto
  137. 137. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto CGH
  138. 138. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto CGH
  139. 139. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto GMUDCGH
  140. 140. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto GMUDCGH
  141. 141. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto GMUDCGH OP
  142. 142. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto GMUDCGH OP
  143. 143. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto GMUDCGH OP PROD
  144. 144. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto GMUDCGH OP PROD Manual
  145. 145. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto GMUDCGH OP PROD Manual Manual
  146. 146. GITCODE CI QA PROCESSO DO TIME SUBIDA PRA PRODUÇÃO Auto Auto Auto GMUDCGH OP PROD Manual Manual Manual
  147. 147. DEPLOY ATÉ QA
  148. 148. DEPLOY ATÉ QA GITCODE CI QA Auto Auto Auto
  149. 149. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto
  150. 150. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV
  151. 151. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV PROD blue PROD green
  152. 152. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV PROD blue PROD green
  153. 153. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV PROD blue PROD green
  154. 154. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV Manual PROD blue PROD green
  155. 155. CAP BLUE-GREEN DEPLOY
  156. 156. https://goo.gl/cNs23C
  157. 157. MODIFICAMOS O PROCESSO DE CRIAÇÃO DE NOVAS APLICAÇÕES #
  158. 158. AMBIENTE DE QA
  159. 159. AMBIENTE DE QA PEDIDO
  160. 160. AMBIENTE DE QA EQUIPE INFRA PEDIDO
  161. 161. AMBIENTE DE QA EQUIPE INFRA PEDIDO
  162. 162. AMBIENTE DE QA EQUIPE INFRA PEDIDO AMBIENTE QA
  163. 163. AMBIENTE DE QA EQUIPE INFRA PEDIDO AMBIENTE QA
  164. 164. AMBIENTE DE QA EQUIPE INFRA PEDIDO Manual AMBIENTE QA
  165. 165. AMBIENTE DE QA EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA
  166. 166. AMBIENTE DE QA EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias
  167. 167. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias
  168. 168. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias PEDIDO
  169. 169. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias EQUIPE INFRA PEDIDO
  170. 170. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias EQUIPE INFRA PEDIDO
  171. 171. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias EQUIPE INFRA PEDIDO AMBIENTE PROD
  172. 172. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias EQUIPE INFRA PEDIDO AMBIENTE PROD
  173. 173. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias EQUIPE INFRA PEDIDO Manual AMBIENTE PROD
  174. 174. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias EQUIPE INFRA PEDIDO Manual Manual AMBIENTE PROD
  175. 175. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO EQUIPE INFRA PEDIDO Manual Manual/Auto AMBIENTE QA ~2 dias EQUIPE INFRA PEDIDO Manual Manual AMBIENTE PROD ~2 semanas
  176. 176. http://tsuru.io
  177. 177. AMBIENTE DE QA
  178. 178. AMBIENTE DE QA COMANDO
  179. 179. AMBIENTE DE QA TSURU SERVER COMANDO
  180. 180. AMBIENTE DE QA TSURU SERVER COMANDO
  181. 181. AMBIENTE DE QA TSURU SERVER COMANDO AMBIENTE QA
  182. 182. AMBIENTE DE QA TSURU SERVER COMANDO AMBIENTE QA
  183. 183. AMBIENTE DE QA TSURU SERVER COMANDO Manual AMBIENTE QA
  184. 184. AMBIENTE DE QA TSURU SERVER COMANDO Manual Auto AMBIENTE QA
  185. 185. AMBIENTE DE QA TSURU SERVER COMANDO Manual Auto AMBIENTE QA Alguns segundos
  186. 186. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO TSURU SERVER COMANDO Manual Auto AMBIENTE QA Alguns segundos
  187. 187. AMBIENTE DE QA AMBIENTE DE PRODUÇÃO TSURU SERVER COMANDO Manual Auto AMBIENTE QA Alguns segundos TSURU SERVER COMANDO Manual Manual AMBIENTE PROD Alguns segundos
  188. 188. DEPLOY ATÉ QA
  189. 189. DEPLOY ATÉ QA GITCODE CI QA Auto Auto Auto
  190. 190. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto
  191. 191. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV
  192. 192. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV PROD blue PROD green
  193. 193. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV PROD blue PROD green
  194. 194. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV PROD blue PROD green
  195. 195. DEPLOY ATÉ QA DEPLOY PARA PRODUÇÃO GITCODE CI QA Auto Auto Auto DEV Manual PROD blue PROD green
  196. 196. TSURU BLUE-GREEN DEPLOY domain.globoi.com APP blue APP green
  197. 197. TSURU BLUE-GREEN DEPLOY domain.globoi.com APP blue APP green
  198. 198. TSURU BLUE-GREEN DEPLOY domain.globoi.com APP blue APP green
  199. 199. TSURU BLUE-GREEN DEPLOY domain.globoi.com APP blue APP green
  200. 200. TSURU BLUE-GREEN DEPLOY domain.globoi.com APP blue APP green
  201. 201. https://goo.gl/YsWVQR
  202. 202. CRIAMOS RESILIÊNCIA COM O USO DE SERVIÇOS EXTERNOS #
  203. 203. App Redis Serviço Externo Content Gateway
  204. 204. App Redis Serviço Externo Content Gateway Cache read (service URI) - NOT FOUND
  205. 205. App Redis Serviço Externo Request Content Gateway Cache read (service URI) - NOT FOUND
  206. 206. App Redis Serviço Externo Request Content Gateway 200 OK Cache read (service URI) - NOT FOUND
  207. 207. App Redis Serviço Externo Request Content Gateway 200 OK Update cache (service URI) - TTL Update cache stale (service URI) - TTL Cache read (service URI) - NOT FOUND
  208. 208. App Redis Serviço Externo Content Gateway
  209. 209. App Redis Serviço Externo Content Gateway Cache read (service URI) - FOUND
  210. 210. App Redis Serviço Externo Content Gateway
  211. 211. App Redis Serviço Externo Content Gateway Cache read (service URI) - NOT FOUND
  212. 212. App Redis Serviço Externo Request Content Gateway Cache read (service URI) - NOT FOUND
  213. 213. App Redis Serviço Externo Request Content Gateway TIMEOUT / ERROR Cache read (service URI) - NOT FOUND
  214. 214. App Redis Serviço Externo Request Content Gateway TIMEOUT / ERROR Cache read stale (service URI) - FOUND Cache read (service URI) - NOT FOUND
  215. 215. App Redis Serviço Externo Content Gateway
  216. 216. App Redis Serviço Externo Content Gateway Cache read (service URI) - NOT FOUND
  217. 217. App Redis Serviço Externo Request Content Gateway Cache read (service URI) - NOT FOUND
  218. 218. App Redis Serviço Externo Request Content Gateway TIMEOUT / ERROR Cache read (service URI) - NOT FOUND
  219. 219. App Redis Serviço Externo Request Content Gateway TIMEOUT / ERROR Cache read stale (service URI) - NOT FOUND Cache read (service URI) - NOT FOUND
  220. 220. Content Gateway
  221. 221. Content Gateway Config
  222. 222. Content Gateway Config Invoke
  223. 223. Content Gateway Config Invoke SSL
  224. 224. Content Gateway Config Invoke SSL Invoke
  225. 225. https://goo.gl/fg5Nzf
  226. 226. Nginx Proxy External Caller Nginx Cache Stale App
  227. 227. Nginx Proxy External Caller Request Nginx Cache Stale App
  228. 228. Nginx Proxy External Caller Request Nginx Cache Stale App
  229. 229. Nginx Proxy External Caller Request Nginx Cache Stale Backend OK App
  230. 230. Nginx Proxy External Caller Request Nginx Cache Stale Backend Response Backend OK App
  231. 231. Nginx Proxy External Caller Nginx Cache Stale App
  232. 232. Nginx Proxy External Caller Request Nginx Cache Stale App
  233. 233. Nginx Proxy External Caller Request Nginx Cache Stale App
  234. 234. Nginx Proxy External Caller Request Nginx Cache Stale Upstream Timeout / Error App
  235. 235. Nginx Proxy External Caller Request Nginx Cache Stale Return stale Upstream Timeout / Error App
  236. 236. Nginx Cache Stale
  237. 237. ESTAMOS AVALIANDO CONSTANTEMENTE O QUE NÃO ESTÁ FUNCIONANDO #
  238. 238. Até 7 deploments para mudanças simples
  239. 239. App Redis Serviço Externo Request Content Gateway TIMEOUT / ERROR Cache read stale (service URI) - NOT FOUND Cache read (service URI) - NOT FOUND
  240. 240. App 1 Web App 1 APIDatabase Serviço Externo
  241. 241. App 1 Web App 1 APIDatabase Serviço Externo
  242. 242. App 1 Web App 1 APIDatabase Serviço Externo
  243. 243. App 1 Web App 1 APIDatabase Serviço Externo App 2 Web
  244. 244. App 1 Web App 1 APIDatabase Serviço Externo App 2 Web XHR
  245. 245. gem "globotv-ui"
  246. 246. COMPLEXIDADE
  247. 247. COMPLEXIDADE ~50 repositórios git
  248. 248. COMPLEXIDADE ~50 repositórios git Difícil explicar
  249. 249. COMPLEXIDADE ~50 repositórios git Gerenciar integrações Difícil explicar
  250. 250. COMPLEXIDADE ~50 repositórios git Gerenciar integrações Nem tudo é o que parece :) Difícil explicar
  251. 251. LIÇÕES APRENDIDAS
  252. 252. Estamos contratando Emerson Macedo @emerleite http://emerleite.com

×