Мне нужно настроить среду разработки для небольшой распределенной группы программистов из пяти человек, чтобы создать сайт с использованием Drupal. Разработкой занимается каждый программист на своей машине. В идеале у нас должны быть все серверы в одной ферме с производственным сервером, но мы хотели ограничить наши затраты. Предлагаемая установка приведена ниже. Я новичок, пытаясь понять это, поэтому любые пояснения / комментарии будут оценены.
Требуются ответы
Можете ли вы прокомментировать: (1) альтернативы каждому шагу; (2) дополнения к тому, что мы пропустили; (3) способы настройки различных серверов для минимизации затрат на хостинг, особенно на этапе до получения дохода; (4) дополнительные инструменты, помогающие автоматизировать как можно больше процессов; и (5) вопросы безопасности, которые мы должны учитывать при предоставлении доступа к распределенной команде?
Предлагаемая установка
Репозиторий исходного кода - Используйте sourcerepo.com или repositoryhosting.com (Trac / Git или Redmine / Git). Это будет содержать исходный код, вики, отслеживание ошибок и управление проектами. Цены составляют около 6 долларов в месяц для неограниченного количества пользователей.
Тестирование серверов - Мы думаем использовать для этого дешевый VPS (около 10 долларов в месяц). Мы также рассматриваем возможность использования Amazon EC2, чтобы разработчики могли одновременно тестировать самую последнюю версию.
Промежуточный сервер - Мы либо будем использовать дешевый VPS, либо использовать два узла на Linode.com (один для постановки и один для производства).
Производственный сервер - Для этого мы смотрим на Linode.com.
Резервное копирование / Хранение медиафайлов - Мы хотим настроить резервное копирование в учетную запись Amazon S3, а также настроить S3 для хранения изображений, которые пользователи будут загружать на сайт. Это поможет снизить затраты на полосу пропускания и хранение на рабочем сервере. Мы также можем использовать сервисы автоматического резервного копирования Linode.com на рабочем сайте.
На тестовых, промежуточных и производственных серверах будет установлено одно и то же программное обеспечение, включая Drupal Mercury (с модулями drush, code и simpletest), Hudson для CI, Selenium для функционального тестирования и jMeter для оценки производительности.
Наличие нескольких тестовых и промежуточных серверов является излишним, если вы не ожидаете, что приложение разрушит систему в процессе работы. Просто имейте один сервер как для тестирования, так и для тестирования, с несколькими виртуальными хостами с отдельными корнями документов.