o cartolafc e o processo de desenvolvimento na globo.com
DESCRIPTION
A palestra abordará como foi criado o CartolaFC, a escolha da sua arquitetura, como foi o processo de desenvolvimento, e o dia a dia de trabalho na globo.com.TRANSCRIPT
O CartolaFC e o processo de desenvolvimento na
globo.com
Alexandre Saboia
[email protected] @alexandresaboia
- bacharel em informática PUC-Rio
- web developer - ~ 10 anos de globo.com - ~ 6 anos em equipes ágeis
14 anos de estrada
45 milhões de acessos/dia
+500 funcionários
+35 times de desenvolvimento
Trabalho em equipe!
http://sendamessage.to/dist/images/thumbsup-700/18.jpg
globoesporte.com
éramos assim…
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
waterfall !
agora, estamos assim:
times multidisciplinares
http://www.sbcoaching.com.br/blog/wp-content/uploads/2013/08/equipe-maos.jpg
e auto-organizáveis !
http://talksport.com/sites/default/files/tscouk_old_image/blog/Scrum_0.jpg
incremental x interativo
metodologia ágil
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
de olho na qualidade!
Reviews
opensource +
colaboração
opensource.globo.com
+110 colaboradores internos
+80 repositórios abertos
+
+
github.com/globocom https://assets-cdn.github.com/images/modules/logos_page/Octocat.png
minha estação de trabalho!
além disto…
Hackday
Big Review!
Cursos
Workshops
Javali de Ouro!
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
cartolafcacessos simultâneos
Desenvolver uma aplicação, que suporte o volume de acesso do cartolafc, com alta performance e disponibilidade.
o desafio:
cartolafco pioneiro
http://nginx.org/https://github.com/nginx/nginx
http://www.tornadoweb.org/en/stable/https://github.com/tornadoweb/tornado
http://www.apache.org/
presente na maioria das aplicações da globo.com
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
Principais módulos: !- Proxy Cache - Load Balancer - SSI Dinâmico - Nginx Pushstream
https://developers.facebook.com/blog/post/301
Principais características: !- opensource - simples - alta performance - não bloqueante I/O - consumo baixo de recursos
cartolafctecnologias aplicadas
PUSH STREAM
beanstalkd
asyncmongo
cartolafcarquitetura da aplicação
cartolafcarquitetura da aplicação
tornado
repository template
controller
model
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
cartolafcarquitetura do banco de dados
Slave
Master
vip de leitura
vip de escrita
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%
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
cartolafctestes automatizados
cartolafcdeployment pipeline
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
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
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
perguntas?