Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Бпм системы в микросервисной архитектуре

Using Machine Learning and Open Source BPM in a Reactive Microservices Architecture

Machine learning is changing the world. Self-driving cars, conversational virtual assistants, and airline check-ins via facial recognition are a few examples of where we are headed. In each of these examples, machine learning is automating processes that the human brain has done in the past, such as how images are recognized, and language is processed.

This also extends to the processes that companies across the world use to run their businesses. Business processes are typically a great opportunity for automation, which open source BPM products can help solve. Combining open source BPM and machine learning together can take automation to another level.

For example, machine learning can be used to provide recommendations that can improve decision making in a business process. But how can we integrate machine learning and open source BPM in a reactive microservices architecture? We want our services to be small and focus on doing one thing well, while being decoupled and independently deployable. In this article, we will discuss an integration pattern for achieving this using machine learning, open source BPM and reactive microservices.

Machine Learning Background

First let’s start off by providing a quick background on machine learning. It’s really a type of artificial intelligence (AI). Below is a timeline history that illustrates the different phases we will walk through.

AI started in the 1950’s with what was known as expert systems. These systems contained if/then logic that was programmed by a human. Later on, early forms of machine learning software focused on linear regression, trees, time series regression, and unsupervised learning. In the 1980’s, neural network machine learning started to emerge. In the past 25 years, machine learning software has greatly advanced and much of it has become open source.

Compute power has also become a lot cheaper and quicker to acquire through cloud computing. H2O is one such example of an open source in-memory big data machine learning platform. It provides a number of algorithms (e.g. Generalized Linear Model, Random Forest, Gradient Boosting Machine, Principals Components Analysis, etc.) for training machine learning models along with generating metrics showing the accuracy and performance of the generated model.

H2O will also generate a deployable artifact that you can include in your project, such a POJO (Plain Old Java Object) or MOJO ( Model ObJect,Optimized) artifact. MOJO is typically used when the POJO hits the size limit or higher performance is needed.

The next key concept to understand with machine learning are two high level categories — supervised and unsupervised.

Supervised is where you label your data and include features along with a target variable in a data set. This target variable represents the data element you want to predict, while the features are the data elements that can be used to predict the target. The target variable is provided in the dataset for past records, and the algorithms use the features to determine how to predict the provided target variable. Unsupervised is where you don’t label your data (target is not provided), rather let the software find relationships. It typically does this through grouping similar data together.

With both cases, it is always good to provide as much data as possible, so the machine learning software can be as accurate as possible. Also, it’s important to make sure the data is not biased in anyway, otherwise the model will be biased. With machine learning, the model is only as good as the data.

Integrating Machine Learning into Reactive Microservices

Now that you have some context on machine learning, let’s discuss how it can be integrated with microservices, reactive architecture and open source BPM. By now you have probably all heard about microservices and their benefits.

Check out my previous blogs to learn more about reactive architecture, and open source BPM.

First let’s talk about the use case. Imagine a scenario where you have a business process that may involve some degree of human workflow along with system API calls. Machine learning could be used to help reduce the amount of workflow to the user. It could also be used to provide the user with additional information to make better decisions.

From a design perspective, you typically want to keep your open source BPM business processes light, and have it focus on the things it is good at doing. Otherwise, you can quickly end up with a monolithic application. So, have BPM focus on the workflow and have external services focus on doing the work.

To help achieve this, you can leverage Kafka as the integration mechanism. http://kafka.apache.org/

Kafka is a distributed streaming platform that can be used as an event stream in a reactive microservices architecture. Microservices are pre-programmed ahead of time to react to specific events present in Kafka. Kafka itself is fast and has high throughput, proven by LinkedIn as they use it to process billions of transactions a day. It is also often used for backpressure in many architectures, acting as a buffer between a producer and consumer that allows the consumer to read at the rate they desire. It also has configurable persistence, which can be used for event replay in a microservices architecture. This enables microservices to catch back up with any records it may missed while being down.

