A idéia deste post inicialmente era compartilhar as experiências que tive com hosts nos últimos anos, mas este posts ficaria bem grande. Então resolvi falar apenas da melhor experiência que já tive com hospedagem (e posso até falar que foi uma das melhores em prestação de serviços em geral).
Estamos lançando o Cifras, um produto online que armazena dados financeiros dos clientes (ainda vou fazer um post completo sobre ele) e devido as minhas experiências com hosts brasileiros (principalmente Locaweb e Kinghost) eu nem cogitei a hipótese de hospedar um sistema que armazena este tipo de dados com eles.
Em fase inicial quando só tínhamos 5 clientes (incluindo nós mesmos) hospedamos o sistema na RailsPlayground em uma plano de VPS mais básico. Como sempre, com eles tudo funcionou muito bem, passando do suporte até os requisítos técnicos (também recomendo o plano de Sharedhost deles). Facilmente eu poderia ter continuado com eles e a medida do necessário ter aumentado os recursos. O pequeno problema na RailsPlayground é que era uma VPS normal, ou seja, assim como Webbynode, Linode e etc tudo fica em suas mãos.
Como este produto ainda é um projeto paralelo nós não podemos dedicar várias horas do dia com monitoramento e configuração de server, nosso tempo tem que estar focado em desenvolvimento, suporte e design. Outro problema é que não sou um sysadmin expert e não quero deixar passar nenhum erro que poderia comprometer o serviço e ainda é cedo de mais para pensar em contratações.
Então avaliamos vários managed hosts (que são hosts com administração própria) como RackSpace, EngineYard, Hostingrails, Brightbox e RailsMachine. Comparando preço e recursos resolvemos ficar com o último para fazer alguns testes.

Diferente dos outros hosts a Railsmachine não tem um preço pré-determinado no site, então você tem que entrar em contato com o pessoal de vendas. Logo que mandei o email fui respondido perguntando detalhes sobre o meu sistema e a infra-estrutura necessária, depois que passei estas informações me enviaram a planilha de preços e o que me indicavam.
Como previsto o preço da hospedagem completamente controlada por eles não é barato mas está dentro dos preços do mercado, $300,00 (dólares). Isto inclui 1hora diária de manutenção no seu server e envolve monitorar tudo e escalar sua app a medida do necessário.
Inicialmente optei pelo plano mais básico de $180,00 mês e logo que aprovei o orçamento iniciamos o processo de preparação das coisas.
Diferente de outros host e serviços que tentam fazer tudo e acabam fazem tudo errado a Railsmachine opta por utilizar vários serviços de terceiros. Então logo que começamos recebi um user no Basecamp e eles criaram todos os milestones e TODOS para o processo de preparação do server, da minha app e da migração. Também tive acesso a toda a equipe e pude trocar mensagem com todos durante o processo de migração. Ao invés de recorrer a sistemas de suporte mal feitos nós tinhamos o Basecamp para mensagens, arquivos e tudo mais. Outro detalhe é que o pagamento também é através de um serviço de terceiro, o freshbooks então todo o sistema de geração de cobrança, recibos e pagamento (via cc ou paypal) funciona perfeitamente bem.

Um outro diferencial é que a Railsmachine analisa o fonte da sua App, e para isto concedi a eles o acesso ao meu repositório do Github. Após a leitura do código eles fazem um fork dos seus projetos e aplicam o Moonshine .
O Moonshine é uma ferramenta de autoria da própria Railsmachine que é integrada ao Capistrano e Puppet. A grande vantagem do Moonshine é que você controla toda a montagem do seu server de dentro da sua própria app, e com um simples cap deploy setup ele irá criar seu stack instalando apache, passenger, ruby, rails e tudo mais. Logo que tudo esteja configurado eles fazem deploy para um server de staging e um de production para que você possa analisar e testar tudo com calma. Através do Moonshine você tem um server de staging e production exatamente iguais que você irá operá-los com Capistrano Ext .
Com tudo no lugar agendamos uma data para a migração. A migração foi um processo muito tranquilo que fizemos através do Campfire (sistema de chats da 37Signals) e executado pelo Jesse Newland (pessoa ativa na comunidade Ruby, principalmente no desenvolvimento atual do Capistrano). Em dupla fizemos todos os testes e em 2horas tudo estava migrado e com praticamente 0 minutos de downtime (claro, era um sistema com poucos dados ainda).
Com tudo migrado e no lugar, foi necessário apenas ajustar o DNS. Continuo mantendo o DNS na Railsplayground pois a RailsMachine não provê este serviço, mas logo vou migrar para o Google. Por aconselhamento deles também movi os emails para o Google Apps ao invés de usar no próprio server.

