Files
digital-garden/dev/architecture/Архитектура as Code.md
2025-01-11 10:37:51 +03:00

3.2 KiB
Raw Blame History

aliases, tags, date
aliases tags date
AaC
maturity/🌱
2024-12-21

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

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

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

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

Ограничения

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

Инструменты

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

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

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

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

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