One proof of concept I built recently (along with David Murphy from Red Hat) uses a native Kafka extension to the open source BPM tool, Red Hat Process Automation Manager™ (PAM). (Red Hat PAM is the new name for Red Hat BPM Suite and both are based on older branches of the community project jBPM.) Extending Red Hat PAM to integrate with Kafka enables a business process to directly produce and consume events to Kafka topics. To achieve this, we created a custom work item handler for Kafka in Red Hat PAM™, along with Kie Server Extension (developed by David Murphy from Red Hat). The work item handler creates a Kafka service task that can be used in the business process to produce to Kafka. The Kie Server Extension update consumes events from Kafka, does some parsing, and then sends those events as signal events to the business process. Below is a sample diagram that illustrates the Kie Server Extension, which is based off an older version of BPM Suite 6.2 and leverages an EJB construct.

In Red Hat PAM 7.0, the architecture would look like this, which removes the EJB construct and uses the Event Emitter concept:

Архитектура информационных систем

Спасибо всем, кто нашел вчера время посетить мастер-класс о визуализации архитектуры проекта на одном слайде. Как и обещал выкладываю презентацию: https://yadi.sk/i/8CMnTdZl3YnWUD

Рассказывая об изучении памяти Германом Эббингаузом, популяризаторы науки говорят нам о том, что в течение 20 минут мы забудем не менее трети изложенного материала. Через час будем помнить менее половины прочитанного или услышанного. В течении дня доля запомненной информации уменьшится до 30%, а на протяжении следующей недели плавно сползет до 20%. Мало кто добавляет, что эти 20% мы, скорее всего, будем помнить практически всю жизнь.

Читать еще:  Тест на тему архитектура пк

Вероятно так, из школьников, которым совершенно случайным образом запомнился урок про диаграммы Эйлера, получаются архитекторы предприятия

Микросервисная архитектура в корпоративном ИТ-ландшафте

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

Но особенно удручает корпоративных пользователей низкий уровень доступности бизнес-приложений. Плановые работы, не дающие возможность воспользоваться системой, или непредвиденные сбои случаются именно в тот момент, когда срочно необходимо выполнить важное и срочное дело: сформировать сложный заказ, оформить долгожданный договор, решить проблему крупного клиента. ИТ-отделы организаций стараются изменить ситуацию: внедряют новые приложения, сокращают сроки доработки существующих систем, постоянно повышают уровень их доступности на очередную долю процента. Но кажется, что даже сами ИТ-отделы уже не очень верят в позитивный результат этой многолетней борьбы. Продолжить чтение «Микросервисная архитектура в корпоративном ИТ-ландшафте» →

Вторая космическая скорость. (Escape Velocity)

У Джеффри Мура потрясающий талант выбора удачного угла зрения. Такого, чтоб сложные и малопонятные явления и события вдруг приобретали простые, даже банальные толкования. Я уже вспоминал его модель проникновения инноваций в заметке ИТ стратегия в переходный период. Сегодня просто еще одна цитата из другой книжки Escape Velocity. Цитата, как я думаю, актуальная сейчас для многих обитателей корпорацией, потому как в сентябре не только дети идут в школу, но и их родители на своих работах приступают к верстке бюджета на следующий год: Продолжить чтение «Вторая космическая скорость. (Escape Velocity)» →

Вебинар: ИТ-архитектура и управление изменениями

Друзья! Осень еще не скоро, но серия осенних вебинаров уже начинается. Приглашаю вас 15 августа в 20:00 MSK на бесплатный вебинар: «ИТ-архитектура и управление изменениями. Обновление процесса CHG». За предыдущие годы в ИТ-процессах изменилось очень многое. В разработке появились не только гибкие методологии, но и обрели реальное воплощение инструменты непрерывной интеграции и поставки (CI/CD). В инфраструктуре и операциях (I&O) вряд ли кто-то еще не слышал про devops. Проектные подходы уступают свое место продуктовым и вносят в мир ИТ Design Thinking, Lean Startup и прочие неведомые ранее термины. Lean IT и Kanban – тоже с нами. И кажется только в процессе управления изменениями ничего не меняется. Запросы на изменения (Request for change), Change Advisory Board (CAB), CMDB и прочая архаика сохраняет свои позиции (у тех, кто отстроил эти процессы, разумеется). На самом деле это не совсем так и change тоже меняется. Приведу несколько ссылок на эту тему:

Книга Роба Ингланда Plus! The Standard+Case Approach: See service response in a new light 2013 года, подборка материалов The Standard+Case approach to response management и последующая серия публикаций в блоге, например одна из последних: Change goes away.Статья Joanne Molesky в блоге Axelos Is it time to change Change Management? и многие другие подобные обсуждения.

Ну а главный вопрос предстоящего вебинара: можно ли поменять что-либо в корпоративных ИТ, не поменяв CHG. Можно полностью поменять методологию разработки, автоматизировать сборку, тестирование, развертывание и даже обработку событий мониторинга, заменить написание требований рисованием customer journey map. Но будет ли от этого хоть какой-то толк, если рамка процесса управления изменениями останется прежней?

Своей точкой зрения я поделюсь на предстоящем вебинаре. Регистрация: https://mxsmirnov.timepad.ru/event/543835/

PS: И не забывайте регистрироваться на вебинар 9 августа BIAN (Banking Industry Architecture Network) — Обзор методов и принципов проектирования который проведет Роман Дынник

Запись вебинара: Визуализация постановки задачи

Как будут развиваться BPM-системы:
мнения российских экспертов

Содержание

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

Задача современной BPMS — без проблем подключать к деятельности компании новые технологии. Именно поэтому внутри нашей компании когда-то появились отделы, которые занимаются AI, RPA и Smart Interfaces (голосовыми роботами и чат-ботами). В планах на ближайшее будущее — наращивать внутренние компетенции по интеграции новых технологий, — рассказывает Алексей Трефилов, директор ELMA.

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

Анна Кузнецова, руководитель практики BPM компании Naumen, член ассоциации ABPMP Russia, полагает, что в ближайшие годы будет происходить интеллектуализация различных процессов средствами RPA и машинного обучения, а также объединение нескольких систем в единый контур для решения задач одной группы процессов. Например, возможно слияние BPM, контактных центров, систем интеллектуализации и BI.

Активная интеграция BPM с другими цифровыми технологиями должна привести к появлению интегрированных цифровых платформ, которые будут предоставлять все эти сервисы как конструктор Lego, – так, чтобы можно было собирать из них бизнес-приложение без кодирования или с минимальным кодированием (low code), считает Олег Еленин, генеральный директор «Бизнес-Консоль».

Вряд ли это будет монолитная супер-система (Suite) – микросервисная архитектура и контейнеризация считаются более прогрессивным. Но так или иначе, на горизонте пяти лет такие системы мы скорее всего увидим, — полагает он.

Владимир Андреев, президент компании «ДоксВижн», одной из актуальных задач BPM-систем видит повышение их масштабируемости для обеспечения поддержки большого количества процессов:

При комплексном внедрении BPM-системы в крупной организации количество процессов может увеличиваться экспоненциально по мере роста охвата различных бизнес-процессов. Это могут быть миллионы экземпляров процессов. Задача платформы BPM — обеспечить плавное горизонтальное масштабирование для обеспечения подобного роста.

Помимо этого, президент «ДоксВижн» перечисляет и другие направления развития BPMS: повышение юзабилити систем как с точки зрения использования, так и настройки, и моделирования процессов; конвергенция систем управления процессами и системами групповой работы, кейс-менеджмента, средств управления задачами и инструментов корпоративной коммуникации.

Алексей Клочков, управляющий директор компании «Террасофт» считает, что в ближайшие годы ключевой будет концепция «everyone a developer», которая становится все более популярной во всем мире. Это значит, что сотрудники компании без навыков программирования смогут самостоятельно автоматизировать процессы и настраивать программные решения.

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

По мнению Ангелины Михиной, руководителя направления BPM ГК «Корус Консалтинг», в ближайшее время рынок во многом будет определять растущий интерес к автоматизации всего и исключения влияния человеческого фактора на регламентированные процессы.

К примеру, это будет способствовать увеличению популярности решений process mining, пока еще новых для российского рынка. В прошлом году Gartner назвал process mining одной из стратегически важных технологий. Она позволяет автоматизировать описание процессов «as is» путем сбора и обработки данных, полученных напрямую из информационных систем компании. По сути, инструменты process mining могут анализировать бизнес-процессы в разных разрезах на предмет их эффективности – и выявлять те, которые больше других нуждаются в улучшениях и трансформации.

Читать еще:  Архитектура мобильного клиент серверного приложения

За счет этого компании могут снизить затраты на внедрение ИТ-инфраструктуры при одновременном повышении ее производительности. Process mining становится первым шагом на пути к комплексной и инновационной трансформации бизнеса при помощи технологий RPA, искусственного интеллекта или цифровых двойников предприятий, — рассказывает Ангелина Михина.

Анатолий Белайчук, BPM-евангелист в Comindware, говорит об актуальности не столько развития BPM-систем как самостоятельного класса ПО, сколько вхождения их в формирующийся новый класс систем «умной автоматизации» на правах одного из модулей наряду с RPA, искусственным интеллектом и чат-ботами и т.д.

Название еще не определено – одни говорят о Digital Business Platform (DBP), другие о Digital Automation Platform (DAP), третьи об Intelligent Automation Platform. Различаются и подходы – кто-то видит платформу цифровизации как традиционный тесно интегрированный пакет (Suite), кто-то – как набор облачных сервисов вида «процесс как услуга», «бизнес-правила как услуга», объединенных микросервисной архитектурой. Но так или иначе, эти разработки уже активно ведутся, так что ближайшие годы мы увидим много новинок, — резюмирует BPM-евангелист в Comindware.

Роботизация процессов

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

Наращивание умной функциональности

Отчеты и панели индикаторов (dashboards) BPM-систем традиционно описывают прошлое и, как правило, не предоставляют информацию о контексте, что затрудняет принятие эффективных решений. Новые технологии, например, AI (Artificial intelligence, Искусственный интеллект) и ML (Machine Learning, Машинное обучение), а также методы и подходы, например, Process Mining, применяемые в современных BPM-системах призваны уйти от данного недостатка, рассказывает Константин Лопарев, руководитель направления компании «Ланит – Би Пи Эм» (группа компаний «Ланит»).

Интуитивно-понятный интерфейс и принципы low-code

Растет интерес к системам, реализующим интуитивно-понятный интерфейс и принципы low-code (т.е. параметрическая настройка, не требующая программирования), что сокращает требования к квалификации пользователей и администраторов и снижает «барьер вхождения».

Тенденцию движения в сторону реализации принципа настоящего low-code замечает и Алексей Трефилов, директор компании ELMA.

Об эволюции к low-code платформам упоминает и Олег Еленин, генеральный директор компании «Бизнес-Консоль.

Легкость трансформации

Современные BPM-системы должны легко трансформироваться в соответствии с актуальными потребностями заказчиков.

По словам Василия Анфиногентова, директор отделения автоматизации деловых процессов компании «Форс — Центр разработки» (ГК «Форс»), развитие BPM-систем идет в нескольких направлениях. Во-первых, это переход ко все более специализированным процессам — от общих и стандартных к автоматизации специфических процессов конкретной организации. Во-вторых — переход ко все менее формализованным процессам, что является серьезным вызовом для традиционного подхода.

Отказ от десктопных приложений

В компании «Первая Форма (1Форма)» на основании собственной практики замечают тенденцию окончательного отказа заказчиков от десктопных приложений и ориентацию на тандем «базовая система в web + мобильное приложение».

