Архитектура as Code (AaC) — это методология, при которой архитектурные решения и схемы описываются с использованием программного кода. Подход вдохновлен концепцией Infrastructure as Code (IaC), но применяется к более высокоуровневым аспектам системы, таким как взаимодействие сервисов, модули, контракты и зависимости.

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

Основные принципы

  • Декларативность. Архитектура описывается в виде декларативного файла, который служит источником правды для всей команды.
  • Автоматизация. Использование кода для автоматической проверки архитектурных решений и их применения.
  • Интеграция. Возможность связки с CI/CD пайплайнами для проверки соответствия архитектурным стандартам.
  • Версионность. Все изменения архитектуры фиксируются в системе контроля версий, что позволяет отслеживать её эволюцию.

Ограничения

  • Сложность внедрения. Требуются опыт и компетенции команды для реализации подхода.
  • Обучение. Необходимо обучать специалистов работать с инструментами AaC.
  • Необходимость дисциплины. Без четкого подхода может возникнуть хаос в коде архитектуры.

Инструменты

  • Structurizr — для описания архитектуры на основе C4-модели.
  • OpenAPI/AsyncAPI — для описания API.
  • Terraform, Pulumi — для связи архитектурного описания с инфраструктурой.
  • DSL (Domain-Specific Languages) — собственные языки для описания архитектуры.

Мета информация

Область:: 00 Архитектура ИС
Родитель::
Источник::
Создана:: 2024-12-21
Автор::

Дополнительные материалы

Дочерние заметки