deployment, capacity planning, escalabilidade  e outros  tópicos que   deveriam   ser mais abordados   em eventos como ess...
= web operations George Guimarães [email_address] Rails Summit 2008
fator econômico também é importante
Person.find_by_name(“George Guimarães”) <ul><li>engenheiro pela Escola Politécnica </li></ul><ul><li>23 anos </li></ul><ul...
 
 
 
 
 
<ul><li>De onde veio o  </li></ul>? <ul><li>200 equipes participantes </li></ul><ul><li>92 entregaram aplicativos rodando ...
 
?
desenvolvimento produção escalabilidade
<ul><li>Hospedagem compartilhada </li></ul><ul><li>VPS (virtual private server) </li></ul><ul><ul><li>mini-clouds da Locaw...
como rodar em produção ?
requisição web típica Gateway porta 80 dinâmico? HTTP Request não sim gateways Apache pound nginx
caso 1 Apache + mod_rails + ruby enterprise edition Hongli Lai e Ninh Bui estão aqui!
caso 2 nginx + thin + ruby enterprise edition (?) Igor Sysoev e Marc-André NÃO estão aqui!
como enviar meu código  para produção ?
Capistrano SVN / GIT Servidor(es)
Capistrano Servidor(es) cap deploy SVN / GIT
Capistrano Servidor(es) cap deploy SVN / GIT
Capistrano para a Locaweb gem sources -a http://gems.github.com  sudo gem install akitaonrails-locarails  cd seu_projeto  ...
monitoramento
Nagios chato  de configurar mas funciona muito bem mas é  chato sério...
ganglia Berkeley distribuído visão  agregada
munin <ul><li>foco em performance </li></ul><ul><li>gráficos, muitos gráficos </li></ul>
 
 
Monitorar é importante? <ul><li>Achar limites da sua arquitetura </li></ul><ul><li>Permite descobrir gargalos </li></ul><u...
 
