site_logo

Инфраструктура как код (IaC)

Обновлено: 17 сентября 2024

    Infrastructure as Code / инфраструктура как код (IaC) — это подход для управления и описания инфраструктуры ЦОД через конфигурационные файлы, а не через ручное редактирование конфигураций на серверах или интерактивное взаимодействие. Согласно IaC процесс настройки инфраструктуры аналогичен процессу программирования ПО. Этот подход может включать в себя как декларативный способ описания инфраструктуры (используется чаще), так и через скрипты. По сути, IaC положил начало устранению границ между написанием приложений и созданием сред для этих приложений. Приложения могут содержать скрипты, которые создают свои собственные виртуальные машины и управляют ими. Это основа облачных вычислений и неотъемлемая часть DevOps.

    IaC использует высокоуровневый язык описания кода для автоматизации предоставления ИТ-инфраструктуры. Эта автоматизация избавляет разработчиков от необходимости вручную выделять и управлять серверами, операционными системами, подключениями к базам данных, хранилищами и другими элементами инфраструктуры каждый раз, когда нужно написать, протестировать или развернуть программное приложение.

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

    • Ускорение производства и вывода продукта на рынок

    Автоматизация IaC значительно ускоряет процесс предоставления инфраструктуры для разработки, тестирования и промышленных инсталляций (а также для масштабирования или отключения производственной инфраструктуры по мере необходимости).

    •  Стабильность среды, устранение дрейфа конфигураций

    Дрейф конфигурации происходит, когда произвольные изменения и обновления конфигурации приводят к несовпадению сред разработки, тестирования и развёртывания. Это может привести к проблемам при развёртывании, уязвимостям безопасности и рискам при разработке приложений и сервисов, которые должны соответствовать строгим нормативным стандартам. IaC предотвращает дрейф, каждый раз предоставляя одну и ту же среду.

    •  Более быстрая и эффективная разработка

    Упрощая предоставление инфраструктуры и повышая её консистентность, IaC ускоряет каждый этап жизненного цикла доставки ПО. Разработчики могут быстро подготовить «песочницы» и среды непрерывной интеграции / непрерывного развёртывания (CI/CD). Быстрее предоставляются тестовые среды, инфраструктура для проверки безопасности и юзабилити. А когда код проходит тестирование, приложение и производственная инфраструктура, в которых код работает, развёртываются за один шаг.