Читаем Terraform: инфраструктура на уровне кода полностью

Рис. 1.8. Terraform использует архитектуру, не требующую наличия центральных серверов и агентов. Вам достаточно лишь запустить клиент Terraform, а тот уже позаботится обо всем остальном, применяя API облачных провайдеров, таких как AWS

Размер сообщества

Вместе с технологией вы выбираете и сообщество. Во многих случаях впечатления от использования проекта могут в большей степени зависеть от экосистемы вокруг него, чем от качества самой технологии. Сообщество определяет то, сколько людей помогают проекту, сколько у него подключаемых модулей и расширений, насколько просто получить помощь в Интернете (например, посредством статей или вопросов на StackOverflow) и проблематично ли нанять того, кто мог бы вам помочь (вроде работника, консультанта или компании технической поддержки).

Сложно провести точное сравнение между разными сообществами, но вы можете заметить некоторые тенденции, используя поисковую систему. В табл. 1.1 сравниваются популярные средства IaC с использованием данных, которые я собрал в мае 2019 года. Здесь учитывается, имеет ли инструмент открытый исходный код, с какими провайдерами он совместим, общее количество участников проекта и звезд в GitHub, сколько фиксаций кода и активных заявок было с середины апреля до середины мая, сколько открытых библиотек доступно для этого инструмента, количество вопросов о нем на StackOverflow и в скольких вакансиях на Inde­ed.com он упоминается11.

Естественно, это неидеальное сравнение равнозначных показателей. Например, некоторые инструменты имеют больше одного репозитория, а некоторые используют другие методы для отслеживания ошибок и вопросов. Поиск вакансий по таким общеупотребимым словам, как chef или puppet, нельзя считать надежным. В 2017 го­ду код провайдеров Terraform был разделен по отдельным репозиториям, поэтому оценка активности лишь по основному репозиторию будет крайне заниженной (минимум в десять раз).

Таблица 1.1. Сравнение сообществ IaC121314151617181920212223

Инструмент

Код

Облака

Участ­ники

Звезды

Фиксации (30 дней)

Заявки (30 дней)

Библио­теки

Stack­Over­flow

Вакансии

Chef

Откр.

Все

562

5794

435

86

38322

5982

43783

Puppet

Откр.

Все

515

5299

94

3144

61105

3585

42006

Ansible

Откр.

Все

4386

37 161

506

523

20 6777

11 746

8787

SaltStack

Откр.

Все

2237

9901

608

441

3188

1062

1622

CloudFormation

Закр.

AWS

?

?

?

?

3779

3315

3218

Heat

Откр.

Все

361

349

12

60010

011

88

220112

Terraform

Откр.

Все

1261

16 837

173

204

146213

2730

3641

Тем не менее некоторые тенденции очевидны. Во-первых, все средства IaC в этом сравнении имеют открытый исходный код и совместимы со многими облачными провайдерами; исключение составляет проект с закрытым исходным кодом CloudFormation, который работает только с AWS. Во-вторых, в плане популярности лидирует проект Ansible, за которым с небольшим отставанием следуют Salt и Terraform.

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

Таблица 1.2. Как изменились сообщества IaC с сентября 2016 по май 2019 года

Инструмент

Код

Облака

Участники

Звезды

Фиксации (30 дней)

Заявки (30 дней)

Библиотеки

StackOverflow

Вакансии

Chef

Откр.

Все

+18 %

+31 %

+139 %

+48 %

+26 %

+43 %

–22 %

Puppet

Откр.

Все

+19 %

+27 %

+19 %

+42 %

+38 %

+36 %

–19 %

Ansible

Откр.

Все

+195 %

+97 %

+49 %

+66 %

+157 %

+223 %

+125 %

SaltStack

Откр.

Все

+40 %

+44 %

+79 %

+27 %

+33 %

+73 %

+257 %

CloudFor­mation

Закр.

AWS

?

?

?

?

+57 %

+441 %

+249 %

Heat

Откр.

Все

+28 %

+23 %

–85 %

+1566 %

0

+69 %

+2957 %

Terraform

Откр.

Все

+93 %

+194 %

–61 %

–58 %

+3555 %

+1984 %

+8288 %

Это неидеальные данные, но их достаточно, чтобы заметить четкую тенденцию: Terraform и Ansible испытывают взрывной рост. Увеличение количества участников, звезд, открытых библиотек, вопросов на StackOverflow и вакансий просто зашкаливает24. Сегодня оба инструмента имеют большие и активные сообщества, которые, судя по приведенным выше тенденциям, продолжат расти.

Выбор между зрелостью и новизной

Еще один ключевой фактор при выборе любой технологии — ее зрелость.

В табл. 1.3 приводятся даты выпуска начальной версии каждого инструмента IaC и их версии на данный момент (по состоянию на май 2019 года).

Таблица 1.3. Сравнение инструментов IaC в плане зрелости по состоянию на май 2019 года

Инструмент

Начальный выпуск

Текущая версия

Puppet

2005

6.12.0

Chef

2009

13.1.58

CloudFormation

2011

???

SaltStack

2011

3000

Ansible

2012

2.9.5

Heat

2012

13.0.0

Terraform

2014

0.12.21

Перейти на страницу:

Все книги серии Бестселлеры O'Reilly

Искусство управления IT-проектами
Искусство управления IT-проектами

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

Скотт Беркун

Деловая литература
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT

Похожие книги