複数のサイトをホストするために使用できる CMS を構築しようとしています。このプロジェクトでは、何百万回も車輪の再発明を行うことになることを知っているので、既存のオープンソースの Ruby on Rails CMS を拡張して、自分のニーズを満たすことを考えています。
これらのニーズの 1 つは、1 つのコードベースのみを使用して複数のサイトを実行できるようにすることです。こうすることで、更新したい場合は 1 か所で更新でき、その変更はすべてのサイトに反映されます。これは、アプリケーションの複数のインスタンスを実行することでスケーリングできると思います。
ドメイン/サブドメインを使用して、表示するデータを決定できると思います。たとえば、誰かが subdomain1.mysite.com にアクセスすると、アプリケーションはデータベースで subdomain1 のコンテンツを検索します。
私が目にする問題は、ほとんどの構築済みの CMS ソリューションにあります。それらは、使用したいサイトを含む 1 つのサイトのみをホストするように設計されています。そのため、データベースは 1 つのサイトで動作するように構成されています。ただし、サイトごとに「新しいデータベースを作成」し、上記のようにドメイン/サブドメインに基づいて接続するデータベースを指定することで、これを克服できるという考えがありました。
これを Heroku でホストすることを考えているので、これに対する私のオプションは何だろうと思っています。私は Amazon S3 や Amazon SimpleDB にはあまり詳しくありませんが、サイトごとに新しい MySQL データベースを作成するよりも、このソリューションをより現実的なものにするある種の「クラウド データベース」があるように感じます。
どう思いますか?私はこれについて間違った方法で考えていますか?この分野で何かアドバイスはありますか?