Drupalを使用してサイトを構築するには、5人未満のプログラマーからなる小規模な分散チーム用の開発環境をセットアップする必要があります。開発は、各プログラマーが自分のマシンで行います。理想的には、すべてのサーバーを本番サーバーと同じファームに配置しますが、コストを制限したかったのです。提案されたセットアップは以下のとおりです。私はこれを理解しようとしている初心者なので、説明やコメントをいただければ幸いです。
回答募集
コメントできますか:(1)各ステップの代替案。 (2)見逃したものの追加。 (3)さまざまなサーバーをセットアップして、特に収益前の段階でホスティングコストを最小限に抑える方法。 (4)できるだけ多くのプロセスを自動化するのに役立つ追加のツール。 (5)分散チームへのアクセスを提供する際に考慮すべきセキュリティの問題?
提案されたセットアップ
ソースコードリポジトリ-sourcerepo.comまたはrepositoryhosting.com(Trac/GitまたはRedmine/Gitのいずれか)を使用します。これには、ソースコード、wiki、バグ追跡、およびプロジェクト管理が含まれます。無制限のユーザーの価格は月額約6ドルです。
サーバーのテスト-これには安価なVPSを使用することを考えています(月額約$ 10)。また、開発者が最新バージョンに対して同時にテストできるように、AmazonEC2を検討しています。
ステージングサーバー-安価なVPSを使用するか、Linode.comの2つのノード(1つはステージング用、もう1つは本番用)を使用します。
Production Server-これについてはLinode.comを調べています。
バックアップ/メディアファイルストレージ-Amazon S3アカウントへのバックアップを設定し、ユーザーがサイトにアップロードする画像を保持するようにS3を設定します。これにより、運用サーバーの帯域幅とストレージのコストを削減できます。また、本番サイトでLinode.comによる自動バックアップサービスを使用する場合があります。
テストサーバー、ステージングサーバー、本番サーバーには、Drupal Mercury(drush、code、simpletestモジュール付き)、CI用のHudson、機能テスト用のSelenium、パフォーマンスのベンチマーク用のjMeterなどの同じソフトウェアがインストールされます。
アプリケーションが実行中にシステムを破壊することを期待しない限り、複数のテストサーバーとステージングサーバーを用意するのはやり過ぎです。テストとステージングの両方に単一のサーバーを用意し、複数の仮想ホストに個別のドキュメントルートを設定します。