Interested Article - Инфраструктура как код

Инфраструктура как код ( англ. Infrastructure-as-Code; Iac ) — это подход для управления и описания инфраструктуры ЦОД через конфигурационные файлы, а не через ручное редактирование конфигураций на серверах или интерактивное взаимодействие.

IaC популярен в облачных вычислениях , который называется инфраструктура как сервис (IaaS). Основная идея IaC подхода это — описывать инфраструктуру кодом, переиспользуя практики из разработки ПО . Код для управления инфраструктурой может быть написан как в декларативном стиле (встречается чаще), так и императивном .

Обзор

История IaC является симбиозом из двух вещей: простота создания виртуальной инфраструктуры и развитии модели инфраструктура как сервис . В 2006 был запущен сервис AWS и выпущен фреймворк Ruby on Rails версии 1.0 , которые позволили поднять вопрос масштабирования, с которой ранее сталкивались только огромные компании . С новыми инструментами для решения этой проблемы и появился подход IaC. Идея обходиться с инфраструктурой, как с кодом, позволила разработчикам молниеносно разворачивать приложения .

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

Ценность IaC стоит на 3 китах: цена, скорость и уменьшение рисков. Уменьшение расходов относится не только к финансовой составляющей, но и к количеству времени, затрачиваемого на рутинные операции. Принципы IaC позволяют не фокусироваться на рутине, а заниматься более важными задачами. Автоматизация инфраструктуры позволяет эффективнее использовать существующие ресурсы. Также автоматизация позволяет минимизировать риск возникновения человеческой ошибки. Всё это является частью культуры DevOps , сочетающей в себе разработку и .

Виды подходов

Существует три подхода декларативный (функциональный), императивный (процедурный) и интеллектуальный. Разница между ними выглядит как 'что' / 'как' / 'почему' . Декларативный подход нацелен на то, чтобы описать, как должна выглядеть целевая конфигурация; императивный сфокусирован на том, какие внести изменения; интеллектуальный описывает, почему инфраструктура должна быть так сконфигурирована .

Методы

Существует два метода применения IaC: push и pull . Основная разница в том, кто инициирует изменение в конфигурации целевого хоста. В pull режиме целевой хост сам инициирует получение своей конфигурации. В push режиме конфигурацию ему присылает управляющий сервер .

Инструменты

Инструмент Первый выпуск Метод Подход Написан на
Pulumi Pulumi Push Declarative Typescript, Python, Go
Chef Chef (2009) Pull Declarative and imperative Ruby
Push Declarative and imperative -
Puppet Puppet (2005) Pull Declarative Ruby
SaltStack SaltStack Push and Pull Declarative and imperative Python
CFEngine Pull Declarative -
Terraform (2014) Push Declarative Go
DSC Microsoft Push/Pull Declarative/Imperative PowerShell
Ansible / Ansible Tower RedHat (2012) Push Declarative and imperative Python

См. также

Ссылки и примечания

  1. Goncharov, Lev (20 июня 2019). Дата обращения: 21 сентября 2019. 21 сентября 2019 года.
  2. Bower, Joseph L.; Christensen, Claton M. Disruptive Technologies: Catching the Wave (англ.) // Harvard Business Review : magazine.
  3. Fletcher, Colin; Cosgrove, Terrence (2015-08-26). . Gartner (Report). из оригинала 11 декабря 2019 . Дата обращения: 21 сентября 2019 .
  4. Riley, Chris. (неопр.) // DevOps.com. — 2015. — 12 November. 22 марта 2016 года.
  5. Phillips, Andrew . DevOps.com (14 мая 2015). Дата обращения: 21 сентября 2019. Архивировано из 17 октября 2016 года.
  6. Scriptrock.com . Дата обращения: 14 декабря 2015. 4 мая 2015 года.
  7. Venezia, Paul . networkworld.com . Network World (21 ноября 2013). Дата обращения: 14 декабря 2015. 18 июля 2018 года.
Источник —

Same as Инфраструктура как код