capacity planning e escalabilidade
Rails escala?
que diabos é escalabilidade ?!
que diabos é escalabilidade ?! “ propriedade de um sistema de  aumentar  e não entrar em  colapso ”
<ul><li>Rede </li></ul><ul><li>Load balancer </li></ul><ul><li>Banco de dados </li></ul><ul><li>Sistema operacional </li><...
o problema é do Rails ou  da arquitetura ?
como quantificar ‘escalabilidade’ será que é possível ?
Guerilla Capacity Planning e Lei Universal de Escalabilidade !
capacity planning não é novidade…
<ul><li>Neil Gunther </li></ul><ul><li>PARC, na área de multiprocessadores </li></ul><ul><li>Desenvolveu PDQ (Pretty Damn ...
Guerrilla manual <ul><li>Horizonte de planejamento: 3 meses </li></ul>
Guerrilla manual <ul><li>Capacity planning não é apenas sobre o futuro </li></ul><ul><ul><li>Queremos  mais  dos nossos re...
Guerrilla manual <ul><li>A falácia do “hardware é barato” </li></ul><ul><ul><li>seu software  tira proveito  de mais hardw...
Guerrilla manual <ul><li>Gargalos (bottlenecks)  </li></ul><ul><ul><li>Você  nunca remove  um gargalo, apenas adia o probl...
Guerrilla manual <ul><li>Gargalos (bottlenecks)  </li></ul><ul><ul><li>Você  nunca remove  um gargalo, apenas adia o probl...
Guerrilla manual <ul><li>Capacity planning não é trivial </li></ul><ul><ul><li>Nós pensamos  linearmente </li></ul></ul><u...
Lei Universal de Escalabilidade
Mundo ideal número de usuários ou requests/s número de  requests (bem) atendidos/s
1º problema: serial vs paralelo número de  tarefas feitas/s número de processadores
no Pagestacker... documento web crawler mecanismo de busca banco de dados thumbnail identificação de idioma! yay! paralelo...
1º problema: serial vs paralelo número de  tarefas feitas/s número de processadores
1º problema: serial vs paralelo número de  tarefas feitas/s número de processadores também conhecido como a  lei de Amhdal
2º problema: gargalos número de usuários ou requests/s número de  requests (bem) atendidos/s
 
 
Lei Universal de Escalabilidade <ul><li>arrays de disco, SAN </li></ul><ul><li>processadores multicore </li></ul><ul><li>c...
a idéia do GCaP não é ser um GPS…
… é ser mais como uma bússola
pense em métodos ágeis… mas é para infra!
<ul><li>John Allspaw </li></ul><ul><li>Engenheiro de operações do Flickr </li></ul><ul><li>Apresentou na Velocity 2008 </l...
Recapitulando... <ul><li>Faça  código , mas  deployment  também é importante. </li></ul><ul><li>Gere  métricas . Você só c...
<ul><li>www.pagestacker.com </li></ul>
Tks flickr users! <ul><li>http://www.flickr.com/photos/cote/54408562/ </li></ul><ul><li>http://flickr.com/photos/mocambiqu...
Muito obrigado!  Dúvidas? George Guimarães http://georgeguimaraes.com [email_address] twitter: @georgeguimaraes
<ul><li>www.pagestacker.com </li></ul>George Guimarães http://georgeguimaraes.com [email_address] twitter: @georgeguimaraes
Próximos SlideShares
Carregando em…5
×

Rails Summit 2008 - Web Operations - George Guimarães - Pagestacker

1.778 visualizações

Publicada em

Apresentação no Rails Summit.

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

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.778
No SlideShare
0
A partir de incorporações
0
Número de incorporações
213
Ações
Compartilhamentos
0
Downloads
20
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Rails Summit 2008 - Web Operations - George Guimarães - Pagestacker

    1. 1. deployment, capacity planning, escalabilidade e outros tópicos que deveriam ser mais abordados em eventos como esse... George Guimarães [email_address] Rails Summit 2008
    2. 2. = web operations George Guimarães [email_address] Rails Summit 2008
    3. 3. fator econômico também é importante
    4. 4. Person.find_by_name(“George Guimarães”) <ul><li>engenheiro pela Escola Politécnica </li></ul><ul><li>23 anos </li></ul><ul><li>apaixonado por infra-estrutura </li></ul><ul><li>co-fundador do Pagestacker </li></ul>
    5. 10. <ul><li>De onde veio o </li></ul>? <ul><li>200 equipes participantes </li></ul><ul><li>92 entregaram aplicativos rodando </li></ul>
    6. 12. ?
    7. 13. desenvolvimento produção escalabilidade
    8. 14. <ul><li>Hospedagem compartilhada </li></ul><ul><li>VPS (virtual private server) </li></ul><ul><ul><li>mini-clouds da Locaweb </li></ul></ul><ul><li>Servidores dedicados </li></ul><ul><ul><li>uau! muita performance! </li></ul></ul>Opções de máquinas
    9. 15. como rodar em produção ?
    10. 16. requisição web típica Gateway porta 80 dinâmico? HTTP Request não sim gateways Apache pound nginx
    11. 17. caso 1 Apache + mod_rails + ruby enterprise edition Hongli Lai e Ninh Bui estão aqui!
    12. 18. caso 2 nginx + thin + ruby enterprise edition (?) Igor Sysoev e Marc-André NÃO estão aqui!
    13. 19. como enviar meu código para produção ?
    14. 20. Capistrano SVN / GIT Servidor(es)
    15. 21. Capistrano Servidor(es) cap deploy SVN / GIT
    16. 22. Capistrano Servidor(es) cap deploy SVN / GIT
    17. 23. Capistrano para a Locaweb gem sources -a http://gems.github.com sudo gem install akitaonrails-locarails cd seu_projeto locarails . [... responder as questoes ...] cap deploy:setup cap deploy
    18. 24. monitoramento
    19. 25. Nagios chato de configurar mas funciona muito bem mas é chato sério...
    20. 26. ganglia Berkeley distribuído visão agregada
    21. 27. munin <ul><li>foco em performance </li></ul><ul><li>gráficos, muitos gráficos </li></ul>
    22. 30. Monitorar é importante? <ul><li>Achar limites da sua arquitetura </li></ul><ul><li>Permite descobrir gargalos </li></ul><ul><li>Anormalidades e picos de uso </li></ul><ul><li>Previsão de falta de recursos </li></ul><ul><li>$$$ </li></ul>
    23. 32. capacity planning e escalabilidade
    24. 33. Rails escala?
    25. 34. que diabos é escalabilidade ?!
    26. 35. que diabos é escalabilidade ?! “ propriedade de um sistema de aumentar e não entrar em colapso ”
    27. 36. <ul><li>Rede </li></ul><ul><li>Load balancer </li></ul><ul><li>Banco de dados </li></ul><ul><li>Sistema operacional </li></ul><ul><li>APIs externas </li></ul><ul><li>Discos rígidos </li></ul><ul><li>CPU </li></ul><ul><li>Mercado financeiro </li></ul><ul><li>LHC </li></ul>eles escalam junto?
    28. 37. o problema é do Rails ou da arquitetura ?
    29. 38. como quantificar ‘escalabilidade’ será que é possível ?
    30. 39. Guerilla Capacity Planning e Lei Universal de Escalabilidade !
    31. 40. capacity planning não é novidade…
    32. 41. <ul><li>Neil Gunther </li></ul><ul><li>PARC, na área de multiprocessadores </li></ul><ul><li>Desenvolveu PDQ (Pretty Damn Quick) </li></ul><ul><li>Consultoria através da Performance Dynamics </li></ul><ul><li>Autor do Guerrilla Capacity Planning (GCaP) </li></ul>
    33. 42. Guerrilla manual <ul><li>Horizonte de planejamento: 3 meses </li></ul>
    34. 43. Guerrilla manual <ul><li>Capacity planning não é apenas sobre o futuro </li></ul><ul><ul><li>Queremos mais dos nossos recursos atuais </li></ul></ul>
    35. 44. Guerrilla manual <ul><li>A falácia do “hardware é barato” </li></ul><ul><ul><li>seu software tira proveito de mais hardware? </li></ul></ul>
    36. 45. Guerrilla manual <ul><li>Gargalos (bottlenecks) </li></ul><ul><ul><li>Você nunca remove um gargalo, apenas adia o problema </li></ul></ul>
    37. 46. Guerrilla manual <ul><li>Gargalos (bottlenecks) </li></ul><ul><ul><li>Você nunca remove um gargalo, apenas adia o problema </li></ul></ul>
    38. 47. Guerrilla manual <ul><li>Capacity planning não é trivial </li></ul><ul><ul><li>Nós pensamos linearmente </li></ul></ul><ul><ul><li>Hardware e software são não-lineares </li></ul></ul>
    39. 48. Lei Universal de Escalabilidade
    40. 49. Mundo ideal número de usuários ou requests/s número de requests (bem) atendidos/s
    41. 50. 1º problema: serial vs paralelo número de tarefas feitas/s número de processadores
    42. 51. no Pagestacker... documento web crawler mecanismo de busca banco de dados thumbnail identificação de idioma! yay! paralelo serial
    43. 52. 1º problema: serial vs paralelo número de tarefas feitas/s número de processadores
    44. 53. 1º problema: serial vs paralelo número de tarefas feitas/s número de processadores também conhecido como a lei de Amhdal
    45. 54. 2º problema: gargalos número de usuários ou requests/s número de requests (bem) atendidos/s
    46. 57. Lei Universal de Escalabilidade <ul><li>arrays de disco, SAN </li></ul><ul><li>processadores multicore </li></ul><ul><li>certos tipos de I/O de rede </li></ul><ul><li>para modelar carga de usuários </li></ul>
    47. 58. a idéia do GCaP não é ser um GPS…
    48. 59. … é ser mais como uma bússola
    49. 60. pense em métodos ágeis… mas é para infra!
    50. 61. <ul><li>John Allspaw </li></ul><ul><li>Engenheiro de operações do Flickr </li></ul><ul><li>Apresentou na Velocity 2008 </li></ul><ul><li>Autor do The Art of Capacity Planning </li></ul><ul><ul><li>Método low math </li></ul></ul>
    51. 62. Recapitulando... <ul><li>Faça código , mas deployment também é importante. </li></ul><ul><li>Gere métricas . Você só consegue gerenciar aquilo que você mede. </li></ul><ul><li>Capacity Planning não é só teoria . </li></ul><ul><li>Escalabilidade está no software . Lembre-se disso! </li></ul>
    52. 63. <ul><li>www.pagestacker.com </li></ul>
    53. 64. Tks flickr users! <ul><li>http://www.flickr.com/photos/cote/54408562/ </li></ul><ul><li>http://flickr.com/photos/mocambique/441710601 </li></ul><ul><li>http://www.flickr.com/photos/minipixel/1499346710/ </li></ul><ul><li>http://www.flickr.com/photos/jimfrazier/321826176/ </li></ul><ul><li>http://flickr.com/photos/madmask/541758909/in/pool-35034364797@N01 </li></ul><ul><li>http://www.flickr.com/photos/ianbroyles/238938407/ </li></ul><ul><li>http://www.flickr.com/photos/retrocactus/874144543/ </li></ul><ul><li>http://www.flickr.com/photos/ortiz/100910821/ </li></ul>
    54. 65. Muito obrigado! Dúvidas? George Guimarães http://georgeguimaraes.com [email_address] twitter: @georgeguimaraes
    55. 66. <ul><li>www.pagestacker.com </li></ul>George Guimarães http://georgeguimaraes.com [email_address] twitter: @georgeguimaraes

    ×