Рабочий шаблон архитектурного решения / Хабр
Здравствуйте, меня зовут Денис Галушко, я зам. главного архитектора финансовой группы БКС. До этого работал архитектором, тимлидом, программистом. Периодически у себя в компании провожу митапы на тему «как делать архитектурные решения» и, конечно же, согласую тонны архитектуры. Далее идет вступление, которое можно пропустить, но в нем — мудрость!
Зачем мы делаем архитектурное решение
Зачастую разработчики делают АР только для формального согласования уже написанного кода. Если вы поступаете так же, ваш проект «грохнется» рано или поздно. Накопятся ошибки в проектировании, вырастет до небес техдолг, сменится поколение программистов и вот оно, приехали. В первую очередь, АР нужен для вдумчивого проектирования и обсуждения с коллегами. В процессе изготовления АР вся команда договаривается, как решать задачу. Под командой подразумевается не только команда разработки, но и бизнес-заказчик, согласующие из ИБ и Архитектуры, поставщики АПИ из других проектов, получатели и поставщики данных. В итоге, в АР фиксируются договоренности и происходит формальное согласование. В конце процесса в общем хранилище компании остаётся документ, который отвечает на вопросы: что хотели заказчики, как запланировали сделать, почему именно так, какие были варианты.
Опыт показал, что при нынешней текучке кадров, да и просто при современном темпе жизни, через год концов уже не найти. Настоящим спасением может стать база знаний в виде копящихся в Конфлюенсе архитектурных решений.
Почему не надо самореализовываться в формате документа
Еще раз про велосипеды
Архитектурное решение — стандартный документ. Не стоит начинать изготовление АР с попытки придумать свой вариант шаблона. Да, творческим людям, коими являются программисты и аналитики, свойственно изобретать что-то своё уникальное. Именно оно кажется наиболее подходящим здесь и сейчас. С опытом мы учимся меньше изобретать «велосипеды», начинаем больше использовать чужой опыт. Предложенный шаблон АР — это многолетний опыт департамента архитектуры приложений БКС. Шаблон «вылизывали» годами, и он готов к использованию как есть. А комментарии помогут понять, зачем каждый раздел появился в документе и как его заполнить. Постарайтесь заполнить все, что от вас требует шаблон. Во-первых, это поможет вам правильно структурировать своё собственное понимание задачи и задать себе необходимые вопросы. Во-вторых, это облегчит чтение документа, а значит его согласование. Облегчит потому, что тем, кому приходится читать много подобных документов, хочется найти все на своих местах, а не рыться в очередном «творении».
Представьте, что в вашем шкафу с инструментами кто-то каждый день все перекладывает. Жизнь сразу станет насыщенней, да? Так вот, этот шаблон – наш шкаф с инструментами, в котором мы заботливо разложили все по полочкам, и ждем, что так и будет, когда вернемся к нему в следующий раз.
Далее идет шаблон. Точнее, текст инструкции по его заполнению. Сам шаблон оформляется в виде шаблона Confluence. Пояснения в нем намного короче и оформляются в виде «инструкций», которые исчезают в сохраненном документе. Шаблон в виде файла можно найти здесь.
Название архитектурного решения
Название страницы д.б. : «АР Название» или «SAD Название» или «ARCH-XXX Название».
Шапка документа
Следующая таблица помещена внутрь макроса Confluence «Сводная таблица». В дальнейшем она попадает в виде строчки в сводные таблицы всех арх. решений компании. Confluence собирает их по тэгу «ар», которым ОБЯЗАТЕЛЬНО должен быть помечен каждый документ.
Колонна | Возможны значения: Банк, Сеть, Брокер, Капитал, Корп. центр |
Проект | Система/Проект |
Тема | Кросс-проектная активность, длительная активность, Эпик |
Статус | ЧЕРНОВИК |
Автор | Галушко Денис Владимирович — автор последней версии |
Дата | 12. 04.2019 — дата внесения последней правки в документ |
Задача | Ссылка на задачу или эпик в Джире |
ПЛАН — разработка документа запланирована в рамках проектной деятельности;
ТРЕБУЕТ ДОРАБОТКИ — по документу имеются открытые вопросы, требующие доработики документа;
СОГЛАСОВАНИЕ — идет согласование очередной версии документа по СЗ;
СОГЛАСОВАН — версия документа согласована по СЗ;
РЕАЛИЗОВАН — реализован и перенесен в спецификацию релиза;
ЧЕРНОВИК — версия документа, находящаяся в работе;НЕ АКТУАЛЕН — документ потерял актуальность, может быть удален.
История изменений
Правила хорошего тона требуют от нас отмечать значимые версии документа и описывать изменения, произошедшие в них. Так мы облегчаем жизнь читателям, которые понимают, что смотреть в первую очередь. Либо блок удаляем, но пишем комментарии при сохранении страницы и они попадают в выпадающий (блок под таблицей).
Версия | Дата | Описание изменений | Автор |
---|---|---|---|
начните с // | Что поменялось в этой версии | начните с @ | |
Здесь д.б. макрос истории изменения страницы помещенный в макрос "Раскрыть"
Участники проекта и согласователи
В таблице с участниками мы описываем команду проекта. Кто какие роли выполняет, к кому обращаться за информацией, с кем требуется согласование. Данное упражнение помогает в начале разработки понять к кому обращаться, кто входит в круг заинтересованных лиц. В дальнейшем именно эти люди будут согласовывать документ, либо должны быть поставлены в ознакомление.
Участник | Характеристика участия | Функция | |
1 | @ | Описываем не должность, но роль в проекте. Например: Руководитель проекта. | Cогласование/Утверждение/Ознакомление |
2 |
Оглавление
Здесь находится макрос оглавления, который я для краткости удалил.
1. Общие сведения о проекте
1.1 Глоссарий
Описание акронимов и терминов, применяемых в документе.
Если в документе все термины уже неоднократно описаны и общеизвестны, не надо их дублировать еще раз. Просто поставьте прочерк.
1.2 Описание проекта
Коротко описать какую проблему решает данное архитектурное решение, кто инициировал разработку.
Результат проекта должен обеспечить достижение следующих целей:
Перечислить цели.
Заказчиком работ выступает:
Основными потребителями результатов проекта будут:
Проект реализуется в следующих ограничениях:
Ограничения по данным, подразделениям, бизнесам, реализуемым процессам и т.д. Целевое/не целевое решение. Все ли поставленные задачи решает АР или только часть.
2. Бизнес-архитектура
Разделы, после прочтения которых не должно остаться вопросов, что требуется бизнесу.
Т.е. какие обстоятельства привели к возникновению данной задачи; какие требования были на входе; какой процесс разработан исходя из требований.
2.1 Обзор предметной области
Заполнение данного раздела не обязательно, но является правилом хорошего тона. Приводим полезные для понимания документа сведения. Может быть описанием предметной области. Или описанием потребностей пользователя в продукте, который мы будем переделывать. Стоит описать исторические предпосылки возникновения потребности или проблемы. В общем, пишем все, что облегчает погружение в суть проекта.
2.2 Требования
Если документа с требованиями еще нет, то требования ОБЯЗАТЕЛЬНО надо зафиксировать здесь. Если требования не зафиксированы, значит архитектор начал работу не имея необходимых входных данных. И результат работы будет соответствующий.
Копируем требования в этот раздел, либо делаем ссылку на конкретную версию документа, либо прикладываем файл документа в таблицу взаимосвязей.
2.3 Целевой бизнес-процесс
Раздел описывает процессы, которые изменяются или добавляются данным решением. Схема бизнес процессов является важнейшей частью функциональных требований. И вместе с не функциональными требованиями является входными данными для архитектора. За описание бизнес-процессов отвечает бизнес-аналитик. Сделайте ссылку на конкретную версию документа со схемами БП или скопируйте схему в АР с указанием первоисточника. Если БП есть в требованиях, то здесь делаем ссылку на документ БТ.
Если схемы нет, то архитектору рекомендуется описать процесс текстом в виде иерархического списка шагов (нумерованных пунктов). Классический подход предполагает описание бизнес-процесса в виде схемы BPMN 2.0. Но для архитектора — это избыточная работа. По моему опыту, простой список шагов достаточен для понимания задачи. Это быстро и не требует специальных знаний и инструментов.
Также можно оформить БП в виде сиквенс-диаграммы.
3. Описание архитектурного решения
Разделы, отвечающие на вопрос «как мы решаем задачу»
3.1 Описание предложенного подхода
Описание выбранного решения. Коротко в несколько предложений описываем автоматизацию. Описание отвечает на вопрос: как схемы ниже реализуют процесс из 2.3. Если говорить совсем простыми словами, надо описать как все это будет работать. Схема без всякого описания слишком сложна для непосвященных в проект.
Например: Фронтом для клиента будет БКС Мир Инвестиций. Процесс будет оркестрировать бизнес-сервис ХХХ. У него есть база, в которой будет хранится состояние процесса и такие-то данные. Для подписания поручений используем стандартный набор сервисов центральной команды. Данные скоринга будут загружаться раз в день из ХХХ. Поручения выполняем в асинхронном режиме, поскольку в процессе есть шаги, выполняемые в бэкофисной системе. И т.д.
Если релевантно, стоит упомянуть какие варианты были рассмотрены, их плюсы и минусы, и почему выбрано именно такое решение.
3.2 Информационная архитектура
Схема информационных потоков с описанием.
Как оформить схему
Стрелки на схеме — потоки данных. Каждая стрелка подписывается номером потока и коротким названием группы данных, которую он передает. Если схема с именами потоков получается слишком громоздкой, то в местах с большой плотностью рисунка допускается сокращение надписи до номера. Но, по возможности, названия потоков надо сохранять. Это сильно облегчает чтение схемы. Искать описание каждого потока в таблице под схемой утомительно и долго. Детали потоков раскрываются в таблице после схемы. Для сообщений MQ необходимо указать ожидаемый средний размер и кол-во в день. Для потоков http прогноз нагрузки тоже приветствуется.
Блоки на схеме — системы, модули или микросервисы. У нас принято микросервисы обозначать буквами МС в названии. Иначе не очевидно, что это именно микросервис, а не какой-то модуль или транспорт или еще что-то.
Не надо на схеме информационных потоков отдельными блоками рисовать транспорт. Лучше обозначить на стрелке, что это MQ(AMQP/Biz) или REST или еще что-то. Либо полупрозрачными блоками на пути стрелок, как на примерах ниже. Транспортные системы выделяются в отдельные блоки только, если они несут какую-то смысловую нагрузку: модифицируют данные или оркестируют потоки. Транспорт, т.е. технология передачи данных, раскрывается в разделе Системная архитектура.
Цветом выделяются потоки и системы, которые добавляются или меняются.
Цвет стрелки, системы | Значение |
---|---|
черный | без изменений |
красный | новый поток или система |
синий | доработка системы или потока |
серый | удаляется |
сиреневый | добавляется/меняется в рамках другого АР |
Альтернативная схема:
Цвет стрелки, системы | Значение |
---|---|
черный | без изменений |
красный | удаляется |
синий | доработка системы или потока |
зеленый | новый поток или система |
сиреневый | добавляется/меняется в рамках другого АР |
Мы поддерживаем три варианта схем инфопотоков: классический и расширенный, где сгруппированные потоки данных идут от источника к получателю, и запросный, где стрелки указывают направление запроса, и каждая стрелка — это отдельный запрос.
Классический
Стрелки идут от источника данных к получателю. Каждая стрелка — это группа данных, либо объединение нескольких групп. Группы данных перечисляются в надписи на стрелке.
Расширенный
На примерах ниже все потоки снабжены информацией, по какому протоколу они передаются, какие коннекторы используются. Это может показаться лишним на схеме информационных потоков. В классическом понимании — это так и есть, ведь в таблице после схемы все эта информация тоже есть. Но мы пришли к выводу, что протокол и вид коннектора не перегружают схему, но при этом делают ее самодостаточной. Становится понятно как работает вся схема: где поток синхронный, где асинхронный; какие промежуточные системы задействованы; какие будут особенности в каждом взаимодействии. И в расшифровку потоков приходится смотреть значительно реже.
Запросный
По сути, данный формат — это описание АПИ. Стрелки указывают направление запроса. Каждая стрелка — отдельный вызов АПИ, либо очередь MQ. Формат ближе к системному, но, тем не менее, таковым не является. Потому, что допускает упрощения, не показывает границы сегментов, кластеров и т.п. Поэтому, публикуем схему в разделе Информационная архитектура.
Информационные потоки:
Код (номер потока) | Объект данных | Источник | Получатель | Описание | Тип | Протокол | Нагрузка * | |
---|---|---|---|---|---|---|---|---|
1 | INF01 или 1 | Название потока/ сущность данных | Система 1 | Система 2 | Описание потока данных. | event-driven/ request-driven / scheduled | REST / Biz / Rabbit / Kafka | (10 — 12 KB) * 100 msg/day |
2 |
* — обязательно для сообщений MQ.
Информационные системы:
| Система | Назначение |
1 |
| Функциональное предназначение системы в предметной области данного АР. Характер участия в интеграционном взаимодействии. Описываем конкретику данного решения. Если система общеизвестна и в данном решении используется как обычно, без какой-то примечательной специфики, то систему можно не упоминать в данной таблице. Не надо каждый раз описывать общее предназначение Бэкофисной системы или CRM. |
2 |
|
3.3 Системная архитектура
Раздел описывает проект программного решения с точки зрения системных компонент, реализующих информационную архитектуру. Акцент делается на технологиях, расположение программных компонент по ЦОД-ам, кластерам и сегментам сети. Указываются протоколы, адаптеры, шины. В данной схеме инфопотоки делятся уже не по группам данных, а по протоколам и видам взаимодействия. Т.е. схема отражает физическое воплощение предлагаемого решения. Но это не схема развертывания. В ней нет конкретных устройств и IP-адресов. Отсутствие данной информации позволяет архитектору не тратить время на выяснение малозначимых с точки зрения проектирования деталей. А также снимает секретность со схемы. Ведь сетевая схема — лакомый кусочек для шпионов.
Схема помогает:
понять какие физические механизмы и системы задействованы в проекте. Их владельцев надо не забыть указать в доработках и согласователях;
специалистам по информационной безопасности оценить какие сегменты сети преодолевают чувствительные данные;
разобраться какие сетевые доступы надо запросить.
3.4 Схема развертывания
Если проект того требует, в этом разделе мы можем поместить deployment-схему. Если требуется сетевая схема с IP-адресами и конкретным оборудованием, то весь документ приобретает статус секретного, поскольку мы раскрываем пути проникновения в инфраструктуру предприятия. Поэтому, мы стараемся делать схему развертывания отдельным документом.
4. Реализация
4.1 Требования к реализации
Раздел описывает требования к реализации архитектурного решения: важные условия и ограничения, которые необходимо учитывать при реализации; требуемая модернизация инфраструктуры, и т.д.
4.2 Доработка систем
В этом разделе архитектор перечисляет доработки, которые необходимо сделать в системах для реализации решения. Смысл раздела в том, чтобы определить круг исполнителей. Это особенно актуально, если в доработках задействованы несколько систем, подразделений. Если все доработки делаются одной командой, то раздел можно опустить.
Детализация должна быть достаточной, чтобы определить системы и контактные лица. Детали доработок прорабатывают аналитики в системах.
Система | Описание | Ответственный за разработку | Кто будет поддерживать |
---|---|---|---|
система 1 | . | ||
система 2 | .. |
5. Информационная безопасность
5.1 Бизнес операции, подлежащие аудиту
Для микросервисов БКС — это операции, которые система будет писать в лог с пометкой AUDIT_LOG. Это лог, в котором остаются следы операций пользователей, которые потенциально могут привести к утечке чувствительных данных, раскрытию финансовой тайны и т.п. Т.е. если произойдет что-то нехорошее, в этот лог пойдут смотреть безопасники. По хорошему, автоматические скрипты должны инспектировать его регулярно.
Бизнес операция | Описание | Код операции | |
---|---|---|---|
1 | Смысловое название операции, производимой пользователем приложения. Например: чтение карточки клиента | Описание операции | Код операции. Текстовая метка, по которой потом можно отфильтровать данные операции. Например: READ_CLIENT_CARD |
2 |
5.2 Аутентификация пользователей
Короткое описание механизма аутентификации пользователей и модулей системы. Если механизм не относится к базовым — в случае БКС это KeyCloack и Kerberos -, то надо описать где хранятся учетные записи, как добавляются/изменяются/удаляются, как происходит аутентификация.
В случае KeyCloack обязательно указываем realm. Если микросервисы используют технические учетные записи для вызова друг друга, указываем, что они должны храниться в Vault.
5.3 Авторизация пользователей систем
Описание подхода к авторизации. Если в системе есть ролевой механизм, описываем его здесь. Если нет, пишем по каким принципам разрешается доступ к ресурсам системы. Описываем как пользовательские, так и межсервисные доступы.
5.4 Доступ к внешним данным
Здесь нужно прописать сетевые соединения, которые инициируют модули системы или микросервисы во внешнюю сеть. Под внешней сетью понимаются менее доверенные сегменты сети предприятия (DMZ, например) и Интернет. По этой таблице будет настроено сетевое окружение.
Namespace | Микросервис | Протокол | Target адрес | Target порт | |
---|---|---|---|---|---|
1 | |||||
2 |
6. Нефункциональные требования и дополнительная информация
N | Требование | Описание реализации |
---|---|---|
1 | Потребность в закупке лицензий ПО | Новые лицензии прикладного и системного ПО |
2 | Потребность в закупке железа | Сервера, системы хранения данных, сетевое оборудование и т. д. |
3 | Прогноз объема хранения данных при запуске и через год работы | |
4 | Требования по нагрузке | Количество обрабатываемых транзакций – всего в системе, среднее за день, в пике. Транзакцией может быть любой объект данных или операция, актуальные для данной системы. |
5 | Архивирование данных | Требования к архивации данных |
6 | Другие требования |
7. Открытые вопросы
Здесь пишем вопросы, которые не сразу удалось решить и потребовалась их фиксация, чтобы потом написать кто решил и как. Если документ оформляется в Конфлюенс, то это также способ назначить на кого-то задачу.
<Конец шаблона>
Архитектурно-строительные решения
Главная
/
Архитектурно-строительные решения
Архитектурно-строительные решения (архитектурный проект) — это разделы проектной документации для строительства, содержащая архитектурные решения, которые комплексно учитывают социальные, экономические, функциональные, технические, инженерные, противопожарные, санитарно-гигиенические, экологические, архитектурно-художественные и иные требования к объекту в объеме, необходимом для разработки документации для строительства объектов, в проектировании которых необходимо участие архитектора.
АО «Сибпромпроект» в рамках работ генерального подрядчика, оказывает услуги по разработке архитектурных проектов под промышленные и гражданские здания и сооружения.
Выполнение Архитектурно-строительных разделов проекта делится на следующие обязательные этапы:
- Разработка и согласование технических заданий
Этот этап позволяет Заказчику более детально разобраться в своих желаниях, сформулировать требования и конкретизировать задачи, ставящиеся перед проектировщиками.
- Рабочий проект
Рабочий проект представляет собой комплекты проектно-конструкторской документации (состоящей из архитектурного раздела и конструктивного раздела). Рабочий проект необходим для производства строительно-монтажных работ. Перечень прилагаемых чертежей и расчетов оговаривается в Договоре на проектные работы. По желанию Заказчика, специалисты АО «Сибпромпроект» могут Рабочий проект дополнить Инженерным разделом, который будет содержать проектную документацию по системам вентиляции, отопления, кондиционирования, водоснабжения, канализации, СКС, телефонии, охранно-пожарной сигнализации.
- Авторский надзор
После согласования проекта с Заказчиком проводятся строительные работы. И на этом этапе работ возникает необходимость в проведении Авторского надзора. Сотрудники АО «Сибпромпроект» могут последовательно контролировать все стадии строительства (а не только «скрытые работы», на которые составляются отдельные акты), чтобы в процессе строительства не допустить отклонения от рабочих чертежей, а любые возникающие изменения отвечали интересам Заказчика и были оформлены соответствующими чертежами.
- Примерный перечень документации
При выполнении архитектурно-строительных разделов разрабатываются:
| Документы, которые необходимо иметь заказчику для выполнения данного этапа работ
|
Примеры эталонной архитектуры и рекомендации
Примеры и схемы эталонной архитектуры
Исследуйте основы архитектуры
Если вы новичок в AWS или просто хотите освежить в памяти лучшие практики, начните с этих ресурсов.
AWS Well-Architected
AWS Well-Architected предоставляет платформу, помогающую облачным архитекторам создавать безопасные, высокопроизводительные, отказоустойчивые и эффективные архитектуры.
Изучите инфраструктуру
Хорошо ли вы спроектированы?
Создание вашей облачной основы на AWS
Этот пошаговый подход помогает создавать и развивать облачную среду AWS на основе консолидированного набора определений, сценариев, руководств и средств автоматизации.
Узнать больше
Создание вашей облачной платформы на AWS — за пределами целевой зоны
Обзор AWS
Изучите этот полезный ресурс с описанием всех доступных сервисов AWS, который поможет вам выбрать правильный сервис для вашей архитектуры.
Введение в AWS
Будьте в курсе
Избранные записи в блоге об архитектуре AWS
Оптимизируйте современную архитектуру данных для обеспечения устойчивости: часть 1. Получение данных и озеро данных
Современная архитектура данных на AWS ориентирована на интеграцию озера данных и специализированных сервисов данных для эффективного создания аналитических рабочих нагрузок, которые обеспечивают скорость и гибкость в масштабе . В этой серии из двух сообщений в блоге мы рассмотрим рекомендации из компонента «Устойчивость» платформы AWS Well-Architected Framework по оптимизации современной архитектуры данных для обеспечения устойчивости.
Что нового в AWS
Ничего не найдено
Просмотрите наш контент
Центр архитектуры AWS предоставляет эталонные схемы архитектуры, проверенные архитектурные решения, рекомендации Well-Architected, шаблоны, значки и многое другое. Это экспертное руководство было предоставлено экспертами по облачной архитектуре из AWS, в том числе архитекторами решений AWS, консультантами по профессиональным услугам и партнерами.
Фильтровать по:
Очистить все фильтры
Фильтр
Фильтр
Фильтр
Помогла ли вам эта страница?
Да
Нет
Отзыв
Спасибо за отзыв
Мы рады, что эта страница помогла вам. Хотите поделиться дополнительной информацией, чтобы помочь нам продолжать совершенствоваться?
Отзыв
Спасибо за ваш отзыв
Сожалеем, что эта страница не помогла вам. Хотите поделиться дополнительной информацией, чтобы помочь нам продолжать совершенствоваться?
Отзыв
Не найдено элементов, соответствующих выбранным критериям.
Категории технологий
Аналитика и большие данные
Создавайте безопасные, надежные и экономичные архитектуры обработки данных.
Compute & HPC
Узнайте, как разрабатывать, развертывать, запускать и масштабировать свои приложения.
Контейнеры
Узнайте о наиболее безопасном, надежном и масштабируемом способе запуска контейнеров.
Узнайте, как постоянно оптимизировать свои расходы.
Базы данных
Выберите базу данных, соответствующую вашему варианту использования и схемам доступа.
Вычисления для конечных пользователей
Создавайте архитектуры, которые помогут вам реагировать на меняющиеся потребности вашей рабочей силы.
IoT
Научитесь подключать устройства и собирать, хранить и анализировать данные устройств.
Машинное обучение
Создавайте эффективные и действенные архитектуры машинного обучения (ML).
Управление и управление
Узнайте, как быстрее и надежнее создавать и доставлять продукты с помощью AWS.
Microsoft
Ознакомьтесь с рекомендациями по созданию и запуску приложений Microsoft.
Миграция
Узнайте, как перенести существующие приложения в AWS.
Работа в сети и доставка контента
Научитесь подключать устройства и собирать, хранить и анализировать данные устройств.
Безопасность, идентификация и соответствие требованиям
Узнайте, как достичь целей безопасности и соответствия требованиям с помощью инфраструктуры и сервисов AWS.
Serverless
Научитесь создавать и запускать приложения и серверные службы без серверов.
Хранение
Разработка надежных, масштабируемых и безопасных архитектур хранения данных.
Войдите в консоль
Узнайте об AWS
- Что такое AWS?
- Что такое облачные вычисления?
AWS Разнообразие, равенство и инклюзивность- Что такое DevOps?
- Что такое контейнер?
- Что такое озеро данных?
- Облачная безопасность AWS
- Что нового
- Блоги
- Пресс-релизы
Ресурсы для AWS
- Начало работы
- Обучение и сертификация
- Библиотека решений AWS
- Архитектурный центр
- Часто задаваемые вопросы по продуктам и техническим вопросам
- Аналитические отчеты
- Партнеры AWS
Разработчики на AWS
- Центр разработчиков
- .NET на AWS
- Python на AWS
- Java на AWS
- PHP на AWS
- JavaScript на AWS
Помощь
- Свяжитесь с нами
- Подайте заявку в службу поддержки
- Центр знаний
- AWS re: Сообщение
- Обзор поддержки AWS
- Юридический
- Карьера в AWS
Amazon является работодателем с равными возможностями: Меньшинства / Женщины / Инвалидность / Ветеран / Гендерная идентичность / Сексуальная ориентация / Возраст.
- Конфиденциальность
- |
- Условия сайта
- |
- Настройки файлов cookie
- |
- © 2023, Amazon Web Services, Inc. или ее дочерние компании. Все права защищены.
Поддержка AWS для Internet Explorer заканчивается 31.07.2022. Поддерживаемые браузеры: Chrome, Firefox, Edge и Safari. Подробнее »
Архитектор решений: роль и обязанности
Время чтения: 12 минут
В быстро меняющейся технологической среде организации сталкиваются с необходимостью преобразования своих процессов и систем для удовлетворения новых требований бизнеса. Эта цифровая трансформация требует специальных знаний и набора практических методов, позволяющих согласовать бизнес-направление с технологическими решениями.
Архитектура решения принадлежит к списку наиболее важных практик, выполняемых перед началом разработки любого технического решения. В этой статье мы обсудим, что такое архитектура решения, опишем роль архитектора решения и объясним, как использование этого опыта может помочь в решении бизнес-задач.
Что такое архитектор решений?
Архитектура решения — это практика проектирования, описания и управления разработкой решений, чтобы они соответствовали конкретным бизнес-задачам. Например, защита данных клиентов в соответствии с GDPR и другими правилами конфиденциальности — это проблема бизнес-уровня. Архитектура решения определяет, как эти требования будут преобразованы в то, как работает данное программное обеспечение.
Архитектор решений отвечает за руководство практикой и представление общего технического видения конкретного решения.
Хотя практикой можно управлять внутри компании, есть компании, которые предоставляют консультации по архитектуре решений в виде определенного набора услуг.
Каждый из этих терминов включает несколько аспектов, которые мы обсудим в статье. Если вы хотите быстро узнать все подробности, посмотрите наше видео о роли архитектора решений.
Что такое архитектор решений и чем эта роль отличается от архитектора программного обеспечения и архитектора предприятия (а также подпишитесь на наш канал, так как мы будем продолжать выпускать обучающие видеоролики)
Архитектор предприятия, архитектор решений и технический архитектор
Архитектура решения — это сложный процесс со множеством подпроцессов, который устраняет разрыв между бизнес-задачами и технологическими решениями. Его цели:
- Найти лучшее техническое решение для решения существующих бизнес-задач.
- Опишите структуру, характеристики, поведение и другие аспекты программного обеспечения заинтересованным сторонам проекта.
- Определите функции, этапы разработки и требования к решению.
- Предоставьте спецификации, в соответствии с которыми решение определяется, управляется и доставляется.
Однако есть еще две должности уровня архитектора, которые часто путают: архитектор предприятия и архитектор программного обеспечения. Уточним основные отличия.
Архитектура решения в контексте предприятия и технической архитектуры
Кто такой архитектор предприятия?
Корпоративная архитектура, которую мы рассмотрели в специальной статье, ориентирована на построение сложных корпоративных экосистем и решение стратегических задач высокого уровня. Архитектура предприятия определяет стратегические направления бизнес-архитектуры, что затем приводит к пониманию того, какие технологические средства необходимы для поддержки этой архитектуры. Другими словами, архитектор предприятия определяет, что должно быть сделано, а архитектор решений затем решает, как это сделать.
Архитектор предприятия имеет самое широкое представление о текущем состоянии архитектуры и целях компании. Именно этот эксперт отвечает за создание стратегического плана внедрения технических изменений. Этот человек тесно сотрудничает с руководителями высшего звена и лицами, принимающими решения, поскольку он или она демонстрирует им коммерческую ценность предлагаемых технических инициатив.
Кто такой программный или технический архитектор?
Программный или технический архитектор в основном отвечает за инженерные проблемы и архитектуру программного обеспечения. У нас есть подробная статья, описывающая роль архитектора программного обеспечения и важность этой должности для успеха компании.
В отличие от архитектора решений, архитектор программного обеспечения обычно не занимается финансовыми и организационными вопросами. Этот человек фокусируется на всех аспектах, связанных с разработкой программного обеспечения в конкретном проекте, то есть на разработке, внедрении, обслуживании, поддержке и развитии. Архитекторы программного обеспечения тесно сотрудничают с командами разработчиков и контролируют весь процесс разработки. Итак, продолжая предыдущий пример, архитектор программного обеспечения определяет, что именно нужно сделать и как сохранить результат.
Кто такой архитектор инфраструктуры?
Архитектор инфраструктуры очень похож на технического архитектора, но с упором на корпоративный локальный сервер или облачные системы, используемые организацией. Это означает, что специалист по инфраструктуре помогает развивать и поддерживать производственную часть экосистемы корпоративного программного обеспечения, а не саму разработку программного обеспечения. Эти специалисты контролируют существующие ИТ-системы и сети, а также изучают и интегрируют новые, следя за тем, чтобы они соответствовали всем требованиям в отношении отказоустойчивости, безопасности, производительности, доступности и т. д.
В конечном счете, технические архитекторы определяют, как должно быть спроектировано программное обеспечение, а архитекторы инфраструктуры следят за тем, чтобы это программное обеспечение было успешно развернуто и хорошо работало. И все же технический архитектор может отвечать и за инфраструктуру. Таким образом, границы между этими двумя ролями стираются.
Архитектура решения описывает, как различные компоненты бизнес-, информационной и технологической архитектуры используются в конкретном решении. Поскольку архитектура решения в большей степени ориентирована на детали и технологии решения для решения конкретной бизнес-задачи, она обеспечивает канал между архитектурой предприятия и технической архитектурой. Последний ориентирован только на технические вопросы. Эффективным подходом для компаний является объединение действий по архитектуре предприятия с действиями по архитектуре решений и технической архитектуре.
Архитектура решения и ее основные процессы
Хорошо построенная архитектура решения помогает командам разрабатывать продукт вовремя и в рамках бюджета и гарантирует, что он решает проблему, для решения которой он был разработан. Итак, какие задачи на самом деле решает архитектура решения?
Согласование решений с корпоративной средой
Обычно у компаний уже есть операционные системы, информационный контекст и требования к интеграции. Архитектура решения помогает гарантировать, что новая система будет соответствовать существующей корпоративной среде. Для выполнения этой задачи архитектор решений должен понимать, как все части бизнес-модели работают вместе, включая процессы, операционные системы и архитектуры приложений. Понимая эти аспекты, они смогут разработать конкретное решение, которое лучше всего подходит для окружающей среды.
Удовлетворение требований всех заинтересованных сторон
Одной из наиболее важных задач разработки программного продукта является удовлетворение требований заинтересованных сторон. Обычно у продукта есть ряд заинтересованных сторон, которые являются как техническими, так и нетехническими специалистами. Цель архитектуры решения — обеспечить учет всех их требований. Заинтересованные стороны должны регулярно информироваться о процессах разработки продукта, затратах и бюджетировании. Эти задачи обычно выполняются архитектором решений, который переводит детали технического проекта на язык, понятный руководству и заинтересованным сторонам, не являющимся техническими специалистами.
Учет ограничений проекта
Каждый проект имеет свои ограничения, обычно называемые ограничениями. К ним относятся:
- технологии
- риски
- прицел
- стоит
- качество
- время
- ресурсов
Например, продукт создается с использованием технологий, которые должны соответствовать требованиям конкретных модулей. Объем проекта — это часть документации по программному обеспечению, определяющая конкретные цели, задачи, возможности и функции. Все проекты также имеют выделенный бюджет.
Хотя эти аспекты сами по себе являются ограничениями, у каждого из них есть свои ограничения. Архитектор решения должен понять все эти ограничения, сопоставить их, а затем принять ряд технологических и управленческих решений, чтобы согласовать эти ограничения с целями проекта.
Выбор стека технологий проекта
Важнейшей частью создания архитектуры решения является выбор технологий для разработки продукта. Стратегия технической архитектуры будет напрямую зависеть от выбранного стека технологий. Существует множество различных практик, связанных с платформами, языками программирования и инструментами. Функция архитектуры решения здесь состоит в том, чтобы найти, какие из них будут наиболее подходящими для конкретного проекта. Это не обычная задача, требующая оценки и сравнения технологий.
Соответствие нефункциональным требованиям
Все программные проекты должны соответствовать ряду нефункциональных требований, описывающих характеристики системы. Они также известны как атрибуты качества. Хотя точный список нефункциональных требований зависит от сложности каждого отдельного продукта, наиболее распространенными из них являются безопасность, производительность, ремонтопригодность, масштабируемость, удобство использования и надежность продукта. Роль архитектора решения заключается в анализе всех нефункциональных требований и обеспечении того, чтобы дальнейшая разработка продукта соответствовала им.
Поскольку мы обсудили общие цели внедрения архитектуры решения, давайте разобьем их на конкретные обязанности и базовые наборы навыков.
Описание роли и обязанностей архитектора решений
Работа архитектора решений сосредоточена на принятии решений на уровне решения и анализе их влияния на общие бизнес-цели и результаты. Подобно архитектору в строительной отрасли, создающему генеральный план будущего здания, человек на этой должности должен обладать глубокими знаниями доступных технологий, чтобы предлагать наилучшее решение в соответствии с поступающими требованиями и существующей средой. Итак, можно сказать, что продуктом работы архитектора решений является набор технологических решений и стратегия их реализации.
После разработки стратегического технического видения продукта архитектор решения участвует в оценке бюджета и представлении его заинтересованным сторонам. После того, как все согласовано, он или она контролирует процесс разработки и информирует заинтересованные стороны о прогрессе.
Обязанности архитектора решений непосредственно вытекают из процессов на практике:
- Анализ технологической среды
- Анализ специфики предприятия
- Анализ и документирование требований
- Настройка структуры сотрудничества
- Создание прототипа решения
- Участие в отборе технологий
- Управление разработкой решения
- Поддержка управления проектами
Несмотря на то, что большинство этих обязанностей требуют от архитектора решения руководящей роли, этот человек просто поддерживает деятельность по управлению проектами, чтобы обеспечить соответствие ресурсов, распознавания рисков и планирования целям решения.
Набор навыков и опыт архитектора решений
Если вы уже осознали важность архитектуры решения в своих проектах, следующим шагом будет найти и нанять человека на эту роль. Мы рассмотрели основные навыки, которыми должен обладать хороший архитектор решений.
Распределение ролей архитектора решений
Техническое образование и опыт
Чтобы предоставлять управленческим и инженерным группам технические консультации, архитектор решений должен иметь техническое образование и не менее восьми лет опыта работы в одной или нескольких областях ИТ. включая, но не ограничиваясь:
- ИТ-архитектура, инфраструктура и разработка облачных вычислений
- Проектирование инженерной и программной архитектуры
- Бизнес-анализ
- DevOps
- Управление проектами и продуктами
Отличные коммуникативные навыки
Важнейшей частью компетенции архитектора решений является общение. Учитывая, что эта роль предполагает ведение переговоров с заинтересованными сторонами, понимание потребностей всех сторон, управление рисками и поставку продукта, отсутствие навыков общения может стать настоящим узким местом. Эта должность требует тесного сотрудничества с архитекторами предприятий и программного обеспечения, бизнес-аналитиками и проектными группами. Итак, опытный архитектор решений должен уметь слушать, советовать, сопереживать и объяснять.
Глубокие аналитические способности
Разработка решения требует понимания того, как различные части бизнеса работают вместе. Архитектор должен признать корпоративную стратегию и реализовать все бизнес-процессы, которые определяют, как компания достигает своих стратегических целей. Но архитектор должен также понимать техническую специфику. В результате архитекторы решений постоянно занимаются аналитической работой и перемещаются между различными бизнес-уровнями.
Навыки управления проектами и ресурсами
Хотя архитектор решений не принимает непосредственного участия в управлении проектом, учет сроков и предоставленных ресурсов неизбежен. Архитекторы решений должны иметь возможность принимать решения о том, какие решения выгодны, а какие бесполезны в данной ситуации. Они должны быть ориентированы на бизнес-результаты и понимать, как их достичь в соответствии с заданными сроками и ресурсами.
Кроме того, важно, чтобы архитекторы решений рассматривали проект с точки зрения долгосрочной перспективы и понимали, что решение может потребовать масштабирования и адаптации к возможным изменениям в будущем. Таким образом, будучи теми, кто знает конечную цель, они соответствующим образом направляют процесс разработки.
Сертификация архитекторов решений
Сертификации предназначены для проверки навыков и опыта архитекторов решений. Они оценивают свои знания, способности и опыт. Таким образом, наличие одной или нескольких учетных данных доказывает владение экспертом определенными навыками.
Большинство сертификационных платформ, помимо самого экзамена, предлагают учебные курсы, учебные материалы и практические тесты. Другие ресурсы также могут быть полезны для подготовки и практики, например Udemy, Coursera или MeasureUp. Однако к экзамену можно сдаваться без предварительной подготовки — все, что требуется, — это глубокое знание архитектурных концепций и принципов и большой практический опыт работы в отрасли.
Существует множество доступных сертификатов ИТ-архитекторов, большинство из которых относятся к конкретным поставщикам, т. е. ориентированы на освоение конкретной технологии. Вот краткий обзор самых популярных из них.
Сертификация архитектора решений AWS
Программа AWS Certified Solutions Architect предлагает сертификаты младшего и профессионального уровней в зависимости от вашего опыта. Оба они нацелены на архитекторов, которые работают с технологиями AWS для создания и развертывания приложений и систем.
Экзамен AWS Certified Solutions Architect — Associate занимает 130 минут и стоит 150 долларов США. Amazon рекомендует кандидатам иметь не менее 1 года практического опыта перед сдачей теста. Вот список основных предметных областей этого экзамена:
Список основных предметных областей и их веса, источник: Руководство по экзамену
Сертифицированный архитектор решений AWS — профессиональный экзамен предназначен для старших архитекторов с 2 или более лет опыта и удостоверения младшего специалиста. Это занимает 180 минут и стоит 300 долларов. Вот схема содержания:
Список основных доменов контента и их веса, источник: Руководство по экзамену
Сертификаты AWS действительны в течение 3 лет, после чего обладатели учетных данных должны пройти повторную сертификацию, чтобы подтвердить свой постоянный опыт и знание новейшие технологии и лучшие практики AWS.
Сертификация архитектора решений Azure
Корпорация Майкрософт имеет различные учетные данные для архитекторов решений, наиболее известным из которых является сертификат Microsoft Certified: Azure Solutions Architect Expert. Это для кандидатов, специализирующихся на решениях, работающих в Microsoft Azure, и обладающих глубокими знаниями об инфраструктуре Azure.
Сертификацию эксперта по архитектуре решений Azure можно получить после сдачи экзамена: AZ-305: Проектирование инфраструктурных решений Microsoft Azure. Цена зависит от страны, в которой проводится экзамен (165 долларов США для США).
Вот обзор навыков, измеряемых этими тестами. Вкратце, AZ-305 ориентирован на технические задачи, такие как:
- внедрение и мониторинг инфраструктуры Azure,
- внедрить решения по управлению и безопасности,
- реализуют решения для приложений, а
- внедрять и управлять платформами данных.
Содержание АЗ-305 оценивает такие навыки как:
- контроль проектирования,
- дизайн и безопасность,
- хранилище проектных данных,
- проектирование непрерывности бизнеса и
- проектная инфраструктура.
Сертификация ITIL
ITIL — это признанный в отрасли набор квалификаций, включающий 5 уровней. Высшей квалификацией является ITIL Master для тех специалистов, которые работают в области управления ИТ-услугами и имеют большой опыт работы с практиками ITIL. Это не совсем ролевая сертификация специально для архитекторов решений, но, поскольку ITIL является популярной структурой управления, человек, усвоивший ее принципы, будет ценным активом на любой управленческой должности.
В описании указано, что для получения сертификата вы должны быть в состоянии « объяснить и обосновать, как вы лично выбрали и применили ряд знаний, принципов, методов и методов из ITIL Framework и вспомогательных методов управления для достижения желаемого бизнеса. результаты одного или нескольких практических заданий. ” Таким образом, для этого экзамена не существует учебного курса или фиксированной программы, поскольку каждый кандидат будет проверен в рамках своего уникального опыта.
Наличие сертификата ITIL Expert является необходимым условием для получения этих учетных данных. Кандидат также должен иметь более 5 лет опыта работы на руководящих, управленческих или консультативных должностях высокого уровня. Как только эти условия будут выполнены, претендент должен будет зарегистрироваться в PeopleCert (утвержденный экзаменационный институт Axelos), заполнить заявку и представить свое резюме. Затем необходимо представить предложение по улучшению бизнеса вместе с рабочим пакетом, который демонстрирует практические навыки кандидата в применении принципов ITIL в реальных бизнес-кейсах. После этого соискатели должны будут успешно пройти собеседование с оценочной комиссией, где им будет задан вопрос об их опыте.
Стоимость как экзамена, так и учебных курсов зависит от местоположения.
Сертификация облачного архитектора Google
Google также предлагает ряд сертификатов на основе ролей. Professional Cloud Architect предназначен для экспертов, которые используют технологии Google Cloud в своих решениях. Опять же, это не только для архитекторов решений, но и для любого специалиста, имеющего дело с облачной архитектурой Google.
Экзамен длится 2 часа, регистрационный взнос составляет 200 долларов США. Google рекомендует иметь как минимум 3 года опыта, прежде чем пытаться пройти тест. Также важно помнить, что требуется переаттестация каждые два года. Доступно руководство по экзамену (а также учебные материалы и примеры вопросов), в котором перечислены 6 аспектов экзамена:
- Проектирование и планирование архитектуры облачных решений;
- Управление и предоставление инфраструктуры решения;
- Разработка для обеспечения безопасности и соответствия требованиям;
- Анализ и оптимизация технологий и бизнес-процессов;
- Управление внедрением; и
- Обеспечение надежности решений и операций.
Когда компании требуется консультация по архитектуре решения
Архитектура решения может быть внедрена в корпоративную структуру организациями, предоставляющими технологические консультации, если процесс интеграции новых программных систем не является систематическим. Кроме того, нет необходимости иметь архитектора решения для каждого отдельного проекта. Если вы внедряете один технический модуль, который доказал свою работоспособность в аналогичных контекстах, вам не нужен архитектор решения. Как только проекты по разработке программного обеспечения усложняются и влекут за собой большее количество процессов и рисков, лучше рассмотреть консалтинговые услуги по архитектуре решения.
Давайте рассмотрим случаи, когда рекомендуется консультация по архитектуре решения:
Вы не знаете, какое решение лучше всего подходит для корпоративной экосистемы. Вам необходимо наладить связь между существующей архитектурой предприятия и конкретным проектом. Архитекторы решений гарантируют, что решение соответствует стандартам среды вашей компании. Например, если вы перемещаете ряд существующих бэк-офисных процессов в облако, архитектор решения должен проанализировать несколько вариантов и предложить наиболее подходящие с точки зрения технологий, человеческих и финансовых ресурсов.
Вы запускаете проект цифровой трансформации. Цифровая трансформация требует от компаний пересмотреть либо то, как они приносят пользу своим клиентам, либо то, что они в конечном итоге предоставят. Невозможно ответить на эти вопросы, не связывая технологии и бизнес-перспективы, что находится прямо в рулевой рубке архитектора решений.
Вы сталкиваетесь с множеством рисков. Архитектор решений необходим для проектов, в которых присутствует множество технологических рисков, могут появиться неопределенные требования, необходимо внедрить несколько продуктов одновременно или базовые технологии еще не утверждены.
Вы должны представить инвесторам дорожную карту продукта. Если вам необходимо представить будущий продукт инвесторам и заинтересованным сторонам, архитектор решений предложит технологии, которые будут соответствовать требованиям к продукту, и сообщит аргументы в простых и ясных деловых терминах.
Вам необходимо наладить связь между заинтересованными сторонами и инженерами. Архитектор решений поможет восполнить пробел в общении между техническими и нетехническими специалистами. Кроме того, сотрудничая с командой управления проектом, архитекторы решений покрывают риски несоответствия продукта требованиям заинтересованных сторон и обеспечивают соответствие решения поставленной цели.
В проекте задействовано множество команд. У вас может быть большой проект, который требует, чтобы кто-то руководил командой дизайнеров, технических или бизнес-архитекторов, чтобы получить качественный технический результат проекта.
Архитектура решения является основой любого ИТ-проекта, независимо от того, применяете ли вы эту практику на самом деле или нет.