Será possível que os desenvolvedores não precisem se preocupar com a configuração do servidor? Devemos ter que nos preocupar com isso? [fechado

StackOverflow https://stackoverflow.com/questions/1630914

Pergunta

Atualmente, estou olhando para hospedar soluções para o meu aplicativo Ruby on Rails SaaS, e o maior problema que vejo é que, se eu for com algo como o Amazon EC2, ainda preciso configurar meu próprio servidor e instalar o que preciso (por exemplo, banco de dados, estrutura de programação, servidor de aplicativos, etc.). Cada um deles é uma oportunidade para algo dar errado. Eu também tenho que me preocupar com a forma como meus dados estão recuperando, com que frequência e uma série de outros detalhes de "baixo nível". Sendo uma startup, não tenho recursos para um sistema, então teria que jogar um eu mesmo. Atualmente, faço algum trabalho para uma startup e meu chefe está sempre falando sobre o quão grande é o EC2, porque nos permite "sair do negócio de hardware" - na realidade, porém, não se sente assim, porque ainda temos que configurar As instâncias do servidor, ainda precisam instalar o software, ainda precisam configurar o software corretamente. Parece que ainda estamos no negócio de hardware, apenas que realmente não possuímos o servidor que estamos usando.

Por outro lado, é um serviço como a Heroku (que realmente usa o EC2 por baixo, acredito), mas basicamente cuida de todos os detalhes de baixo nível. Eles fazem backups automáticos para mim, eu apenas especificado a frequência. Eles já têm uma configuração de servidor configurada. Eles têm maneiras de gerenciá -lo e mantê -lo funcionando para que eu não precise monitorar o tráfego. Posso me concentrar no meu aplicativo e apenas implantar o código e deixar que eles se preocupem com a administração e certifique -se de que o banco de dados esteja configurado corretamente com o servidor da Web e as pastas certas tenham permissões.

O problema com Heroku é obviamente que não tenho controle sobre essas coisas se quisesse modificá -lo. Heroku usa o nginx como seu servidor da web; Se eu quiser usar o Phusion Passaged no Apache para permanecer no "corte" do desenvolvimento do ROR, sou Sol. Se eu precisar fazer um patch rápido na produção (raiz de todo o mal, eu sei, mas às vezes acontece), não tenho acesso SSH aos servidores do Heroku. Se eu precisar configurar um novo usuário de banco de dados para permitir que outra pessoa acesse os dados remotamente, acho que não posso fazer isso. E o pior de tudo se algo faz Acontece com o servidor, não tenho como fazer nada, exceto esperar Heroku para corrigi -lo.

Basicamente, em que ponto, se é que alguma vez, podemos, como desenvolvedores, nos concentrar em nosso código e aplicativo e não precisar jogar sysadmin com a configuração do servidor? Como startup com recursos limitados e conhecimento limitado de configurar servidores (o suficiente para sobreviver), eu seria melhor sacrificar alguma configuração pela capacidade de deixar alguém se preocupar com o final das coisas do hardware/software?

Foi útil?

Solução

https://stackoverflow.com/questions/162144/what-is-a-good-ruby-on-lails-hosting-service/265646#265646

Não estou interessado em aprender a configurar Apache, Modrails, Phusion, Mongrel, Thin, MySQL e o que quer que seja. Com Heroku, não me preocupo. O nginx é o servidor da web e o PostgreSQL é o banco de dados. Eles se estabeleceram no Ruby/Rack para todos os novos aplicativos. As estruturas que executam no rack incluem trilhos, Merb e Sinatra. Escolhas limitadas.

Outras dicas

Faça a parte da configuração do servidor do seu projeto e use scripts para configurar e derrubar seus servidores. Mantenha tudo no VCS e use os scripts rotineiramente para recriar sua configuração de desenvolvimento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top