Há algum recurso no Linux que seja essencial para hospedar o Ruby on Rails?

7

Eu estou em um projeto onde vamos hospedar um aplicativo Ruby on Rails em um servidor Linux que possuímos. Todos os tipos de Linux são igualmente capazes de hospedar aplicativos Rails? Se não, quais recursos estão presentes em algumas distribuições Linux, mas não outras que são essenciais para hospedar aplicativos Rails?

    
por Kevin 15.11.2013 / 03:34

2 respostas

10

Você deve usar qualquer distribuição com a qual se sentir mais confortável.

A única coisa que posso pensar em cima da minha cabeça que realmente importaria qual distribuição seria "melhor" seria se você planejasse usar as versões fornecidas pelo sistema operacional do Ruby, rails, etc. Não há nada que o impeça de construindo sua própria versão em qualquer distribuição, mas isso pode ser mais trabalhoso do que vale a pena para você.

O RHEL / CentOS não mantém as versões de atualização assim que são lançadas. Isso pode ser bom porque deve eliminar problemas de compatibilidade ao atualizar o sistema operacional. Isso pode ser uma coisa ruim, porque você pode querer um recurso que foi adicionado em uma versão posterior. Você pode acompanhar esse problema adicionando um repositório adicional com versões mais recentes.

Eu não sou um cara do Debian, então não posso falar com detalhes, mas tenho a impressão que o Debian normalmente fornece versões mais novas. Isso pode ser bom porque você não precisará pesquisar um recurso que foi adicionado recentemente. Isso pode ser uma coisa ruim, porque você pode instalar uma atualização e quebrar seu aplicativo.

Mas, na verdade, a melhor resposta é usar o que for mais confortável para você.

    
por 15.11.2013 / 03:47
3

Todas as variantes do Unix são "igualmente capazes" de hospedar Ruby / Rails - pelo menos no sentido de Ruby, o framework Rails, e um grande número de gemas serem executadas nelas. Então, nesse sentido, "Use qualquer sistema operacional com o qual você e sua equipe se sintam mais confortáveis" é a resposta certa.

Algumas coisas eu procuram pessoalmente em um sistema operacional -

  1. O Ruby é fornecido com o SO (ou disponível nas portas, etc.) razoavelmente atual?
    Todo o novo brilho requer o Ruby 1.9.x atualmente, então se um sistema operacional estiver enviando somente Ruby 1.8, vou chutá-lo para o meio-fio. Sim, eu PODERIA instalá-lo manualmente, mas tenho mais que trabalho suficiente construindo um ambiente estável - por que eu aceitaria mais trabalho mantendo meu próprio pacote Ruby?

  2. Os pacotes de suporte do Ruby ( rvm , gems, etc.) são razoavelmente atuais?
    Mesma lógica que (1) - Eu gostaria de poder usar o gerenciamento de pacotes do sistema operacional o máximo possível, mas se eu tiver que sobrescrever o gerenciador de pacotes e instalar manualmente cada gem que eu vou usar - bem, eu posso viver com isso, mas torna as coisas mais difíceis.

  3. O próprio SO é adequado para meus objetivos?
    Este é um fuzzy one - a melhor maneira de determinar se um sistema operacional é "adequado" é para supera as luzes do dia em testes / benchmarking com sua carga de trabalho .
    É aí que você descobre que o FooOS tem um desempenho multithreaded e o BarOS tem um subsistema de disco que exige que todas as outras operações no sistema parem sempre que um thread quiser gravar dados , então BazOS (que é decididamente medíocre em ambos) na verdade tem um desempenho melhor porque seu aplicativo é tanto multithreaded quanto write-intensive.
    Se você está apenas olhando para "Linux", as diferenças aqui serão insignificantes (ou "consertáveis", transformando sysctl knobs). Se você expandir sua pesquisa de SO para incluir outros sistemas (BSD, OS X, Solaris, AIX, HP-UX, Windows), poderá começar a ver uma variação real nas características de desempenho ou na capacidade de carga.

    There are some non-technical considerations here too. If you have the choice between two hypothetical systems, one a free OS and another a pay-for-license system that's twice as fast but costs $5000 per CPU core to license, grab the free one. Your dual-processor quad-core server is going to cost you $40,000 in licensing fees, and even if we're erring on the expensive side of hardware that's a LOT more servers running the free OS. Even if you're paying for power and cooling it's pretty clear who wins on a cost-per-unit-performance metric...

  4. Podemos gerenciar o sistema operacional?
    O sistema operacional tem ferramentas que permitem que você o gerencie (ou ele funciona bem com ferramentas que você já usa / sabe usar / deseja usar, como Puppet e Chef)? Sua equipe está confortável o suficiente com o sistema operacional para gerenciá-lo? Você será capaz de lidar com a próxima grande atualização da versão, ou você entrará em pânico e apenas ficará estagnado em qualquer instalação que tenha instalado no dia em que implantou e ficará perpetuamente frustrado quando os novos recursos que você deseja estiverem faltando?

por 13.04.2017 / 14:14