Следует ли использовать инфраструктуру как код для обозначения инструментов обеспечения / автоматизации / развертывания или просто выделить те, которые с помощью кода позволяют автоматизировать и управлять виртуальными ресурсами?
Ни. IaC не относится к инструментам. Это относится к процессу. Из вашей собственной цитаты:
Инфраструктура как код (IaC) - это процесс управления и подготовки компьютерных центров обработки данных ....
Разница проста:
В старые времена, если вы знали, что вашему программному обеспечению требуется Windows 7 SP2, процесс должен был бы ввести билет для вашего системного инженера, чтобы применить Windows 7 SP2 к серверу.
В эпоху IaC, если вы знаете, что вашему программному обеспечению требуется Windows 7 с пакетом обновления 2 (SP2), процесс будет состоять в том, чтобы изменить исходный код и зарегистрировать его.
Старый процесс занимал много времени, отнимал контроль у разработчика и был не очень повторяемым, что могло привести к ошибкам или небольшим различиям в том, как все настроено в O / S. Также может быть трудно откатиться назад. Системные «версии» могут храниться в виде образов виртуальных машин или резервных копий, которые обычно бывают очень большими.
Новый процесс, если он настроен правильно, является полностью повторяемым, очень быстрым и ставит разработчика на место водителя. Вы можете хранить столько версий, сколько захотите, в системе контроля версий, и откат выполняется так же просто, как откат программного обеспечения.
Акт внедрения IaC - это процесс включения последнего процесса - покупки, интеграции или разработки инструментов, позволяющих модифицировать систему с помощью регистрации кода. Вот почему часть кода так важна. Если вы управляете кодом, вы управляете оборудованием.