Service-based architecture: семь раз отмерь, один раз попили монолит

Методологии разработки Корпоративной архитектуры.

Существует достаточно много стандартов, методологий и просто подходов построения корпоративной архитектуры, такие как Модель Захмана, TOGAF (The Open Group Architecture Framework), Архитектура федеральной организации (FEA), практические рекомендации компании Gartner, компонентное моделирование предложенное компанией IBM, архитектурные изыски от Microsoft и др. Большинство из них либо расширяют друг друга, либо повторяются с локализацией для конкретных задач.

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

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

Все перечисленные подходы неплохо дополняют друг друга и вывод, напрашивающийся сам собой, — это использовать оптимальный набор всех этих подходов к разработке корпоративной архитектуры, в необходимых долях, наилучшим образом отвечающим условиям и особенностям организации. Однако, со времен публикации первой статьи Захмана мир изменился, и вместе с ним изменился и подход к разработке Корпоративной архитектуры.

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

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

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

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

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

Архитектура Harvester

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

Архитектура Harvester

Операционная система. В качестве ОС используется дистрибутив openSUSE Leap 15.3, доработанный для задач Harvester с помощью набора утилит containerOS (cOS). cOS превращает исходный дистрибутив в систему, которая ориентирована на запуск контейнеров и требует минимального обслуживания для этих целей.

Kubernetes. Для управления K8s-кластерами предоставляется дистрибутив Rancher Kubernetes Engine 2 (RKE2), он же — RKE Government. RKE2 подходит в том числе компаниям, у которых повышенные требования к безопасности.

Виртуализация. За VM-слой отвечает KubeVirt — аддон, который реализует привычные функции виртуализации в Kubernetes посредством гипервизора KVM. С помощью KubeVirt можно запускать виртуализированные нагрузки наряду с контейнеризированными. Проект включили в песочницу CNCF в 2019 году, а сейчас он на следующей стадии — «инкубация».

Хранилище. Функцию storage area network (SAN) выполняет еще один инкубационный проект CNCF — Longhorn, высокодоступное распределенное блочное хранилище для Kubernetes (см. наш обзор Longhorn). Для хранения образов VM используется MinIO.

Сеть. Плагин Multus CNI обеспечивает работу VM в нескольких сетях и поддержку VLAN в K8s-кластере.

Веб-интерфейс Harvester

Архитектура и домены

Итак, архитектурный подход даёт нам готовый набор типов строительных элементов, с помощью которых мы можем описать текущее или будущее состоянии организации. Строительные элементы одного типа образуют слой. Количество типов строительных элементов архитектуры — более 50, а значит более 50 слоев возможно выделить и описать с целью анализа текущего состояния или проектирования/создания нужной организованности в будущем. Более подробно причины появления компонентов и их жизненные циклы можно найти в GERAM (Обобщенная архитектура предприятия и методологии) – см приложение «B» в ГОСТ Р ИСО 15704–202Х.

50+ слоев для удобства мы объединяем в 7 доменов:

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

Архимейт и ТОГАФ могут группировать слои в домены несколько по-разному. Не стоит придавать этому большого значения, так как домены – это всего лишь группировки, служащие целям методичности в подаче материала. Однако могут быть и другие цели группирования:

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

Еще одним критерием группировки слоев в домены является связность элементов внутри домена. Внутри домена связность, как правило, высокая и строгая. Связность элементов домена с элементами других доменов заметно ниже. В своей практике мы чаще всего используем такую нарезку доменов – см. горизонтальные полоски на рисунке 6.

Рисунок 6. Рекомендуемый состав доменов

Некоторые домены на рисунке 6 содержат как бы субдомены. Этому не стоит придавать сакрального смысла.

Три домена на рисунке 6: Business, IT, Physical – имеют общий принцип их выделения в качестве домена, а именно: в каждом домене есть слой активных элементов, слой поведенческих элементов, слой пассивных элементов. Активные, поведенческие и пассивные элементы изображены вертикальными полосками для красоты и некоторые эксперты могут называть их аспектами. Это не меняет сути, заложенной в идею множества элементов, а лишь подчеркивает способ локализации элементов множества.

Для примера: в домене Business активным типом элементов выступает подразделение (business unit); с подразделениями связаны два типа поведенческих элементов: функции и процессы; пассивными типами элементов в слое бизнеса являются документы и информация. В домене IT активным типом элемента выступает Информационная Система; поведенческим – функция информационной системы; пассивным – объект данных. Домен Мотивации в данном примере представлен таким типом элементов, как Цель. В этом примере и его частичной иллюстрации на рисунке справа подчеркивается взаимосвязь элементов друг с другом, причем взаимосвязи могут быть как между элементами внутри слоя (функции с функциями, подразделения с подразделениями), так и взаимосвязи между элементами разных слоев: процессы с информационными системами, системы с функциями, функции с объектами данных. 

Приведем примеры типов элементов для отдельных доменов. Каждый тип будет образовывать слой элементов данного типа. Совокупность всех типов может быть представлена некой картой типов. Такая карта типов обычно фиксируется в положении о моделировании, где каждому типу даётся определение, назначение, спецификация, правила его использования в моделях. Для целей иллюстрации элементов и их связей могут использоваться графические символы, цветовая раскраска и пиктограммы. Мы придерживаемся следующей палитры цветов: активные элементы – бирюзовые, поведенческие – желтые, пассивные – зеленые. Такая раскраска обеспечивает быстрое считывание сложных диаграмм.

Типы элементов, образующие слои в домене мотивации (выборочно):

Типы элементов, образующие слои в домене бизнеса (выборочно):

Типы элементов, образующие слои в домене IT (выборочно):

Выбор (отбор) слоев архитектуры на примере проектирования стратегии

Архитектурный подход — это вопрос инженерной культуры в проектировании изменений или трансформаций. Для любого изменения, если мы хотим реализовать его, у нас должно быть четкое понимание этого изменения: что, куда, когда и зачем. Архитектура позволяет получить план, охватывающий все слои, подверженные изменению.  Когда мы описали два состояния в одинаковой архитектурной манере (текущее и будущее), мы можем непротиворечиво и весьма детально описать переход между ними. Две архитектуры (текущая и будущая), а также формальное описание перехода между ними составляют минимальный объем стратегии.

В зависимости от планируемого изменения не все 50+ слоев могут понадобиться. Зачастую изменение проходит внутри 2-3 слоёв одного домена, как например, при разработке в ИТ-приложении новой функции или микросервиса. Но разработка 20 функций в одном или группе ИТ-приложений скорее всего повлияет на изменения в бизнес-домене: изменятся функции подразделений и их информационные потоки.

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

  • слой драйверов (например, импортозамещение, цифровизация);
  • слой стратегических ориентиров (ориентиры “бизнес”-смысла, а не следование технологическим трендам), например, снижение социального неравенства, повышение мобильности населения, предоставление равных возможностей, развитие малого бизнеса;
  • слой целей, направленных на достижение ориентиров, например, ускорение деловых операций до секунд, массовая кастомизация гос.услуг (когда количество микросегментов = количество граждан);
  • слой метрик, характеризующих цели;
  • слой ограничений (правовых, финансовых, экономических, геополитических);
  • слой организационных единиц, ответственных за достижение целей;
  • слой функций и процессов, выполняемых подразделениями для достижения поставленных целей;
  • слой функций информационных систем (микросервисы), которые поддержат функции чиновников и процессы министерства;
  • слой информации, которая циркулирует в процессах;
  • слой информационных систем, где информация будет циркулировать и целостно  накапливаться для принятия решений, аналитики, прогнозирования.

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

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

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

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

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

Технические проблемы

Здесь стоит говорить о нехватке системных ресурсов в автоматизируемой организации (или о несоответствии их требованиям программы):

  • компьютеров,

  • офисной сети,

  • средств связи.

Нередко в распоряжении компании-заказчика просто нет тех технических средств, которые позволили ли бы программе работать корректно. Банальная нехватка места на сервере – уже причина того, что IT-решение просто не получится использовать.
Справедливости ради стоит сказать, что сложность решения проблем технического характера достаточно низкая. Решается она путём модернизации оборудования. Здесь же нужно отметить, что мешает внедрению компьютерной программы данная проблема сильно. Ведь если речь идёт о работе в условиях ограниченного бюджета или если обосновать необходимость покупки нового оборудования не удаётся (перед высшим руководством компании, например), то ситуация приобретает сложный характер. Пока согласовываются все моменты покупки нового оборудования, его замены и тому подобное, теряется время, которое является, пожалуй, самым ценным фактором применительно к понятию «автоматизация». В итоге компания не может приступить к процедуре налаживания работы на некоторых участках, созданию порядка в ведении бизнеса или учёте.
Как ни странно, но следующую сложность при реализации IT-проектов также стоит относить к категории технических проблем. Речь идёт о наличии и уровне подготовки IT-персонала компании-заказчика. Например, довольно часто системный администратор не знает специфики внедряемой программы и потому затрудняется её поддерживать. Вообще понятие «системный администратор» в последние 10-15 лет стали сильно упрощать. Сотрудник, который может сделать дефрагментацию диска, переустановить систему – уже гордо зовётся «системным администратором». На самом деле, роль этого специалиста в жизни компании, которая, к тому же, приняла решение об автоматизации деятельности, должна быть гораздо важнее. Это должен быть сильный специалист, с широким спектром знаний в области IT и способностью довольно быстро понимать специфику ПО

Применительно к отраслевым рынкам это очень важно. Также нужно отметить, что сами пользователи и операторы программы бывают недостаточно подготовлены для работы с системными функциями (импортом данных, например)

То есть они теряются при виде нового ПО. Конечно, путём обучения можно эту проблему решить, но здесь виной всему и нежелание учиться чему-то новому (об этом поговорим чуть позже). Впрочем, компьютерная грамотность сотрудников отечественных компаний порой является крайне низкой. Сложность решения проблемы, связанной с уровнем подготовки IT-персонала, можно охарактеризовать как среднюю. Решается она путём обучения системного администратора или другого IT-специалиста. Здесь, безусловно, руководству нужно идти на встречные шаги, выделять бюджет и время на обучение сотрудников, не пускать этот процесс на самотёк. Внедрению компьютерной программы упомянутая выше категория проблем мешает заметно (средне). В случае выделения бюджета компания-заказчик программного решения может обратиться за помощью к компании-разработчику. Как правило, солидные IT-компании, наряду с возможностью разработки специализированного ПО, обладают и достаточным опытом, знаниями, навыками и даже некими педагогическими способностями для обучения персонала.

Открытые вопросы Рефлексии[править]

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

Как вы планируете применять полученные в ходе интенсива знания в вашей дальнейшей работе?

Опишите, как и в каких процессах, для каких целей и/или задач вы можете использовать тот или иной пример, материал или решение, с которыми вы познакомились в рамках интенсива.

Какие вопросы, рассмотренные в рамках интенсива, вы бы хотели более детально изучить в ближайшее время и почему?

Классический подход vs. гиперконвергенция

Изначально ИТ-инфраструктура Serverspace была построена на базе решений VMware. Эта платформа хорошо знакома пользователям облачных сервисов и за время присутствия на рынке успела зарекомендовать себя как стабильное и надежное решение для построения облака.

Однако для владельцев инфраструктуры VMware — это не только проверенные технологии, но и расходы. В первую очередь, серьезная лицензионная нагрузка.

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

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

Примеры продуктов

Таблица 2. Сравнение гиперконвергентных решений основных игроков*1 — Также продукт известен, как Dell XC

  • продукты для корпоративного рынка и ЦОД: Cisco HyperFlex, Gridstore HyperConverged Appliance, HPE HC250 / HC380 и HPE ProLiant DL380, Lenovo Converged HX Series, Pivot3 HyperConverged Infrastructure, Oracle SuperCluster M7, Scale Computing HC Series,
  • разработки, которые могут найти применение в малом и среднем бизнесе: Atlantis HyperScale CX-4, Lenovo HX2000 + Nutanix Xpress, Nutanix Acropolis, ZeroStack Cloud Platform,
  • целый ряд решений – результат кооперации вендоров со стартапами Nutanix и SimpliVity, предлагающих программный вариант HCI.

Ключевые элементы архитектуры предприятия

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

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

Переход от бизнес- архитектуры к ИТ — архитектуре (приложения, информация, инфраструктура)

Для построения архитектуры данных необходимо выделить основные сущности и агрегировать на них все «кванты» информации собранные из описания бизнес-процессов. Практика показывает, что для решения данной задачи можно использовать стандартную методологию описания данных — модель «сущность-связь» (Entity-Relationship Model – ERM), в рамках которой можно четко структурировать всю информацию.
Следующим этапом формализации ИТ-архитектуры является переход от архитектуры бизнес-процессов и архитектуры данных к созданию архитектуры приложений. На этом этапе необходимо определить классы информационных систем, необходимых для автоматизации, после чего определить необходимые модули для каждой информационной системы. Здесь, основой для проектирования архитектуры приложений и ее синхронизации с бизнес -архитектурой является карта процессов (обобщенное представление всех бизнес-процессов предприятия). На модели архитектуры приложений располагаются основные типы информационных систем, которые далее детализируются на модели модулей информационных систем, и далее до уровня отдельных экранных форм — транзакций. Еще одним ключевым элементом архитектуры с точки зрения взаимосвязи бизнеса и ИТ являются требования к информационной системе.

Фактически модели требований — это целевой функционал ИТ — решения, который структурируется по бизнес-процессам или по подразделениям. На основании этих требований и существующих моделей бизнес-процессов, а также с учетом построенных моделей данных проектируется новая (целевая) архитектура приложений. При этом помимо методологий управления архитектурой предприятия для решения поставленных задач необходимо использовать и отраслевые стандарты. Например, в случае телекоммуникационных компаний в качестве основы можно использовать материалы методологии New Generation Operation System and Software (NGOSS), которая была создана в 2001 году TeleManagement Forum, и содержит следующие модели: ·

  • модель операций телекоммуникационной компании eTOM (Enhanced Telecom Operations Map – eTOM);
  • информационная модель телекоммуникационного предприятия (Enterprise-wide information framework Shared Information and Data Model — SID);
  • структура приложений телекоммуникационной компании (Applications framework – Telecom Applications Map — TAM).

Особенности профессии

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

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

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

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

Хотите устроиться на работу сразу после получения профессии? Skillbox гарантирует это! При покупке курса с трудоустройством, Skillbox поможет с поиском работы по новой специальности. Если у вас не получится найти работу, Skillbox вернёт деньги за курс. Акция действует до конца 2022 года! Сейчас самое время, пока идет новогодняя распродажа со скидками до 60%!

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Центр Начало
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: