Выбор платформы для написания веб-сервисов (главные критерии: надежность, масштабируемость, скорость) – помогите определиться с выбором платформыИз кандидатов:
1. Perl
2. PHP
3. ASP (ASP .NET)
4. Ruby, Python (другие?)...
Для написания небольших задач - наверное что лучше знаешь и что больше нравится - то и выбирай.
По крайней мере для небольшой задачи я бы так и сделал :)
А что лучше выбрать при больших нагрузках (исходим из того, что сервер свой и поставить туда можно что угодно)?
Если составить базовый список критериев, то получится:
1. Надежность (99,999%) и безопасность.
2. Масштабируемость.
3. Скорость.
4. Работа с большими нагрузками – большие объемы трафика, большое количество одновременно работающих пользователей.
По результатам поиска в интернете получается:
1. Самый надежный и безопасный - Perl. Следом - ASP, потом PHP (с безопасностью для него ситуация вроде довольно быстро меняется в лучшую сторону – благодаря PHP Security Consortium).
2. По масштабируемости - неясно. PHP активно используют крупные компании – к примеру Yahoo и JupiterMedia (http://www.citnews.ru/news/341/), про ASP встречал упоминания eBay.com. Идеальный вариант - чтобы в случае большой нагрузки можно было просто добавить новый сервер с минимальным переконфигурированием. Что в этом случае лучше?
3. По скорости - получается что Perl и PHP приблизительно одинаковы при использовании mod_perl и mod_php. А как в случае использования ASP .NET? Если разделить задачи на расчетные (скажем формирование контента) и выборки/занесения данных из базы?
4. Что здесь предпочтительней? Платформа на основе PHP/Perl или на основе ASP?
Конечно есть и другие не менее важные критерии:
1. Скорость написания кода.
2. Удобство отладки.
3. Сопровождение кода (тем-же или другим человеком).
4. Расширение функциональности действующей системы.
5. Наличие готовых стандартных библиотек "на все случаи жизни" (обработка XML, юникод и т.д.).
... вообщем полный цикл поддержки системы.
Как здесь обстоит дело? Если исходить из того, что это будет не пара скриптов, а система, которую будет разрабатывать команда (около 5-10 человек) в течении минимум полугода и потом она будет активно развиваться - что в этом случае предпочтительней?
Понятно, что в целом ответы зависят от того что нужно сделать.
Если более конкретизировать задачу - то это будет что-то типа мета-поисковика (сбор информации из разных сайтов, парсинг и занесение в базу, отображение результатов пользователю по поисковому запросу).
Поделитесь пожалуйста вашим личным опытом - он самый ценный! :)
Если был опыт в разработке крупных систем (пусть они совсем не похожи на мета-поиск) - какие возникали проблемы, насколько они хорошо решались на разных платформах? В пользу чего в итоге был сделан выбор? По каким соображениям и критериям?
Спасибо за помощь!
P.S. Буду также благодарен за ссылки на статьи, обсуждения в форумах, проясняющие вопрос - возможно я что-то упустил при поиске информации.
Мой e-mail для приватных сообщений - rss354_собака_rambler_точка_ru