Heroku escalabilidade

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