2009-08-20 7 views
1

Djangoプロジェクトの開発がほぼ完了しました(プラグイン可能なアプリケーションがいくつかあります)。DjangoをSaaS(ベースキャンプスタイル)としてデプロイ

私はこのプロジェクトをSaaS(basecampのようなもの)として提供したいと考えています。

すなわち:project1.mysaas.com、project2.mysaas.comなど

私は私の道を示す中であなたの専門知識を求めています。私が考えてい

の方法があります。

  • 1利用サイト、その後に取って(Djangoプロジェクトを作成するに応じて
  • 3に設定を設定し、要求を検出するために、サイト固有のsettings.py
  • 2ミドルウェアを定義しますプラグイン可能なアプリ)各サイト

ありがとう。

btw、私は合計初心者です。

答えて

3

あなたの要件はまったく明確ではありませんが、私はあなたが何かトリッキーなことをしていないと仮定し、あなたの "project1"、 "project2"は特別なブランドを必要としない顧客名であると仮定します。あなたのアイデアについてまず

、:

  1. おそらく、各サイトが異なったブランドされていない限り、サイトのフレームワークを使用する必要はありません。サイトフレームワークは、設計されたことをうまく機能します。これは、共通のデータセットのさまざまなビューを示します。

  2. これは機能しますが、おそらくIMOには最適な方法ではありません。

  3. これは管理しにくいです。

ここには非常に多くの問題があるため、これは本当に難題です。読書を始めるまともな場所はHigh Scalability Blogで、特にあなたのためには37signals Architectureの投稿になるでしょう。

は最後に、ここで(つまり、極端なスケーラビリティを必要としない)私は小さいのSaaSアプリでやっているものだ:ユーザーページがパートナー/リセラーでブランド化されますので、

  • は、(サイトのフレームワークを使用し、

  • すべてのDjangoインスタンスからのリソース使用を最小限に抑えるためにmod_wsgiを使用してください。

  • ミドルウェアの代わりに、ユーザーの会社を識別する共通のコードをすべてのビューの先頭に置きます。私はそれがミドルウェアで有用だとは思わない理由で、ビューにロジックのためにこれが必要です。

+1

ありがとうございます。 私がしようとしていることを説明する最も簡単な方法は、私が作成しているDjangoプロジェクトがBasecampに相当するということです。次に、私はこのプロジェクトを複数のユーザーに提供したいと思います。それぞれにはBasecampのような独自のプロジェクトスペースがあります。 –

関連する問題