Rails nas Nuvens
Upcoming SlideShare
Loading in...5
×
 

Rails nas Nuvens

on

  • 1,962 views

Palestra ministrada no RubyConfBR em 03/11/2011. ...

Palestra ministrada no RubyConfBR em 03/11/2011.

Tópicos abordados:
- Ferramentas: RVM, Phusion Passenger, Nginx, Apache, Ubuntu Server, Chef, Capistrano, MySQL
- Serviços: Locaweb Cloud Server Pro, UOL CLOUD, Amazon EC2, Linode, Heroku

Statistics

Views

Total Views
1,962
Views on SlideShare
1,320
Embed Views
642

Actions

Likes
0
Downloads
8
Comments
0

3 Embeds 642

http://jera.com.br 635
http://localhost 6
http://a0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Rails nas Nuvens Rails nas Nuvens Presentation Transcript

  • Rails nas Nuvens @sauloarruda Imagem: http://www.flickr.com/photos/jan2you/2646026559/sizes/z/in/photostream/
  • by “Saulo Arruda”• Sócio e um dos fundadores da• 29 anos• Pai de 2 filhas• 12 anos de código e cabelos brancos• Programador, DevOP, cantora, atriz, modelo...
  • O que temos?• Ferramentas• Serviços• Práticas• E agora?
  • http://www.flickr.com/photos/harapekodoggybag/6029300410/sizes/l/in/photostream/Ferramentas
  • Ferramentas• Ruby 1.9+ com RVM• Phusion Passenger (modrails)• Nginx ou Apache• Ubuntu Server• Chef e Capistrano• MySQL• JMeter e Apache AB
  • Ruby 1.9+ com RVM• Facilita atualização do Ruby• Melhora gerenciamento de gems• Um servidor para várias aplicações
  • Phusion Passenger• Setup simples• Boa performance• Bom gerenciamento• Funciona com Nginx ou Apache
  • Nginx• Rápido com baixo consumo de memória• Configuração simples• Módulos interessantes
  • Apache• Maior suporte da comunidade• Integração mais simples com outras tecnologias (ex. PHP)• Muitas opções de módulos
  • Ubuntu Server• Excelente compatibilidade• Fácil administração• Suporte de longo prazo 10.4 LTS - até 2015
  • Chef• Automatização de configuração de infra• Hosted Chef!• Configurar servidor com código Ruby :P
  • Capistrano• Deploy automatizado• Etapas: pull, bundle, migrate, assets, restart, etc.• Gerenciamento de configurações e recursos
  • MySQL• Boa performance e fácil gerenciamento• Muito simples de replicar• Boa integração com Ruby
  • JMeter• Teste de Performance• Fácil construção de planos de testes• Execução simultânea em várias máquinas
  • Apache AB• Medição de Threshold• Bom para testar concorrência• Configuração simples, ideal para páginas com grande volume de acesso
  • http://www.flickr.com/photos/49587000@N07/6151142127/sizes/l/in/photostream/Serviços
  • Serviços• Brasil • Locaweb Cloud Server Pro • UOL CLOUD• Mundo • Amazon EC2 • Linode • Heroku • Engine Yard
  • Locaweb Cloud Server Pro• Simples virtualização• Possibilidade de upgrade• Templates (novo recurso)• R$ 199,00 por 2 GB + 2 vCPUs
  • UOL CLOUD• Também Simples Virtualização• Igual possibilidade de upgrade• Não tem templates• R$ 119,00 por 2GB + 2vCPU
  • Amazon EC2• Melhor preço + Free Tier• Mais opções de serviços• Excelente gerenciamento• ~R$ 80,00 por 1,7GB + 2vCPU (reserved)
  • Linode• Simples virtualização mas muito eficiente• Setup simplificado• Preço competitivo• ~ R$ 140,00 por 2GB
  • Heroku• Faz tudo pra você: App Server + Database• Continuos Delivery simplificado• Serviços adicionais (add-ons)• US$ 35,00 por dyno + US$ 15,00 por 20GB de database
  • Engine Yard• Faz tudo pra você: App Server + Database• Continuos Delivery simplificado• Deploy simplificado• ~R$ 300,00 por 1,7GB + 2vCPU
  • http://www.flickr.com/photos/49587000@N07/6151720918/sizes/l/in/photostream/Práticas
  • Práticas• Configuração do servidor• Deploy contínuo• Replicação• Backup• Testar carga e performance• Alta disponibilidade
  • Cenário
  • Configuração do Servidor• Automatizar a configuração com Chef: • Instalar RVM e Ruby • Instalar Nginx/Apache • Instalar MySQL • Outras configs (segurança, backup, replicação, load balancer, etc) • Primeiro Deploy
  • Deploy Contínuo• Deploy com Capistrano • Configurar Git/SVN • Configurar cap no projeto • Permissões e tarefas • Configurar nós
  • Replicação• Replicação do MySQL• Replicação de Arquivos (rsync)• Uso de S3• Uso de CDN
  • Backup• RDiff • Sincronização de arquivos com versionamento• Bacula • Solução mais evoluída• MySQL Dump
  • Testar carga e performance• Detectar pontos fracos• Oportunidades de otimização• Simulação de horários de pico• Medição de tempo de resposta• Medição do consumo de recursos
  • Alta Disponibilidade• Load Balancer• Monitorar e subir instâncias automaticamente• Memcache• Cluster de MySQL• Sistema de Filas• NoSQL
  • http://www.flickr.com/photos/49587000@N07/5968744585/sizes/l/in/photostream/E agora?
  • E agora?• Quando usar Cloud Computing • Começar rápido • Escalar rápido • Baixo custo para iniciar • Gerenciamento simplificado
  • E agora?• Quando NÃO usar Cloud Computing • Muito uso de Disco • Cloud pode ter performance variável • Pode ser mais barato para grande volume
  • http://www.flickr.com/photos/49587000@N07/6033777706/sizes/l/in/photostream/Obrigado!
  • Perguntas?• Saulo Arruda • Twitter: @sauloarruda • Email: saulo@jera.com.br • Blog: http://sauloarruda.eti.br