Найти в Дзене

Монолит или микросервисы в 1С

Проясним суть формулировок из заголовка статьи, "Монолит", "Микросервисы", дело в том, что в разработке программного обеспечения есть две ключевые архитектуры, которые закладываются практически в любой программный продукт. Монолит - архитектура, при которой вся функциональность реализована в рамках единой системы, такая система неделима в части модулей, библиотек и прочих компонент, которые в нее встроены. Микросервисы - архитектура, при которой общая функциональность системы распределена на отдельные приложения\ сервисы, которые в совокупности являются целостным решением, но при этом каждый отдельный сервис выполняется свою функцию. Что общего у продуктов 1С и у паттернов проектирования программного обеспечения? Дело в том, что если представить себе совокупность конфигураций 1С, то можно проследить то что, каждая конфигурация предназначена для определенных целей и если условиться, что под предоставляемой функциональностью мы будем понимать автоматизацию контуров учета в различных ко

Проясним суть формулировок из заголовка статьи, "Монолит", "Микросервисы", дело в том, что в разработке программного обеспечения есть две ключевые архитектуры, которые закладываются практически в любой программный продукт.

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

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

-2

Что общего у продуктов 1С и у паттернов проектирования программного обеспечения? Дело в том, что если представить себе совокупность конфигураций 1С, то можно проследить то что, каждая конфигурация предназначена для определенных целей и если условиться, что под предоставляемой функциональностью мы будем понимать автоматизацию контуров учета в различных конфигурациях, то можно выделить следующий перечень:

  • Оперативный учет (закупки, продажи, производство);
  • Регламентированный учет (учет по РСБУ);
  • Кадровый учет (кадровое делопроизводство);
  • Управленческий учет (МСФО для примера);

С относительно недавних пор можно столкнуться с определением монолит, когда все контуры учета автоматизированы в рамках одной системы, например перечисленный функционал можно реализовать на базе конфигурации 1С ЕРП УХ.

И так же под микросервисами понимают подход, при котором контуры учета распределены по отдельным конфигурациям, например оперативный учет ведется в ЕРП (закупки, производство, продажи), регламентированный учет в Бухгалтерии предприятия, кадровый в ЗУП.

Конечно, перечисленная функциональность может быть существенно атомизирована. например из ЗУП можно вынести в отдельную даже не 1С систему функционал подбора персонала и так далее. Цель данной небольшой статьи в общих чертах описать суть отличий в подходах при проектировании систем.

Какие ключевые особенности следует выделить и помнить о них при проектировании:

1. Монолит, оптимален с точки зрения консолидации данных в контуре одной системы, но очень требователен к ресурсам и существенно усложняет обслуживание в случае если объем информационной базы свыше 500Гб (хотя это очень условно), например при обновлении системы в ряде случаев приходится останавливать определенные процессы, особенно сложно это делать если в контуре системы непрерывное производство;

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

Вывод: При проектировании вашего ландшафта информационных систем рассмотрите несколько вариантов реализации, таким образом вы поймете:

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