foxigen
@foxigen
Руководитель IT агентства.

Какой стек технологий выбрать для разработки экосистемы проектов?

Я занимаюсь разработкой интернет проектов. Сейчас вместе с командой специалистов мы готовимся к разработке большого и высоконагруженного проекта.
Общая концепция выглядит приблизительно так:
Будет много разных баз данных, в которых будет храниться информация разного типа, текстовая, графическая, видео и аудио. Каждая база будет содержать информацию по разным темам.
Отдельно будет полнотекстовая поисковая система объединяющая информацию из всех источников.
Так же будет много различных микросервисов расширяющих сервисный функционал, например сквозная авторизация, сервис закладок, хранения паролей и т.д.
Посоветуйте пожалуйста какой стек технологий для разработки выбрать, с учётом некоторых условий:
- Язык(и) программирования современные и содержащие подробную информационно-документальную базу и популярные сообщества поддержки.
- Высокая производительность и многопоточность.
- Простая масштабируемость.
- Актуальность на ближайшие 2-3 года.
- Интеграция с проектами написанными на других языках.
Постарайтесь пожалуйста привести аргументы в пользу того или иного выбора, а так же возможные минусы.
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ответы на вопрос 5
GavriKos
@GavriKos
Ну как бе команда спецов у вас есть - пусть и решает.

Под ваше ТЗ подходят любые ЯП - потому что ТЗ говно.
Ответ написан
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
Можно я внесу немного конструктивной критики в ваш вопрос, ну и сделаю некоторые выводы, возможно вам они будут полезны...

Я занимаюсь разработкой интернет проектов. Сейчас вместе с командой специалистов мы готовимся к разработке большого и высоконагруженного проекта.
Вы же не рекламное письмо фирме пишете, говорите четко - "у нас есть 6 маркетологов, джун верстальщик и эйчар". Ну или " У нас было два пакетика травы, семьдесят пять ампул мескалина, 2 явиста мидла, 2 пхп сеньера, бухгалтерия, наполовину наполненная старушками с калькуляторами, и целое море различных специалистов по яваскрипту, цсс, хтмл и их комбинациям в ассортименте, а так же...".
Тогда понятно - что вам искать, какие спецы какого уровня у вас уже есть и стоит ли их менять или строить будущую архитектуру под уже имеющийся состав.

Общая концепция выглядит приблизительно так:
Будет много разных баз данных, в которых будет храниться информация разного типа, текстовая, . Каждая база будет содержать информацию по разным темам.
Информация графическая, видео и аудио типов чаще всего не хранится в бд. Если вы не программист/архитектор IT структур - поручите вопросы архитектуры и структурирования данных кому-либо из команды, кто в этом разбирается (если таковые есть).

Отдельно будет полнотекстовая поисковая система объединяющая информацию из всех источников.
В принципе не особо зависит от стека, тут больше архитектурно-проектировочная задача.

Так же будет много различных микросервисов расширяющих сервисный функционал, например сквозная авторизация, сервис закладок, хранения паролей и т.д.
Тоже самое - больше архитектура, нежели стек.

Посоветуйте пожалуйста какой стек технологий для разработки выбрать, с учётом некоторых условий:
- Язык(и) программирования современные и содержащие подробную информационно-документальную базу и популярные сообщества поддержки.
На сегодняшний день есть 4-5 хорошо распространенных языка, используемых в вебе: пхп, ява, жс, питон, в меньшей степени c#, руби, голанг, остальные больше экзотика, нежели мэйнстрим.
- Высокая производительность и многопоточность.
Которая в вебе не особо нужна, хотя практически все вышеперечисленные языки в той или иной мере многопоточность поддерживают. Опять же - сразу "видны уши" вашей недостаточной компетентности в вопросах разработки высоконагруженных проектов. Дело в том что в 99% случаев код именно языка программирования особо не нагружен. Больше всего процессорного времени будет съедаться запросами к бд и внешним сервисам. Код просто прослойка между фронтом и бд, чаще всего просто выполняющая задачи CRUD прослойки.

- Простая масштабируемость.
- Актуальность на ближайшие 2-3 года.
Везде подходит

- Интеграция с проектами написанными на других языках.
Ни один язык не интегрируется с другим. Есть вопросы обмена данными между различными приложениями, но они абсолютно одинаковы на любом языке, не в плане кода, а в плане методов реализации. По этому это тупой и бесполезный пункт.

Постарайтесь пожалуйста привести аргументы в пользу того или иного выбора, а так же возможные минусы.
выбор надо делать не в пользу языка, а в пользу специалистов (ну и от них плясать уже по стеку). Как пример - проще всего поднять на пхп/ноде, специалистов много, они дешевле например явистов или шарпистов, поддержка проекта не сдохнет при уходе какого-нибудь ведущего спеца. С другой стороны, если речь идет о корпоративном заказе - скорее всего вам придется писать на яве/цшарп, емнип только у них есть соответствующие сертификаты по работе с шифрованием и прочей секюрити. Так же сильно зависит от того кто вообще есть в вашем регионе, кого можно быстро/возможно вообще найти на замену уходящим сотрудникам, и еще 1000 и один вопрос, который отпадает при выборе специалиста, а не стека (после этого голова болит уже у него, а не у вас, но в своей области, что гораздо лучше).

На вашем месте я бы не лез в это вообще, если вы не являетесь специалистом айти профиля, а нанять прожект менеджера с опытом больших проектов, который определит уже что и зачем вам нужно.
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
пусть будет C#, Java, Php
все это подойдет
Ответ написан
@AlexSku
не буду отвечать из-за модератора
У Александра Гранина был лозунг "Фри монады - наше всё!" (это Haskell).
(книга Functional Design and Architecture)
Ответ написан
Комментировать
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Тот, который знает ваша команда специалистов. Ну или вы готовы финансово вложиться в команду и обучить их какой-то новой технологии и в дальнейшем зарабатывать используя данную технологию по тем или иным причинам. Если ваша команда не может сделать данный выбор - в вашей команде не хватает техлида, который обладает достаточной компетенцией для выбора стека под ваши задачи. Для начала - составьте полноценное техническое задание во всеми спецификациями, требованиями и ограничениями, а далее наймите специалиста/консультанта, который сделает выбор в сторону наиболее подходящей технологии под ваши задачи и поможет команде в реализации вашего проекта. В рамках текущего описания задачи под ваши требования подходит абсолютно любой стек.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:47
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект