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

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

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

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

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

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

В сентябре 2017-го вышла книжка Нила Форда, Ребекки Персонс и Патрика Куа Building Evolutionary Architectures. Я воспользовался ознакомительной подпиской  Safari Books чтоб полистать эту книжку и постараться разобраться с девятой, наиболее непонятной, характеристикой микросервисной архитектуры по Фаулеру и Льюису (см. Microservices a definition of this new architectural term). О том, чем занимается эта группа я писал уже в апреле прошлого года в заметке [r]evolutionary architecture, но на тот момент ознакомиться с позицией авторов можно было только видеозаписям пары выступлений, презентациям и подкастам. И вот теперь вышла книжка с системным изложением идей достаточно революционных, с одной стороны, и крайней прагматичных с другой. Но давайте обо всем по порядку. Продолжить чтение «Микросервисная архитектура и DevOps»

Тренинг: микросервисная архитектура

UPD 6/12/2017 Ссылка на группу в telegram: https://t.me/msa_training 

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

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

Микросервисная архитектура для менеджеров

Сделал для FutureBanking короткий материал в формате «микросервисная архитектура для менеджеров»:

Сейчас новые функции принято создавать, переписывая существующие приложения, что несет определенные риски и накладывает ряд ограничений. Нам нужны разработчики, обладающие определенными компетенциями и знакомые с кодом существующего приложения. Доработанное приложение нуждается в тестировании, желательно полном регрессионном, а также нагрузочном и интеграционном. При изменении структуры данных потребуется разработка процедур их миграции, а часто и тестирования такой миграции. Всё это влечет за собой затраты ресурсов и времени и несет нам соответствующие риски, главный из которых поломать что-либо при развертывании новой версии приложения в «боевой» среде.
В случае микросервисной архитектуры мы стремимся наращивать функциональность посредством создания новых модулей, не переписывая существующие приложения. Подробнее, читайте на FutureBanking.ru

Карты вашего кода

Саймон Браун сделал небольшую страницу: Модель С4 архитектуры программного обеспечения. Модель C4 была создана чтоб помочь командам разработчиков программного обеспечения описывать и обсуждать архитектуру решений. Её можно использовать как во время начальных сессий проектирования, так и при ретроспективе существующих решений. Это способ создания карт вашего кода на разных уровнях детализации.

Модель C4 рассматривает статические структуры программной системы и включает четыре типа основных диаграмм: системный контекст (пользователи и внешние приложения), контейнеры (основные подсистемы), компоненты и классы. Об использовании дополнительных диаграмм, моделировании микросервисов, отношении C4 model с другими нотациями моделирования и инструментах создания диаграмм см. оригинальную страницу C4model

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

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

Управление портфелем ИТ проектов

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

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

Друзья! Осень еще не скоро, но серия осенних вебинаров уже начинается. Приглашаю вас 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) — Обзор методов и принципов проектирования который проведет Роман Дынник