2011-02-22 4 views
0

て、オンプレミスのSQL Serverに接続Azureのホスト型のRuby on Railsのアプリ:
1のActiveRecord-SQLServerのアダプタは、SQL ServerにRoRのアプリを接続するために使用することができます単にdatabase.ymlファイルを変更するだけです。ケン・コリンズ(http://www.engineyard.com/blog/2011/modern-sql-server-rails/
2ニック・ヒルへの尊敬は「で、WindowsのAzureのウェブ役割 (http://blogs.msdn.com/b/mcsuksoldev/archive/2010/02/26/9969876.aspx
3 WelyラウでRoRのアプリをホストする方法を私たちに示している方法、クラウド間の仮想ネットワーク接続を確立します(第2部 - アプリケーションの準備)」では、Windows Azure Connectを使用してWindows Azure WebロールとオンプレミスSQLサーバー間に仮想ネットワーク接続をセットアップする方法を示しました。具体的には、Welyは彼女の記事のステップ2と3でオンプレミスのSqlDataSourceを確立します。
4.どのように:私は、私だけが把握しようとしているものを、とにかく2つのリンク:(私が学んだことのWindows Azureの接続

を投稿することができてることを、私はリンクを投稿するだろうが、私はStackOverflowのためにそのような初心者くさいですよWindows Azure WebロールでホストされているRoRアプリケーションを、Windows Azure Connectとの仮想ネットワーク接続を使用してオンプレミスSQL Serverに接続する(これは、database.ymlファイルを私のアプリユーザーはチームにグループ分けされており、チームが必要であるということがあります。データベースの場所を正確に指定できる存在する。雲の中か自分のサーバーのいずれかで) - したがって、RoR/Azureのことです。そうでなければ、Herokuは私のホストになります。

私が考えていた別の方法は、独自のデータベースを使用して自分自身でホストしたいチームのためにアプリの別のコピーを配布することです。その場合はすべて設定されています。しかし、将来のアップデートや開発者の幸せを考えると、すぐに乱雑になる恐れがあります。

あなたの考えを気に入ってください。

答えて

0

Connectをセットアップしたら(ほとんどの場合、データベースサーバーにエージェントをインストールすることで構成されています)、database.ymlを変更するだけで簡単です。なぜあなたはそれがそれより難しいと思いますか?

+0

私はまだのようDEV過程でそこまでではないですし、可能性を予測しようとしています問題。あなたのご意見は非常に参考になります。この質問は、複数のデータベースを使用してシステムをセットアップする方法を決定する際にも役立ちました。あなたはチームに従ってサブドメインでホストされているアプリの複数のインスタンスを支持していますか?またはmysite.comの1つのアプリケーションコードベースで、 "ユーザーログインの際にestablish_connection"タイプのロジックを持っていますか? – gobb0

+0

これは古典的なマルチテナント設計の質問です...一般に、「顧客」あたりのアプリケーションの1つのインスタンスは、より良い分離性を持ち(しばしば開発が容易ですが)、利用率は悪化します。最高の価格性能を望むなら、ユーザーに基づいてデータベースを選択する完全なマルチテナントアプリを構築してください。 – smarx

0

主な問題は、Azure Connectを設定しないで、ネットワークレイテンシ(長いタイムアウト)とオンプレミス側の接続障害です。オンプレミスdbと同期するSQL Azureデータベースの使用を検討する必要があります。これは帯域幅の面でも安いでしょう。

+0

ヘッドアップありがとう。これは確かに私の心の後ろにある問題です。私のチームの規模はわずか10人ですが、構内データベースを持つチームには最大10人のユーザーがアクセスします。さらにコンテキストについては、アプリは基本的には、ユーザーが投稿してメモを取得するブログです。このシナリオでは、オンプレミスデータベースの待ち時間によってアプリが使用できなくなる(レイテンシ> 3秒)と思われますか? @smarxにもここでも考えがあるのであれば好奇心が強いでしょう。感謝します。 – gobb0

0

最新のv3のSQL Serverのアダプタが、今また、あなたはOpenSSLにしてコンパイル最新FreeTDSのを使用しなければならないことを意味し、最新のDBLIB/TinyTDS接続モードを使用する必要がありAzureの http://groups.google.com/group/rails-sqlserver-adapter/browse_thread/thread/50dc2108c4fda584?hl=en

をサポートしています。詳細はすべてここにあります。

https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Using-Azure https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Using-TinyTDS

+0

多くの方々に感謝します。右に! – gobb0