View
491
Download
3
Category
Preview:
DESCRIPTION
Citation preview
Dicas de Escabilidade
@brunoandradd
Eu..
Programo desde 2001Ruby desde 2008Rails desde 2.xPoo/Arquitetura"Devops"
@brunoandraddbruno77sa@gmail.com
Em Partes
1. Heroku
2. Minha App no heroku
3. Dicas de Escalabilidade
Heroku
Paas - Platform as a Service
Amazon Ec2
Stacks(Celadon Cedar)
Como Funciona?
web
Routing mesh
Dyno Dyno
Dyno Dyno
Dyno Dyno
Dyno?
Dyno
Linux Container - lxc
Web Dyno
Worker Dyno
Dyno Linux Container(lxc)
512MB of RAM, 1GB of swap
8 cpu cores(intel xeon 2.67ghz)*
FileSystem ReadyOnly
Ubuntu 10.04 LTS
Dyno - Cuidados!
500mb x 3 = Restart,R15 erro
Requests 30 segundos
Derruba sua app,após 1hr inativa
Minha app no Heroku
e agora?
Minha app no Heroku
use unicorn!!
Minha app no Heroku
config/unicorn.rb
Procfile
Minha app no Heroku
Assets Pipeline!
Assets Pipeline!Crie um repositorio no s3 (amazon)
Adicione as gems: asset_sync fog
Configure em production.rb:config.action_controller.asset_host = "http://#{ENV
['FOG_DIRECTORY']}.s3.amazonaws.com"
Configure em application.rb: config.assets.initialize_on_precompile = false
Minha app no Heroku
Versão do Ruby
Minha app no HerokuVersão do Ruby
Bundle 1.2.0.pre.1ruby '1.9.3' Gemfile
Minha app no Heroku
Versões
Minha app no Heroku
heroku releases
Minha app no Heroku
Time Zone
Minha app no Heroku
heroku config:add TZ='America/Recife'
Minha app no Heroku
Colocando em Manutenção
Minha app no Heroku
heroku maintenance:on
heroku config:add MAINTENANCE_PAGE_URL=url
Dicas de EscalabilidadeTenha backup/restore automatico gem 'oink'
Monitore Actions lentas
Monitore suas actions mais acessadas
Use postgresql do heroku($9.00)
Use o maximo async possivel
Mais uma coisa!
Buildpacks
Conclusão
Start Rapido Sem Infra Custo baixo
Contras: Latência Upload Arquivos Ambiente customizado
Prós:
Obrigado!!
@brunoandradd
Recommended