Я иногда вспоминаю первый софт, который писал, а было это 20 лет назад. Мелкие эксперименты. Например, корпоративные сайты. Я тогда все писал ра Perl и было достаточно удобно - каждая .pl-ка (cgi-скрипт) выполняется в своем процессе, не пересекается с другими, развивается автономно. Правда, не было тестов, а деплой был по F5 в mc. И сразу работает :) Это, конечно, не промышленный софт, но если посмотреть на всю последующую историю работы с промышленным софтом, то можно выделить несколько важных тезисов (и еще пару десятков к этим): 1. Промышленным стандартом стали языки, в которых разрабатывать в рамках отдельных независимых модулей стало сложнее (java/c#). Этому же способствовал и инструментарий IDE. Да и лицензии на application servers стоили как самолет. Даже там, где обычного apache хватало с лихвой. 2. Основной объем сложности находился в окружающем контексте. Те самые пресловутые требования, по кусочкам собираемые с сотен человек, затем зачем-то переводимых с бизнес-языка на технический людьми, которые бизнес знают с чужих слов и код если и писали, то в далеком прошлом. 3. Динамика изменений стала высокой. И совмещая тезисы один и два мы получаем достаточно странную структуру того самого легаси-монолита. То есть монолит нас вроде бы уберегает от того, что при неверном проектировании запросов между сервисами не станет больше (все ж локально), но при этом он же позволяет нам дать слабину и не сильно заморачиваться с проектированием. Но даже, если попробуем построить хороший, модульный монолит (а это возможно только при хорошем понимании бизнес-сущностей, предметной области), то окажется, что мы ее не знаем, потому что см тезис 2. И это несмотря на то, что те самые IDE позволяют нам проводить крутейший анализ и рефакторинг над всей кодовой базой. Только код остается кодом, а семантика зависимостей лежит над ним, в области бизнеса.
Я иногда вспоминаю первый софт, который писал, а было это 20 лет назад. Мелкие…
Из этого канала
- #107Микрофронтеды в PayPal:…
Микрофронтеды в PayPal: https://medium.com/paypal-engineering/how-micro-frontend-has-changed-our-team-dynamic-ba2f01597f48
- #108Свежая статья о принципах использования feature toggles от thoughtworks. Каждый…
Свежая статья о принципах использования feature toggles от thoughtworks. Каждый из принципов поясняется: - Feature toggles should be flippable - Feature…
- #109Авторизация между сервисами часто воспринимает лишь как метод обеспечения…
Авторизация между сервисами часто воспринимает лишь как метод обеспечения безопасности. Но это не так.
- #105В качестве вводной хорошо подойдет статья от Open Group USING AGILE PRACTICES…
В качестве вводной хорошо подойдет статья от Open Group USING AGILE PRACTICES IN ENTERPRISE ARCHITECTURE https://publications.opengroup.org/w194
- #104На фото текущая версия модели с высоты птичьего полета.
На фото текущая версия модели с высоты птичьего полета.