Микросервисы – это самодостаточные процессы, обеспечивающие конкретные бизнес-способности. Микросервисы разбивают деятельность на компоненты, которые легче поддерживать по отдельности. Их можно разворачивать по отдельности, в виде независимых бизнес-приложений. Микросервис обладает собственным хранилищем данных. Связываются друг с другом микросервисы обычно через HTTP и обмен сообщениями. Поскольку микросервисы не запоминают состояние, они легко масштабируются.
Микросервисная архитектура является противоположностью единого монолитного приложения. В традиционном приложении процессы неразрывно связаны друг с другом и с другими сервисами. В результате небольшая модификация одного процесса может сказаться на всей системе. В этом проблема low-code платформ BPM. Микросервисная архитектура эту проблему решает. Если микросервис нуждается в модификации, то такая доработка должна быть простой. Такая гибкость очень важна для предприятий. При традиционной разработке приложений вносимые изменения могут повлиять на всю систему. Преимущество микросервисов (при условии правильного проектирования) состоит в том, что их можно быстро и легко менять. Короче говоря, микросервис нацелен на одну бизнес-способность. Это не значит, что он делает что-то одно, просто у него очень конкретная цель.
В связи с постоянно растущей сложностью бизнес-систем узкоспециализированные микросервисы становятся все более популярными. Каждый микросервис решает отдельную задачу, а в совокупности они обеспечивают надлежащее внимание ко всем аспектам деятельности организации. Технология микросервисов специально разработана для встраивания в существующие приложения, такие как управление взаимоотношениями с клиентами (CRM), управление цепями поставок (SCM) или программное обеспечение для управления ресурсами (ERP). Микросервисная архитектура позволяет масштабировать разработку программного обеспечения. Через микросервисы стыкуются ИИ и BPM.
Применение микросервисов не обходится без проблем:
● Сложность
. Сложность становится проблемой. Добавление микросервисов может приводить к их дублированию, поскольку среда становится более распределенной.● Коммуникации
. Обеспечение коммуникаций является непростой задачей из-за распределенного развертывания микросервисов. Потенциальное большое число сервисов требует от разработчиков дополнительных усилий по надлежащему управлению коммуникациями. Из-за этого микросервисная архитектура может очень быстро усложниться. В результате коммуникации могут значительно замедлиться.● Квалификация
. Сложность микросервисной архитектуры требует талантливых разработчиков. Вам понадобится отдельный разработчик для сопровождения, обработки запросов пользователей и новых интеграций. Хотя микросервисы требуют большего объема программирования по сравнению с low-code аналогами, в конечном счете их проще контролировать и проще заменять при изменении технологий.● Обязательства
. Микросервисы – это долгосрочная стратегия. Но те, кто хочет большего контроля, легко принимают решение о переходе от low-code к микросервисам. Решимость научиться разбираться в системной архитектуре и в том, как управлять и поддерживать микросервисы, в долгосрочной перспективе окупается.Самые подходящие для применения микросервисов отрасли – разработка ПО и высокие технологии. Подход к BPM на основе микросервисов отлично подходит для создания корпоративных облачных приложений.
Особенно он может быть полезен независимым разработчикам корпоративного ПО для встраивания процессного движка в свои продукты. Преимуществом микросервисов является то, что компания-разработчик ПО может приобрести движок BPM и построить вокруг этого ядра все, что ему требуется. В следующей таблице приведено сравнение low-code[17]
и микросервисов с нескольких точек зрения [ProcessMaker Staff 2018].8.3.4. Блокчейн
Блокчейн – это единый источник достоверной информации в виде структуры данных, которая позволяет создать децентрализованный, неизменяемый, защищенный, снабженный отметками времени цифровой реестр и предоставить к нему доступ независимым сторонам. Блокчейн называют также технологией цифрового реестра (digital ledger).
Отметим, что хотя термины биткоин и блокчейн часто используются как синонимы, это не одно и то же: биткоин – это название криптовалюты и ее экосистемы, а блокчейн – это класс компьютерных алгоритмов и программного обеспечения. Биткоин использует блокчейн в качестве протокола, обеспечивающего защищенную передачу криптовалюты.
Существует несколько разновидностей блокчейна:
● Публичные (public) блокчейны
– большие распределенные сети с собственными токенами. Они полностью открыты для участия на любом уровне и используют программное обеспечение с открытым исходным кодом, который поддерживает их сообщество.