Files
digital-garden/dev/architecture/Infrastructure as Code.md
2025-01-11 10:37:51 +03:00

3.5 KiB
Raw Blame History

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

Infrastructure as Code (IaC) — это практика управления, конфигурирования и автоматизации вычислительных ресурсов (серверов, сетей, баз данных и т.д.) с использованием программного кода. Она позволяет инфраструктуре быть определённой в виде описания, которое можно сохранить в системе контроля версий, автоматически применять и изменять.

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

Принципы

  • Декларативность или императивность. Инфраструктура описывается либо в виде желаемого состояния (декларативный подход), либо через последовательность команд (императивный подход).
  • Контроль версий. Код инфраструктуры хранится в системах контроля версий (например, Git), что позволяет отслеживать изменения и возвращаться к предыдущим состояниям.
  • Идемпотентность. Повторное выполнение кода приводит к одному и тому же результату, что важно для стабильности.

Преимущества

  • Стандартизация. Все ресурсы управляются одинаково, снижается риск ошибок.
  • Ускорение разработки. Быстрое развёртывание и настройка инфраструктуры.
  • Масштабирование информационной системы. Удобное управление инфраструктурой даже в крупных системах.
  • Упрощение highload/Disaster recovery. Код инфраструктуры позволяет восстановить её после сбоев.

Недостатки

  • Кривая обучения. Требуется время на изучение инструментов и практик IaC.
  • Сложность внедрения. Для небольших команд или простых систем реализация IaC может быть излишней.
  • Необходимость дисциплины. Некорректное управление кодом может привести к нестабильности.

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

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

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

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