Предназначена ли инфраструктура как код (IaC) для программной инфраструктуры, виртуальной аппаратной инфраструктуры или для того и другого? - PullRequest
0 голосов
/ 29 августа 2018

На основе концепции Википедии

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

Он хорошо работает для предоставления инструментов, таких как Ansible, Chef, Puppet и PowerShell DSC, которые являются хорошо известными инструментами автоматизации, очень полезными в процессе непрерывной разработки. В течение долгого времени это был самый близкий способ, которым мы могли создать всю инфраструктуру , наше приложение должно было использовать код. Тем не менее, с появлением «Инфраструктура как услуга» мы смогли по-настоящему управлять сетью, вычислительной инфраструктурой и инфраструктурой хранения.

Если у нас на счету другая точка зрения на ИТ-инфраструктуру , которая определяет ее как

состав физических и виртуальных ресурсов, обеспечивающих поток, хранение, обработку и анализ данных.

тогда мне кажется более понятным, что инфраструктура может относиться больше к ресурсам сети / вычислений / хранения, а именно к ресурсам IaaS. Мне в голову приходят следующие инструменты: Шаблоны диспетчера ресурсов Azure и AWS CloudFormation ; которые создают инфраструктуру с нуля, имея в виду, конечно, что инструменты обеспечения работают как хорошее дополнение для автоматизации конфигурации системы.

Следует ли использовать инфраструктуру как код для обозначения инструментов обеспечения / автоматизации / развертывания или просто выделить те, которые с помощью кода позволяют автоматизировать и управлять виртуальными ресурсами?

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Следует ли использовать инфраструктуру как код для обозначения инструментов обеспечения / автоматизации / развертывания или просто выделить те, которые с помощью кода позволяют автоматизировать и управлять виртуальными ресурсами?

Ни. IaC не относится к инструментам. Это относится к процессу. Из вашей собственной цитаты:

Инфраструктура как код (IaC) - это процесс управления и подготовки компьютерных центров обработки данных ....

Разница проста:

  • В старые времена, если вы знали, что вашему программному обеспечению требуется Windows 7 SP2, процесс должен был бы ввести билет для вашего системного инженера, чтобы применить Windows 7 SP2 к серверу.

  • В эпоху IaC, если вы знаете, что вашему программному обеспечению требуется Windows 7 с пакетом обновления 2 (SP2), процесс будет состоять в том, чтобы изменить исходный код и зарегистрировать его.

Старый процесс занимал много времени, отнимал контроль у разработчика и был не очень повторяемым, что могло привести к ошибкам или небольшим различиям в том, как все настроено в O / S. Также может быть трудно откатиться назад. Системные «версии» могут храниться в виде образов виртуальных машин или резервных копий, которые обычно бывают очень большими.

Новый процесс, если он настроен правильно, является полностью повторяемым, очень быстрым и ставит разработчика на место водителя. Вы можете хранить столько версий, сколько захотите, в системе контроля версий, и откат выполняется так же просто, как откат программного обеспечения.

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

0 голосов
/ 30 августа 2018

Инструмент, который мне приходит в голову, - это шаблоны Azure Resource Manager и ИМХО находится в решениях IaaS, где IaC действительно обретает форму.

Давайте поговорим о шаблоне диспетчера ресурсов Azure, который позволяет пользователям удобно создавать или воссоздавать ресурсы с помощью кода, как шаблон. И, как вы говорите,

Инфраструктура как код (IaC) - это процесс управления и подготовка компьютерных центров обработки данных через машиночитаемое определение файлы

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...