Добрый день, господа программисты. Я собираюсь заняться разработкой системы, управляющей запуском множества проектов на django (в перспективе и других, если понадобиться), и у меня возникла пачка разных вопросов, а спросить в общем-то не у кого.
Вкратце о системе: SaaS, множество сервисов, нужно на лету добавлять новые, удалять неоплаченные и т.п.. Предполагается, что все сервисы могут находиться на физически разных серверах (разная степень нагрузки, да и безопасности побольше).
0. Язык разработки - python. Мои знания ограничены C/C++, C# и python, так что он. Имеет ли смысл для этих целей учить что-то другое? По своему опыту работы с django могу сказать, что питона скорее всего хватит с головой.
1. Утилита, занимающаяся управлением сервисами, будет написана на Tornado. В её обязанностях - запуск дочерних процессов через а fcgi, запуск lighttpd, mysql серверов. Для самой утилиты не предполагается наличие мощного веб-интерфейса, настраивать её буду через простенькие запросы с мастер-сервера. Подходит ли этот фреймворк для таких целей? У меня не предполагается сотен запросов в секунду, но и большими они не будут.
2. Поскольку никогда не занимался вопросами безопасности: слишком ли опасно каждому сервису подключаться к mysql через одного юзера? Базы у всех отдельные, теоретически к чужой базе сервис не подключится (а если и подключится, то просто продублирует сервис этой базы, не ломая ничего).
3. Хорошая ли идея: запускать django-fcgi на одной машине, а lighttpd, слушающий его на другой? Если делать так, частично сгладится проблема переноса сервиса с одной машины на другую, т.к. клиенту не надо будет чистить кеш dns и т.п., адрес сервиса останется прежним.