Atualmente tudo está funcionando bem e temos por volta de 500 usuários convidados, rodando em VPS Ubuntu com Apache2/Passenger, Ruby 1.8.7, Rails 2.3.5, MySQL e algumas outras coisas relacionadas a infra-estrutura que não vou entrar em detalhes. O plano da RailsMachine também nos da acesso ao Scout para monitorar a aplicação.
Claro ainda é uma aplicação bem pequena mas como eu disse anteriormente, em virtude do tipo de dados que ela armazena, não a espaço para falhas além de ser bem mais fácil migrara para uma estrutura mais robusta agora, no inicio. O resultado final é que estamos muito contentes com um excelente serviço, e se você irá desenvolver uma aplicação que precisa ser confiável e bem configurada então eu recomendo muito a RailsMachine, o único contra é realmente o preço, principalmente por causa da diferença do dólar mas também não é nada proibitivo.
4 Comentários to “RailsMachine”
Hugo Baraúna diz:
05/12/2009 em 02:10 PM
Muito bom esse relato Daniel, com certeza fiquei com vontade de dar uma olhada melhor na RailsMachine depois de lê-lo.
O mais interessante foi saber que eles usam essa suite de aplicativos de terceiros para coordenar toda a operação deles, bem interessante.
Philipe Farias diz:
05/12/2009 em 10:59 PM
Daniel, porque não o Heroku?
Daniel Lopes diz:
06/12/2009 em 04:24 PM
O preço do Heroku é muito alto para coisas maiores e que usam queue, cron jobs e etc. E ele não é administrado.
Ou seja, ficar no Heroku seria o mesmo que pegar EC2 ou uma VPS própria em hosts comuns.
Pedro Assumpção diz:
14/02/2010 em 12:46 PM
Oi Daniel, mto bom seu post e suas experiências. Com certeza estão me ajudando a entrar de cabeça no mundo Rails.
Comentário
CATEGORIAS
HomeDesign
SEO
Empreendimento
Cifras
Ruby e Rails
Flex
Photoshop
Flash
XHTML/CSS
JavaScript
Variados
Database
Firefox
Projetos
3D
Projetos
TextMate
Smalltalk
Mac
Livros
ARQUIVO
07/2010 (2)06/2010 (4)
05/2010 (4)
04/2010 (4)
03/2010 (5)
02/2010 (7)
01/2009 (4)
12/2009 (7)
11/2009 (4)
10/2009 (10)
09/2009 (7)
08/2009 (6)
07/2009 (12)
06/2009 (5)
05/2009 (6)
04/2009 (9)
03/2009 (14)
02/2009 (18)
01/2009 (14)
12/2008 (20)
11/2008 (18)
10/2008 (9)
09/2008 (12)
08/2008 (6)
07/2008 (12)
06/2008 (10)
05/2008 (15)
04/2008 (19)




Off-Topic: Transformando textos em mp3
comentado por tiffany jewellery
RailsGuides Brasil
comentado por tiffany jewellery
Curso de Rails pelo RailsMG
comentado por tiffany jewellery
Sites of references and resources (English Version)
comentado por thomas sabo
Sites de referências e recursos.
comentado por thomas sabo