Архитектура информационных систем — это совокупность подходов, паттернов и практик описывающих связь между компонентами информационной системы и их поведение на реакцию внешней среды.

Зачем нужна архитектура информационных систем?

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

Аналогии из других отраслей для понимания

АналогияБез архитектурыС архитектурой
СтроительствоКуча кирпичей и досок из которых строители возводят дом каждый согласно своему собственному видениюПроект дома с чертежами, расчетами и планом которому четко следуют строители
ОркестрМузыканты играют что хотят, адская смесь звуковДирижер, партитура, слаженное звучание единого произведения
ГородСлучайные постройки и последующие проблемы с инфраструктуройГенеральный план зонирования и формирования инфраструктуры

Типичные проблемы которые решает архитектура информационных систем:

  1. Технический долг и дороговизна внесения изменений
    Большое количество кода на разных языках программирования которое тяжело развивать и дорого поддерживать.
    Система работает, но любое изменение стоит дорого и требует переделки 5 других функций.
    Архитектурное решение: жестко детерминированный тех. стек и подходы к разработке
  2. Проблемы с масштабированием.
    Монолит падает под возросшей пользовательской нагрузкой. Команда не спит неделями.
    Архитектурное решение: запланированное горизонтальное масштабирование, кэширование, очереди.
  3. Избыточность интеграций
    Построение прямых интеграций точка-точка между системами приводит к избыточному количеству данных отравляемых между системами, техническим сложностям с сопровождением интеграций, невозможностью оперативно выявить первопричин проблем, удорожанию стоимости сопровождения систем.
    Архитектурное решение: внедрение ESB (Enterprise Server Bus), очередей/брокеров сообщений (Kafka/Rabbit), интеграционных платформ позволит упорядочить и централизовать управление интеграциями.

Бизнес-ценность архитектуры информационных систем

  1. Снижение TCO (Total Cost of Ownership)
    Разработка идет согласно архитектурной концепции на ранее определенном технологическом стеке в соответствие с утвержденным подходом к разработке;
  2. Скорость выхода на рынок (Time-to-Market)
    Увеличение скорости выхода на рынок за счет переиспользования существующих компонентов и сервисов имеющихся в ИТ ландшафте компании;
  3. Снижение бизнес-рисков
    Проектирование и внедрение информационных систем соответсвующих архитектурным требованиям воплощенным в конкретных паттернах архитектуры (надежность, масштабируемость) позволит существенно сократить сбои в работе систем критичных для потребителей.

Архитектурные паттерны: систематизированный справочник

Ключевые требования при проектировании информационных систем:

  • Масштабируемость (Scale): способность системы обрабатывать рост нагрузки
  • Надежность (Reliability): устойчивость к сбоям и ошибкам
  • Удобство сопровождения (Maintenance): простота внесения изменений и поддержки
  • Стоимость владения (TCO): эффективность с точки зрения расходов

Паттерны категоризированы в соответствии с вышеуказанными требованиями