Другие

Алексей Лапшин, генеральный директор компании «Аплана Бизнес решения» (Группа компаний Аплана), в числе основных направлений развития BPM называет превращение BPMs из систем автоматизации каких-либо отдельных процессов в единую корпоративную процессную шину или платформу. Причем на базе этой платформы происходит интеграция других связанных информационных систем.

Алексей Клочков из «Террасофт», рассказывает, что все большим спросом пользуется объединение на единой платформе технологий business process management и case management. Кроме того, продолжается развитие умных технологий с использованием инструментов машинного обучения и интернета вещей. Также, по его словам, развиваются целые экосистемы с готовыми процессами и расширениями.

Алексей Трефилов (ELMA) рассказывает, что его компания регулярно старается выходить за рамки привычной BPM-концепции, захватывая области за пределами структурированных процессов.

Макро-польза микро-сервисов: мост от legacy-архитектур к современному IT

    Блоги, 17 марта 2019 в 1:32

Рассказывает Антон Херувимов, Technology Delivery Lead в компании Accenture Russia.

Цифровая трансформация, новые возможности digital-инструментов и архитектуры современных ИТ-систем создают парадигму современных технологий (New IT — так называет её компания Accenture). Она включает в себя самые продвинутые технологии (облака, ИИ, аналитику данных, машинное обучение и т. д.) и процессы (Agile, DevOps и Design Thinking), а также подразумевает несколько стадий трансформации сложной ИТ-инфраструктуры крупных компаний. Одним из первых шагов к её реализации становится адаптация слоя ИТ-микросервисов на базе существующих legacy-платформ.

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

Микросервисы для большого ИТ-будущего

Термин «микросервисная архитектура» (Microservice Architecture) обрёл популярность в последние несколько лет. Это способ разработки приложений через объединение независимо развёртываемых ИТ-сервисов. Такой подход позволяет построить вокруг сложившихся бизнес-процессов и потребностей автономный сервис. Благодаря использованию стандартных протоколов взаимодействия, например HTTP-вызовов через API и брокеров сообщений, микросервисы могут быть написаны на разных языках программирования и использовать различные технологии хранения БД.

При традиционном подходе к созданию ИТ-системы по принципу «монолита» управление больше фокусируется на технологиях. Команды формируются по технологическому принципу — разработчики, администраторы БД, аналитики данных и т. д. Такой подход вызывает серьёзные трудности при реализации бизнес-функциональности в ИТ-систему, поскольку их нужно производить через кросс-командное взаимодействие.

Микросервисы позволяют формировать независимые (agile) кросс-функциональные команды с фокусом на определённой бизнес-задаче вместо технологии. Такие команды самодостаточны, хорошо сфокусированы, используют те подходы и технологии, которые максимально эффективны в конкретном случае и позволяют переключиться с «проектного управления» на «продуктовое».

В микросервисах каждый элемент выполняет только одну функцию и может быть независимо от других сервисов «донесён до production», поэтому, чтобы внести изменения в решение, не нужно перестраивать весь алгоритм. Если возникает необходимость в обновлении, перестройке, отладке и других коррективах, то достаточно осуществить их на конкретном участке ИТ-системы. Например, если необходимо добавить новый способ доставки или оплаты на сайте интернет-магазина, для этого достаточно внести изменения в один модуль.

«ООО «СТМ»», Санкт-Петербург

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

По сути, микросервисы — это слой между существующей ИТ-инфраструктурой и клиентской частью интерфейса. Его можно с успехом применять практически в любой области и для решения самых разнообразных задач. Также при выборе стратегии ИТ-развития компании в пользу полного отказа от «коробочного» подхода, микросервисы могут стать надёжным и эффективным ядром новой digital-платформы для успешного роста бизнеса в 21 веке.

