Spring開発からRuby on Railsへの切り替えを始めたところです。以前にそれを使用したことがある人から知りたかったのですが、heroku 用にデプロイされている Rails アプリケーションの学習曲線があれば、それは何ですか?
heroku の展開に特別なニーズはありますか?
herokuの主な長所と短所は何ですか?
前もって感謝します:D
Spring開発からRuby on Railsへの切り替えを始めたところです。以前にそれを使用したことがある人から知りたかったのですが、heroku 用にデプロイされている Rails アプリケーションの学習曲線があれば、それは何ですか?
heroku の展開に特別なニーズはありますか?
herokuの主な長所と短所は何ですか?
前もって感謝します:D
Heroku は、最も簡単な Rails デプロイメントです。 これは、優れたドキュメントを備えたアプリ向けの完全に管理されたブラックボックス ソリューションであり、使いやすさを考慮して一貫して改善されています。アプリの実用的な開発バージョンができたら、Heroku で稼働するまでは非常に短いホップです。詳細については、QuickstartとGetting Started with Rubyの記事を参照してください。
この使いやすさの代償は、ある程度の柔軟性の欠如です。彼らは物事をオープンエンドにするのに優れていますが、ホスティングアーキテクチャへの画一的なアプローチは必然的に問題を引き起こします. 標準のリレーショナル データベースと共通の負荷プロファイルを備えた小規模から中規模の Web アプリを使用している場合、これは大きな問題ではありません。さまざまな追加サービス (redis、sphinx、rabbitmq など) を備えたよりカスタムなスタックが必要な場合は、サードパーティのアドオンを使用する可能性があります。これらすべてのホストされたソリューションと Heroku 自体は、それらが構築されている Amazon Web Services に対して割増料金を請求します。これは、独自のサーバーを実行するための生のハードウェア/コロケーション コストに対して割増料金を請求します。サイトが非常に大規模な場合、莫大なプレミアムを支払うだけでなく、ただし、ホステッド サービス プロバイダーが一般的なケースに対して行っている仮定は、カスタム チューニングされたクラスターだけでなく、特定のケースにも必然的に適合しません。これが、Google、Facebook、Yahoo などの真に大規模な企業がすべて独自のデータ センターを運営している理由です。その規模では、年間 20 万ドルの専任システム エンジニアの幹部がインフラストラクチャを設計および維持することで、単純にコモディティ ソリューションからの移行による節約。
しかし、小規模な場合、特に製品の初期の迅速なイテレーションでは、Heroku のようなものを使用すると、アプリケーションに完全に集中でき、インフラストラクチャについての心配を最小限に抑えることができます。1 つの例外として、Linux のシステム管理者がたくさんいる場合、Heroku は初期段階でもコストに見合う価値がない可能性があります。ボックスですが、金属に近づけます。
いずれにせよ、Heroku は Rails の初心者が始めるのに最適な場所です。開始するのは無料です。コスト評価を行って、後で経験を積んだ後に移行できない理由はありません。
gtd による回答は素晴らしいです。heroku で遭遇した問題について少し追加します。
約 1 年前に Ruby on Rails と Heroku を使い始めたとき、ほとんどの問題は、私の開発マシンではデフォルトで Rails が SQLite を使用し、Heroku ではデフォルトが postgreSQL であったことでした。
通常はそれほど問題にはGROUP BY
なりませんが、Heroku ではなく開発マシンで特定のことが機能する場合に、動作が異なるなどの特定のことが多くのフラストレーションを引き起こしました。Heroku にデプロイする予定の重要なアプリのために、開発マシンに postgreSQL サーバーをインストールすることをお勧めします。
Heroku では実行できず、VPS では実行できることが他にもいくつかあります。Heroku はクラウド サービスであるため、固定 IP が必要な決済プロバイダーと連携する際に問題がありました。完了し、プロキシを使用してプロバイダーに接続する必要がありました。
また、そこにインストールできないgem(ごく少数)がいくつかあり、いくつかのgemが依存するバイナリをインストールすることはできませんが、私にとっては決して問題ではありませんでした.
いくつかの落とし穴を除けば、Heroku はアプリのデプロイを開始する最も簡単な場所です。