Мультиарендность — способность системы удовлетворять потребности одновременно нескольких групп пользователей, организаций и даже конкурентов, работающих в одной отрасли. Это позволяет организациям, которым нужна полная автономия в администрировании своих пользователей и их данных, получать совместный доступ к одним и тем же физическим экземплярам системы и экземплярам приложения, сохраняя при этом строгое разделение своих данных с запретом любому суперпользователю обращаться к ним и осуществлять управление ими. Мультиарендные приложения должны обеспечивать настройку конфигурации с учетом специфических клиентских параметров, однако унаследованные корпоративные приложения зачастую проектировались только для одной организации и выполняются в монопольном режиме.
Сохранение состояния в контексте микросервисов — это возможность получать информацию о более раннем состоянии системы. Ответ микросервиса, сохраняющего такую информацию, может зависеть не только от последнего запроса
к сервису, но и от сохраненного в результате предыдущих взаимодействий состояния. В идеале микросервисы не должны зависеть от состояния, но у монолитных унаследованных программ такая зависимость зачастую сохраняется.
Согласованность данных обеспечивается способностью системы манипулировать данными, находящимися в общем хранилище, только разрешенными способами. Недостатки согласованности данных могут возникнуть в результате ошибок переноса последовательного унаследованного кода, при котором обращение к микросервисам осуществляется через централизованное хранилище данных. Микросервисы проектируются с учетом их масштабируемости, что позволяет параллельно выполнять множество экземпляров микросервисов. Для повышения производительности и масштабируемости микросервисы используют децентрализованные хранилища данных, что приводит к ошибкам согласованности при синхронизации данных. В последовательном унаследованном коде редко поддерживается параллельный доступ к базе данных.
About The Author
Виктор Карабедянц
ИТ директор (CIO), руководитель нескольких DevOps команд. Профессиональный руководитель проектов по внедрению, поддержке ИТ систем и обслуживанию пользователей.