6 главных преимуществ микросервисной архитектуры

  1. Новое качество масштабируемости. При возникновении соответствующей потребности не нужно масштабировать всю систему, разбирая её до основания, — достаточно внести необходимые изменения только на определённом участке.
  2. Повышение стабильности. Поскольку микросервисы независимы друг от друга, сбои и дефекты в одном из них никак не влияют на работу остальных, система функционирует с минимальными сбоями и простоями.
  3. Упрощение. Вместо единого и сверхсложного массива ИТ, компании работают с более управляемой архитектурой, где каждый компонент отвечает за свою функцию.
  4. Мультиплатформенность. Микросервисы могут работать на любом устройстве, а также в on-premise и облачных средах.
  5. Повторное использование. Микросервисы могут перепрофилироваться для других целей и задач после начального запуска.
  6. Возможность использовать разные технологии. Agile-команды в компаниях могут работать как небольшие стартапы, не ограничиваясь одной определённой платформой или технологией благодаря микросервисам. Через микросервисы организации могут объединять различные технологии для создания действительно лучшего из всех возможных решений на настоящий момент, что значительно ускоряет внедрение инноваций.
Читать еще:  Архитектура ядра операционной системы

Трудности внедрения микросервисов

По сравнению с «монолитами» микросервисы открывают следующий уровень гибкости операций через создание новых бизнес-процессов вокруг уже существующих legacy-систем. Именно поэтому сегодня многие нацелены на микросервисную трансформацию — её преимущества слишком очевидны.

Однако существует ряд подводных камней при реализации такого перехода.

Сохранение целостности компании

Главный вызов — не утратить полезные наработки, накопленные данные и опыт прошлых лет, сохранив капитальные инвестиции в ИТ-инфраструктуру прошлого поколения. То есть компания должна ускорить своё развития и «не развалиться» в процессе трансформации к современному подходу.

Большое количество микросервисов

Когда компании необходимо 10–20 микросервисов, их адаптацией и развитием управлять не так сложно. Но если организация требует для своих задач внедрения 100+ микросервисов, появляется ранее не существовавший класс задач. Как избежать дублирования функциональности, сохранить масштабируемость и управляемость, а также не допустить превращения новой архитектуры в такой же монолит, от которого изначально пытались уйти?

Для организаций эти вызовы и их различные формы и складываются в современное IT, когда от подхода «строим то, что позволяет система» делается качественный скачок к «развиваем систему таким образом, чтобы у нас появлялись новые возможности для перестройки бизнеса». Компания, которая осознаёт необходимость адаптации микросервисов, нацеливается не на рост прибыли, трафика и других количественных KPI, а на глубинные изменения, при которых рост KPI — органическое следствие общей трансформации.

Баланс гибкости и хаоса

Третья проблема микросервисов — высокий уровень гибкости при работе над развитием платформы. Это необходимое условие микросервисного подхода, но если его не контролировать, резко возрастает риск развития хаоса в архитектуре системы. Разобраться в принципах устройства такого «хаоса», возникшего в рамках работы по микросервисным проектам, — зачастую отдельный ИТ-проект. Правильнее с самого начала работы ограничить рамки, пусть даже это немного отложит выпуск первой функциональности, чтобы потом не потратить несколько месяцев на демонтаж «окаменелостей» из микросервисов.

Переход к микросервисам в рамках концепции enterprise agility — это также вопрос корпоративной культуры, которая помогает сохранять необходимый баланс свободы и контроля.

Свободное творчество и практический эффект совместимы только при культурных сдвигах в работе компании. Архитектура, процессы, персонал — все необходимые факторы для развития микросервисов должны выстраиваться в комплексе.

Время и результаты

Перевод ИТ-ландшафта организаций на новую архитектуру не происходит за одну ночь. Как раз наоборот, иногда для этого требуется довольно длительное время, в каких-то случаях — целые годы. Мало какие вещи в современном мире настолько же сложны, как современные ИТ-системы, адаптированные к бизнес-моделям компаний, а также конкретные способы их привязки друг к другу. Тем не менее, несмотря на общую трудоёмкость демонтажа legacy-систем, полагаться на «олдскульные» ИТ в эпоху, когда парадигма New IT развивается семимильными шагами, — значит обрекать бизнес на медленную агонию. Отсюда и вытекает потребность в микросервисной архитектуре.

