Upload
george-guimaraes
View
1.361
Download
4
Embed Size (px)
DESCRIPTION
Apresentação no Rails Summit.
Citation preview
deployment, capacity planning, escalabilidade e outros tópicos que deveriam ser mais
abordados em eventos como esse...
George Guimarã[email protected]
Rails Summit 2008
George Guimarães. Pagestacker. Rails Summit LA 2008
Person.find_by_name(“George Guimarães”)
• engenheiro pela Escola Politécnica
• 23 anos
• apaixonado por infra-estrutura
• co-fundador do Pagestacker
George Guimarães. Pagestacker. Rails Summit LA 2008
• Hospedagem compartilhada
• VPS (virtual private server)– mini-clouds da Locaweb
• Servidores dedicados– uau! muita performance!
Opções de máquinas
George Guimarães. Pagestacker. Rails Summit LA 2008
requisição web típicaGateway
porta 80
dinâmico?
HTTP Request
não
sim
gatewaysApachepoundnginx
George Guimarães. Pagestacker. Rails Summit LA 2008
caso 1
Apache + mod_rails+ ruby enterprise edition
Hongli Lai e Ninh Bui estão aqui!
George Guimarães. Pagestacker. Rails Summit LA 2008
caso 2
nginx + thin+ ruby enterprise edition (?)
Igor Sysoev e Marc-André NÃO estão aqui!
George Guimarães. Pagestacker. Rails Summit LA 2008
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
George Guimarães. Pagestacker. Rails Summit LA 2008
Nagioschato de configurarmas funciona muito bemmas é chatosério...
George Guimarães. Pagestacker. Rails Summit LA 2008
munin
• foco em performance
• gráficos, muitos gráficos
George Guimarães. Pagestacker. Rails Summit LA 2008
Monitorar é importante?
• Achar limites da sua arquitetura• Permite descobrir gargalos• Anormalidades e picos de uso
• Previsão de falta de recursos• $$$
George Guimarães. Pagestacker. Rails Summit LA 2008
que diabos é escalabilidade?!“propriedade de um sistema de
aumentar e não entrar em colapso”
George Guimarães. Pagestacker. Rails Summit LA 2008
• Rede• Load balancer• Banco de dados• Sistema operacional• APIs externas• Discos rígidos• CPU• Mercado financeiro• LHC
eles escalam junto?
George Guimarães. Pagestacker. Rails Summit LA 2008
como quantificar ‘escalabilidade’será que é possível?
George Guimarães. Pagestacker. Rails Summit LA 2008
Guerilla Capacity Planninge Lei Universal de Escalabilidade!
George Guimarães. Pagestacker. Rails Summit LA 2008
Neil Gunther
• PARC, na área de multiprocessadores
• Desenvolveu PDQ (Pretty Damn Quick)
• Consultoria através da Performance Dynamics
• Autor do Guerrilla Capacity Planning (GCaP)
George Guimarães. Pagestacker. Rails Summit LA 2008
Guerrilla manual
• Horizonte de planejamento: 3 meses
George Guimarães. Pagestacker. Rails Summit LA 2008
Guerrilla manual
• Capacity planning não é apenas sobre o futuro– Queremos mais dos nossos recursos atuais
George Guimarães. Pagestacker. Rails Summit LA 2008
Guerrilla manual
• A falácia do “hardware é barato”– seu software tira proveito de mais hardware?
George Guimarães. Pagestacker. Rails Summit LA 2008
Guerrilla manual
• Gargalos (bottlenecks) – Você nunca remove um gargalo, apenas adia o
problema
George Guimarães. Pagestacker. Rails Summit LA 2008
Guerrilla manual
• Gargalos (bottlenecks) – Você nunca remove um gargalo, apenas adia o
problema
George Guimarães. Pagestacker. Rails Summit LA 2008
Guerrilla manual
• Capacity planning não é trivial– Nós pensamos linearmente– Hardware e software são não-lineares
George Guimarães. Pagestacker. Rails Summit LA 2008
Mundo ideal
número de usuários ou requests/s
número de requests
(bem) atendidos/s
George Guimarães. Pagestacker. Rails Summit LA 2008
1º problema: serial vs paralelonúmero de
tarefas feitas/s
número de processadores
George Guimarães. Pagestacker. Rails Summit LA 2008
documento web
crawler
mecanismo de busca
banco de dados
thumbnail
identificação de idioma! yay!
paralelo
serial
no Pagestacker...
George Guimarães. Pagestacker. Rails Summit LA 2008
1º problema: serial vs paralelonúmero de
tarefas feitas/s
número de processadores
George Guimarães. Pagestacker. Rails Summit LA 2008
1º problema: serial vs paralelonúmero de
tarefas feitas/s
número de processadores
também conhecido
como a lei de Amhdal
George Guimarães. Pagestacker. Rails Summit LA 2008
2º problema: gargalos
número de usuários ou requests/s
número de requests
(bem) atendidos/s
George Guimarães. Pagestacker. Rails Summit LA 2008
0
50
100
150
200
250
300
350
400
450
500
1 2 3 4 5 6
George Guimarães. Pagestacker. Rails Summit LA 2008
Lei Universal de Escalabilidade
• arrays de disco, SAN• processadores multicore• certos tipos de I/O de rede
• para modelar carga de usuários
George Guimarães. Pagestacker. Rails Summit LA 2008
John Allspaw
• Engenheiro de operações do Flickr
• Apresentou na Velocity 2008
• Autor do The Art of Capacity Planning– Método low math
George Guimarães. Pagestacker. Rails Summit LA 2008
Recapitulando...
• Faça código, mas deployment também é importante.• Gere métricas. Você só consegue gerenciar aquilo
que você mede.• Capacity Planning não é só teoria.
• Escalabilidade está no software. Lembre-se disso!
George Guimarães. Pagestacker. Rails Summit LA 2008
Tks flickr users!
• http://www.flickr.com/photos/cote/54408562/• http://flickr.com/photos/mocambique/441710601• http://www.flickr.com/photos/minipixel/1499346710/• http://www.flickr.com/photos/jimfrazier/321826176/• http://flickr.com/photos/madmask/541758909/in/pool-35034364797@N01• http://www.flickr.com/photos/ianbroyles/238938407/• http://www.flickr.com/photos/retrocactus/874144543/• http://www.flickr.com/photos/ortiz/100910821/
George Guimarãeshttp://georgeguimaraes.com
[email protected]: @georgeguimaraes
Muito obrigado! Dúvidas?