o cartolafc e o processo de desenvolvimento na globo.com

Post on 09-Jul-2015

779 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

saboia@corp.globo.com @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?

obrigado!

Alexandre Saboia

saboia@corp.globo.com @alexandresaboia

top related