Продвинутые микросервисные архитектуры в их образцовом исполнения представлены сегодня в таких компаниях, как Google, Amazon и Netflix. Так, Amazon вносит изменения в свои продукты каждые 11,6 секунд, а Netflix постоянно проводит выборочные отключения вычислительных узлов для проверки влияния подобных аварий на общее качество продукта, получаемого абонентами.

Очевидно, что более консервативным организациям подобный переход только предстоит осуществить. Они совмещают старую архитектуру и новейшие подходы к развёртыванию приложений, что в терминологии Gartner называется Bimodal IT — что-то вроде переходной фазы, сочетающей элементы legacy и современных IT-систем.

Между тем, в последующие 10–20 лет legacy-модели должны быть полностью заменены на новейшие решения компаниями, которые хотят сохранить свою конкурентоспособность. В этой перспективе микросервисы и монолитные системы могут сосуществовать как привитая ветвь и ствол дерева, на котором ей предстоит прорасти и в будущем заменить собой отмирающую основу. Такой подход позволяет гарантировать, что корневая система останется незатронутой и медленно, но верно, перейдёт от старого владельца (legacy-систем) к новому (микросервисы и парадигма New IT).

Место BPMN и BPM-движков в ИТ-проектах

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

О BPMN и BPM-движках

BPMN — это нотация, набор значков и правил их применения. В отличии от UML, FlowChart, IDEF и прочих наборов значков, символы BPMN всегда однозначны и не допускают трактовки «или». Каждый значок означает одно и тоже на любой схеме, рисовал ли её студент 1 курса или ИТ-архитектор из банка.

Строгая семантика BPMN позволяет однозначно превращать значки в программный код. Получается визуальное программирование.

Часто BPMN используют, как средство описания бизнес-процессов. В этом применении строгость нотации для программирования теряет свой смысл, а авторы схем могут вытворять всякую ерунду (ведь компилятор не будет проверять верность составления схемы).

Из BPMN получаются вот такие схемы

BPM-движок — это приложение, которое превратит картинку BPMN в код.

Основные прелести BPMN и BPM-движков

BPMN простая и удобная нотация. В базовом виде её понимает 100% человек. Это упрощает коммуникации при разработке софта, процедур для сотрудников или бизнес-процессов на предприятии.

Это самые простые значки BPMN

Нотация обладает выразительной палитрой (больше 400 знаков и правил их использования), которая позволяет нарисовать вообще любые процессы.

А это все возможные события, которые предусмотрены BPMN.

Есть ваш софт имеет подходящие сценарии использования, то BPM-движки сильно экономят время и нервы при разработке:

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

У меня голова начинает болеть, когда думаю, как долго и дорого похожую логику можно писать на Java. А потом её менять.

  • Как правильно движки поддерживают версионирование, т.е. если транзакция зашла в одну версию, то в ней и завершится.

Когда надо использовать BPMN и BPM-движки

1. Длительные бизнес-транзакции

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

  • подготовка коммерческого предложения;
  • оплата счёта;
  • согласование доступа в информационные системы.
  • калькуляция стоимости билета;
  • генерация документа по шаблону;
  • конвертация данных из одного формата в другой.

2. Разработка в ультрараспределённой среде

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

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

3. Микросервисная архитектура

BPM-движок выступит «надмозгом» над единичными операциями, сохранит контекст процесса, пока какой-то из сервисов лежит, и поможет реализовать многосервисные тразакции вида «Всё или ничего» (saga interaction pattern).

Примерно так этот паттерн выглядит в движке Camunda

В итоге

Занимаетесь чем-то похожим, а может и свой workflow-движок пишите? Заканчивайте и берите готовый — сэкономите тысячи часов разработки.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×