開発者がサーバー構成を心配する必要がなくなることはありますか?これについて心配する必要がありますか? [閉まっている]
-
06-07-2019 - |
質問
現在、Ruby on Rails SaaS Webアプリケーションのホスティングソリューションを検討していますが、最大の問題は、Amazon EC2のようなものを使用する場合、自分のサーバーを構成してインストールする必要があることです必要(データベース、プログラミングフレームワーク、アプリケーションサーバーなど)。これらのそれぞれは、何かがうまくいかない機会です。また、データのバックアップ方法、頻度、および他の「低レベル」のホストについても心配する必要があります。詳細。スタートアップであるため、私はシステム管理者のためのリソースを持っていないので、自分でそれをプレイしなければなりません。現在、私はスタートアップのために仕事をしており、上司は常に「ハードウェアビジネスから脱出する」ことができるEC2の素晴らしさについて語っています。 -しかし実際には、サーバーインスタンスをセットアップする必要があり、ソフトウェアをインストールし、ソフトウェアを適切に構成する必要があるため、そのようには感じません。私たちはまだハードウェアビジネスに携わっているように感じますが、使用しているサーバーを実際には所有していないだけです。
対照的に、Heroku(実際にはEC2を使用しています)のようなサービスですが、基本的にすべての低レベルの詳細を処理します。彼らは私のために自動バックアップを行います、私はただ頻度を指定します。サーバー構成が既にセットアップされています。彼らはそれを管理して実行し続ける方法があるので、トラフィックを監視する必要はありません。アプリケーションに集中してコードをデプロイするだけで、管理について心配したり、Webサーバーでデータベースが適切に構成され、適切なフォルダーに権限があることを確認したりできます。
Herokuの問題は明らかに、変更したい場合、これらのものを制御できないことです。 Herokuは、Webサーバーとしてnginxを使用します。 ApacheでPhusion Passengerを使用して「最先端」に留まりたい場合RoR開発の私はSOLです。本番環境でクイックパッチを作成する必要がある場合(すべての悪のルート、私は知っていますが、それは時々起こります)、HerokuのサーバーへのSSHアクセスがありません。他の人がリモートでデータにアクセスできるように新しいデータベースユーザーを設定する必要がある場合、これを実行できるとは思いません。そして何よりも最悪なのは、サーバーで何かが起こった場合、Herokuがそれを修正するのを待つ以外には何もする方法がないことです。
基本的にどの時点で、開発者がコードとアプリケーションに集中でき、サーバー構成でsysadminを実行する必要はありませんか?リソースが限られ、サーバーの構成に関する知識が限られている(十分な)スタートアップとして、他の人にハードウェア/ソフトウェアの終わりを心配させる機能の構成可能性を犠牲にした方が良いでしょうか?
解決
方法を学ぶことに興味がない Apache、ModRails、Phusion、 Mongrel、Thin、MySQLなど。 Herokuを使用しても心配ありません。 nginxは Webサーバー、およびPostgreSQLは データベース。彼らは落ち着きました すべての新しいアプリ用のRuby / Rack。フレームワーク Rackで実行されるものには、Rails、Merb、 とシナトラ。限られた選択肢。
他のヒント
プロジェクトのサーバー構成部分を作成し、スクリプトを使用してサーバーをセットアップおよび破棄します。すべてをVCSで管理し、スクリプトを定期的に使用して開発セットアップを再作成します。