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

Mais conteúdo relacionado

PDF
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
PDF
Arquiteturas escaláveis e tolerantes a falhas
PDF
Clusterização de Aplicações PHP
PPTX
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
PDF
Cloud PostgreSQL em alta performance
PPTX
Movimentação de VMs para Microsoft Azure
PDF
Minicurso Ruby e Rails (RailsMG UNA)
PDF
Preparando sua arquitetura para microservicos
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
Arquiteturas escaláveis e tolerantes a falhas
Clusterização de Aplicações PHP
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Cloud PostgreSQL em alta performance
Movimentação de VMs para Microsoft Azure
Minicurso Ruby e Rails (RailsMG UNA)
Preparando sua arquitetura para microservicos

Mais procurados (20)

PDF
Java Escalável e com Alta Disponibilidade na Nuvem
PPTX
Browsers como vivem o que fazem
PPTX
Conhecendo o asp.net core
PPTX
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
PPTX
Infraestruturas enxutas para aplicações web
PPTX
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
PDF
Palestra Torquebox - JUDCON SP 2013
PPTX
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
PDF
Frontline - Rails3.1
PDF
PHP no Windows Azure
PDF
4 passos para a Transformação Digital
PDF
TDC2016SP - Trilha Frameworks JavaScript
PPTX
Web assembly
PDF
Serverless Framework - Creating serverless applications
PPTX
Integração Contínua
ODP
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
PPTX
Arquitetura Web no AWS
PDF
Desenvolvendo Sistema Cloud e Web Full-stack Developer
PPTX
SQL Server over SMB3
PDF
Drupal Performance
Java Escalável e com Alta Disponibilidade na Nuvem
Browsers como vivem o que fazem
Conhecendo o asp.net core
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Infraestruturas enxutas para aplicações web
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Palestra Torquebox - JUDCON SP 2013
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Frontline - Rails3.1
PHP no Windows Azure
4 passos para a Transformação Digital
TDC2016SP - Trilha Frameworks JavaScript
Web assembly
Serverless Framework - Creating serverless applications
Integração Contínua
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Arquitetura Web no AWS
Desenvolvendo Sistema Cloud e Web Full-stack Developer
SQL Server over SMB3
Drupal Performance
Anúncio

Semelhante a Rails nas Nuvens (20)

PDF
QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...
PDF
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
PDF
PDF
Novidades do Universo MySQL Agosto 2014
PPTX
Azure Functions e Java: Do Desenvolvimento a Produção
PPTX
Windows Azure Pack - Visão Geral
PPT
Desenvolvimento Ágil com Ruby on Rails
PDF
Introducao+ao+amazon+ec2+ +ricardo+geh
KEY
Workshop Performance Rails
PPTX
Docker | Minicurso Gratuito - Azure na Prática
PPTX
Java one
PDF
Fisl10 MySql na Globo.com por Camila Dias
PPTX
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
PPTX
PPTX
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
PDF
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
PPTX
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
PDF
Otimizacao de websites em PHP
PDF
ClusterizaçãO De AplicaçõEs Php
PPTX
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
Novidades do Universo MySQL Agosto 2014
Azure Functions e Java: Do Desenvolvimento a Produção
Windows Azure Pack - Visão Geral
Desenvolvimento Ágil com Ruby on Rails
Introducao+ao+amazon+ec2+ +ricardo+geh
Workshop Performance Rails
Docker | Minicurso Gratuito - Azure na Prática
Java one
Fisl10 MySql na Globo.com por Camila Dias
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
Otimizacao de websites em PHP
ClusterizaçãO De AplicaçõEs Php
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Anúncio

Mais de Saulo Arruda (20)

PDF
MVP: conheça os 2 significados ao criar o seu #cpbr8
PDF
Oportunidade para desenvolvedores na era das startups
PDF
Growth Hacking Mobile - BRAPPS 2014
PDF
Growth hacking - Jera Retrospectiva
PDF
#CPBR7 - Métricas para startups
PDF
StartupFarm métricas
PDF
Mande seu chefe pentear macaco
PDF
Sthart - Desenvolvimento Web e Mobile
KEY
Como ganhar dinheiro com aplicativos mobile?
KEY
Startups - É programando que se empreende
KEY
SCRUM - Aula 2
KEY
SCRUM - Aula1
KEY
Desenvolvimento iOS - Aula 6
KEY
Desenvolvimento iOS - Aula 5
KEY
Desenvolvimento iOS - Aula 4
KEY
TDC 2012 - Querem me comprar, e agora?
KEY
Desenvolvimento iOS - Aula 3
KEY
Desenvolvimento iOS - Aula 2
KEY
Desenvolvimento iOS - Aula 1
PDF
Empreendedorismo Agil
MVP: conheça os 2 significados ao criar o seu #cpbr8
Oportunidade para desenvolvedores na era das startups
Growth Hacking Mobile - BRAPPS 2014
Growth hacking - Jera Retrospectiva
#CPBR7 - Métricas para startups
StartupFarm métricas
Mande seu chefe pentear macaco
Sthart - Desenvolvimento Web e Mobile
Como ganhar dinheiro com aplicativos mobile?
Startups - É programando que se empreende
SCRUM - Aula 2
SCRUM - Aula1
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 4
TDC 2012 - Querem me comprar, e agora?
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 1
Empreendedorismo Agil

Último (20)

PDF
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
PPT
inteligencia_artificial REPRESENTAÇÃO DO CONHECECIMENTO
PDF
wp-sn-advanced-high-availability-architecture (pt-br).pdf
PDF
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
PDF
Personalização de tópicos adicionais no SAP Extended Warehouse Management, EW...
PDF
POO - Aula 05 - Herança - Generalização e Especialização.pdf
PPTX
Politicas-de-Seguranca-Privacidade-e-Cookies.pptx
PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PPTX
Do código à carreira: O Profissional de TI que o mercado realmente quer - com...
PPTX
Modelo para Qualificação de Mestrado - Tecnologia da Informação
PPTX
Introdução a Computação em Nuvem-parte2-T2
PDF
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
PPTX
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
DOCX
20250828_Perfis Profissionais em ServiceNow Um Guia Detalhado.docx
PPTX
Panorama da aviação civil brasileira ANAC
PPT
Apresentacao Do Trabalho de Inteligencia
PPTX
Legislação aeronautica na aviação civil Brasileira
PDF
POO - Aula 03 - Membros Estáticos e Construtores.pdf
PPT
Padrões de Beleza I - Estética Corporal e Saúde
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
inteligencia_artificial REPRESENTAÇÃO DO CONHECECIMENTO
wp-sn-advanced-high-availability-architecture (pt-br).pdf
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
Personalização de tópicos adicionais no SAP Extended Warehouse Management, EW...
POO - Aula 05 - Herança - Generalização e Especialização.pdf
Politicas-de-Seguranca-Privacidade-e-Cookies.pptx
Processamento da remessa no SAP ERP, SCM610 Col15
Do código à carreira: O Profissional de TI que o mercado realmente quer - com...
Modelo para Qualificação de Mestrado - Tecnologia da Informação
Introdução a Computação em Nuvem-parte2-T2
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
20250828_Perfis Profissionais em ServiceNow Um Guia Detalhado.docx
Panorama da aviação civil brasileira ANAC
Apresentacao Do Trabalho de Inteligencia
Legislação aeronautica na aviação civil Brasileira
POO - Aula 03 - Membros Estáticos e Construtores.pdf
Padrões de Beleza I - Estética Corporal e Saúde
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,

Rails nas Nuvens