O CartolaFC e o processo de desenvolvimento na globo.com
-
Upload
alexandre-saboia-fuziyama -
Category
Technology
-
view
780 -
download
2
description
Transcript of O CartolaFC e o processo de desenvolvimento na globo.com
![Page 1: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/1.jpg)
O CartolaFC e o processo de desenvolvimento na
globo.com
![Page 2: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/2.jpg)
Alexandre Saboia
[email protected] @alexandresaboia
- bacharel em informática PUC-Rio
- web developer - ~ 10 anos de globo.com - ~ 6 anos em equipes ágeis
![Page 3: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/3.jpg)
![Page 4: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/4.jpg)
![Page 5: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/5.jpg)
14 anos de estrada
![Page 6: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/6.jpg)
45 milhões de acessos/dia
![Page 7: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/7.jpg)
+500 funcionários
![Page 8: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/8.jpg)
+35 times de desenvolvimento
![Page 9: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/9.jpg)
Trabalho em equipe!
![Page 10: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/10.jpg)
http://sendamessage.to/dist/images/thumbsup-700/18.jpg
![Page 11: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/11.jpg)
globoesporte.com
![Page 12: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/12.jpg)
éramos assim…
![Page 13: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/13.jpg)
http://www.oldclitheroe.co.uk/railwaystation2.jpg
desenvolvimento de software clássico
fases: análise de requisitos especificação arquitetura implementação testes documentação suporte e treinamento manutenção
![Page 14: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/14.jpg)
waterfall !
![Page 15: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/15.jpg)
agora, estamos assim:
![Page 16: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/16.jpg)
times multidisciplinares
http://www.sbcoaching.com.br/blog/wp-content/uploads/2013/08/equipe-maos.jpg
e auto-organizáveis !
![Page 17: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/17.jpg)
http://talksport.com/sites/default/files/tscouk_old_image/blog/Scrum_0.jpg
![Page 18: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/18.jpg)
incremental x interativo
![Page 19: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/19.jpg)
metodologia ágil
![Page 20: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/20.jpg)
times compostos por: !
• arquiteto de informação e designer • desenvolvedor de software
• backend + frontend • product owner e scrum master !
• especialista em banco de dados • especialista em infraestrutura
![Page 21: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/21.jpg)
![Page 22: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/22.jpg)
![Page 23: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/23.jpg)
de olho na qualidade!
![Page 24: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/24.jpg)
![Page 25: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/25.jpg)
![Page 26: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/26.jpg)
Reviews
![Page 27: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/27.jpg)
opensource +
colaboração
![Page 28: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/28.jpg)
opensource.globo.com
![Page 29: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/29.jpg)
+110 colaboradores internos
![Page 30: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/30.jpg)
+80 repositórios abertos
![Page 31: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/31.jpg)
![Page 32: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/32.jpg)
+
![Page 33: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/33.jpg)
+
![Page 34: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/34.jpg)
github.com/globocom https://assets-cdn.github.com/images/modules/logos_page/Octocat.png
![Page 35: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/35.jpg)
![Page 36: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/36.jpg)
minha estação de trabalho!
![Page 37: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/37.jpg)
![Page 38: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/38.jpg)
além disto…
![Page 39: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/39.jpg)
Hackday
![Page 40: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/40.jpg)
Big Review!
![Page 41: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/41.jpg)
Cursos
![Page 42: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/42.jpg)
Workshops
![Page 43: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/43.jpg)
Javali de Ouro!
![Page 44: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/44.jpg)
![Page 45: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/45.jpg)
![Page 46: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/46.jpg)
![Page 47: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/47.jpg)
550,000
700,000
850,000
1,000,000
1,150,000
1,300,000
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37
1.283.676times salvos em uma única rodada !
!
!mais de 3.000.000 de times 2010
2012
2011
![Page 48: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/48.jpg)
cartolafcacessos simultâneos
![Page 49: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/49.jpg)
Desenvolver uma aplicação, que suporte o volume de acesso do cartolafc, com alta performance e disponibilidade.
o desafio:
![Page 50: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/50.jpg)
cartolafco pioneiro
http://nginx.org/https://github.com/nginx/nginx
http://www.tornadoweb.org/en/stable/https://github.com/tornadoweb/tornado
![Page 51: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/51.jpg)
http://www.apache.org/
presente na maioria das aplicações da globo.com
![Page 52: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/52.jpg)
http://blog.webfaction.com/2008/12/a-little-holiday-present-10000-reqssec-with-nginx-2/
A little holiday present: 10,000 reqs/sec with Nginx!
x
![Page 53: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/53.jpg)
Principais módulos: !- Proxy Cache - Load Balancer - SSI Dinâmico - Nginx Pushstream
![Page 54: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/54.jpg)
https://developers.facebook.com/blog/post/301
![Page 55: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/55.jpg)
Principais características: !- opensource - simples - alta performance - não bloqueante I/O - consumo baixo de recursos
![Page 56: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/56.jpg)
![Page 57: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/57.jpg)
cartolafctecnologias aplicadas
PUSH STREAM
beanstalkd
asyncmongo
![Page 58: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/58.jpg)
cartolafcarquitetura da aplicação
![Page 59: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/59.jpg)
cartolafcarquitetura da aplicação
tornado
repository template
controller
model
![Page 60: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/60.jpg)
PUSH STREAM
beanstalkd
7 x
DEAMON x 5
cartolafca idéia de box
. . . NPUSH STREAM
beanstalkd
7 x
DEAMON x 5
PUSH STREAM
beanstalkd
7 x
DEAMON x 5
PUSH STREAM
beanstalkd
7 x
DEAMON x 5
PUSH STREAM
beanstalkd
7 x
DEAMON x 5
![Page 61: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/61.jpg)
cartolafcarquitetura do banco de dados
Slave
Master
vip de leitura
vip de escrita
![Page 62: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/62.jpg)
24 Cores
cartolafcprocessamento da rodada
24 Cores ...
multiprocesso
1,5 milhão de times X 12 atletas X 38 rodadas = 684.000.000 de linhas = 20%
![Page 63: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/63.jpg)
cartolafcclient side
Principais pontos: !- navegação em javascript (sem reload) - jQuery - redução no número de requests - sprites e otimização nas imagens - minify javascript
![Page 64: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/64.jpg)
cartolafctestes automatizados
![Page 65: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/65.jpg)
cartolafcdeployment pipeline
![Page 66: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/66.jpg)
cartolafctestes de performance
Principais pontos: !- testes feitos ao longo de todo o desenvolvimento do game
- cenários de testes simulando um uso em produção
- testes de novas tecnologias para sair de gargalos
![Page 67: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/67.jpg)
cartolafctestes de performance
benchmark
http://httpd.apache.org/docs/2.2/programs/ab.html
$ ab -n 1000 -c 5 http://202.54.200.1/test.html-n 1000: ab will send 1000 number of requests -c 5 : 5 is concurrency number
![Page 68: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/68.jpg)
cartolafcreferências
- http://pt.slideshare.net/davidsonfellipe/como-e-trabalhar-na-globocom !
- http://pt.slideshare.net/marcelnicolay/cartolafc-uma-aplicao-python-rpida-e-escalvel-pythonbrasil-6
!- http://pt.slideshare.net/rveiga/rveiga-agilidaderecife2013
!- http://speakerdeck.com/saboia/tornado-plus-mongodb-
plus-nginxpushstream-equals-newsfeed-no-cartolafc
![Page 69: O CartolaFC e o processo de desenvolvimento na globo.com](https://reader031.fdocumentos.tips/reader031/viewer/2022012402/559e5aff1a28ab35018b456c/html5/thumbnails/69.jpg)
perguntas?