Здесь переводится видео в статью Тараса Котова "DevOps Поговорим о Terraform"
Ссылка на видеодоклад https://www.youtube.com/watch?v=ALsSaPQI504
Текст сделан из субтитров. Буду очень благодарен в форматировании текста, его вычитки. Для этого достаточно знать русский язык. Присылайте свои pull request или присылайте текст на почту patsev.anton[собака]gmail.com
добрый день уважаемые коллеги я надеюсь все успели пообедать немножечко отдохнуть тема моего доклада Terraform в склад формейшн вот [музыка] кира форм будет дополнительным там информация то есть не только сравнение но немножечко обо мне да я работаю в epam 15 лет войти 10 из них сетевой инженер там cisco certified network professional рнд с у меня уже был и протух экзамен пять лет вот я сама зонам работаю есть у меня валидный сертификат сиско solutions архитект professional в этом году познакомился с замечательным инструментом на новом проекте тира форм называется слышал про него до этого она именно такой хантон экспириенс прям нормальной в энтерпрайзе это вот чуть больше чем полгода собственно говоря про него я там тоже расскажу структура доклада следующее я немножечко пройдусь потому что такое клад фар машин и кира форм вообще потом приведу сравнение по трем основным направлением которые считаю важным осветить и после этого для тира форма яд некий hit hit and tricks покажу который принципе сам пользуясь и которая подглядел у одного своего коллеги но перед тем как про это просто рассказать сделаем два шага назад и поговорим о таком понятии как инфраструктура как кот наши с вами предки системные администраторы которые в свое время меняли жесткие диски материнские платы до кидали память уже тогда в свое время пользоваться инструментами автоматизации какие in the shell скриптами запускали крон джо бы в принципе пытались облегчить себе по максимуму жизнь облегчить жизнь по максимуму и делать что то что им интересно вместо того чтобы заниматься какой-то рутиной вот и со временем в их жизнь пришло такое понятие как виртуализация появились всякие у нас в vr прочие платформы да где мы могли запускать какие-то virtual очки и соответственно тяжело конечно это было совершил скриптами администрировать конфигурировать какой-то быстро процесс осуществлять ну и где-то видимо в то же время родились инструменты управления конфигурациями самый из них популярный по pidgey france apple спустя какое то время в нашу жизнь приходит облачные технологии amazon web services из-под amazon выделяется и значит сначала они вышли гдето в 2003 году в 2006 был перезапуск и потом в дальнейшем они свой магазин amazon переводят полностью на эту платформу с тех пор значит есть у нас облака и с во время когда это все появилось enterprise туда пошел стала проблема с тем что как бы нам все это быстренько разворачивать и сопровождать можно конечно было пользоваться appy appy у того же амазона и кстати сегодня да если я говорю про облака и больше промазаны потому что я с ним работал но многие вещи да они принципы применимы к любому блоку тоже api есть нам и у google клауда и ажур с этим никаких проблем нет можно было конечно пойти по пути и писать свои собственные скрипты и да есть и ws sdk под многие популярные языки но конечно лучше решения это как раз использовать инфраструктура как кот инструменты и про два из них это клад фар машин тира форме я сегодня и буду рассказывать начну я склад фар машин чисто по порядку до класс по машин сикера funky это один из сервисов amazon доступен он с 2011 года то есть уже получается более 66 лет значит сначала он начинался как с языка джейсон то есть вы описываете некий шаблон на джейсоне и сказаны эти его класс фар машин сервису и вас создается стык стек это набор ресурсов которые вы администрировать можете делать какие-то ему апдейты но в целом вы знаете что вот этот набор ресурсов он у вас был создан в рамках кого-то стыка с прошлого года с осени добавляется поддержкой нималь то есть теперь можно писать не только на джейсоне который если сходить на википедии считается машинку машин языком то есть как бы человеку не очень хорошо в него заглядывать в яму можем оставлять комментарии в целом количество кода количество кода она снижается в принципе читаемость должна быть лучше интеграция существует у этого сервиса с другими сервисами amazon допустим ластик бен 100 который очень любит девелоперы потому что в нем достаточно легко запускать приложение масштабируем этом автоматически остается балансировщик это правило записи dns записи он под капотом имеет club платформы шин то есть он запускает клад фар машин стек с нужными параметрами и это прозрачная не стоит не нужно заморачиваться с тем чтобы описывать эти ресурсы какие-то сервис бесплатен вы за него ничего не платите понятное дело что за создаваемые ресурсы за них придется платить на самом по себе ничего не стоит так пример выглядеть джейсона которая позволяет нам создать 2 ресурса если ту instance и security группу вот здесь как принципе видно да если приглядеться 30 строчек кода и они лёгким движением руки превращается в 17 самом говорим о яму создаем стыку его можно создавать как через веб интерфейс у amazon очень хороший веб-интерфейс также можно из командной строки с помощью это был и силою souls в данном примере мы создаем стек параметры мы сам стык берем из шаблона который у нас лежит локально здесь параметры передаются через ключи параметр своих также можно сложить файл чтобы у нас сама строка для запуска создания платформа 6к было меньше то есть в принципе достаточно удобно на выходе мы видим вот такой вот результат то есть это скажем так такой синхронный режим это когда мы видим такую строку это означает что amazon ebay принял наш запрос нас наш джейсон валидные параметры и вроде все нормально и дальше стек начинает создаваться если мы хотим посмотреть процесс выполнения ли какую дополнительно информацию не как раз очень нравится пользоваться веб-интерфейсом потому что там все наглядно и очень удобно перейдем катера форму тира форм это продукт компании hаши корт он поддерживает различных облачных провайдеров то есть работа не только say ws то есть в отличие от оклад фар машин который работает только следовал я здесь поддерживаются различные популярные облака и также дополнительные сервисы которые имеют теперь не только сервиса то есть он работа с кем-то dns провайдерами он работает с некоторыми инструментами того же hаши карпа допустим консул есть допустим провайдер который позволяет создавать архив провайдер это такая сущность в терра форме значит для того чтобы добиться широкой поддержки различных служб и сервисов он кира форм был выделен отдельный ядро и отдельно провайдеры каждый провайдер он скрывает логику работы и работать напрямую с каким-то сервисом и кира форм когда вы пишете код вам особо не важно да что это за провайдер в принципе синтаксис одинаковые из себя представляет один бинарный пакетик файлик мы его скачиваем куда-нибудь в паз кидаем и потом можем использовать не требуется некой инсталляции настройки дополнительный язык excel то есть мы конфигурации пишем на языке который придумал сам хаша карп хорошо карп configuration гингрич вот когда мы ним описываем создаваемым так называют создавал ресурсы вот собственно говоря его синтаксис не зависит от провайдеров мы там только указываем конечно keep ресурсы которые мы хотим создавать и поля зависимости от того что это за ресурс но в остальном на массово различные тэмина касательно синтаксис и он бесплатный есть у hаши картера форм enterprise они за это берут денежку там красивые веб-интерфейс и много всяких плюшек но мы про это здесь не говорим кому нужна может я думаю в интернете найти так выглядит код в данном случае мы описываем тоже инстанса security group ну то есть в этом примере в принципе если мы будем считать по количеству строк до сопоставимо принцип схему и используемые команды акира форм основные три команды которые мы используем то есть для того чтобы создать тира форм стек мы делаем создаем файлы конфигурации помещаем их в определенную директорию после этого переходим в эту директорию инициализируем ее с помощью команды акира формы нет кира форм просматривается и файлы скачивать необходимые зависимости и проверяет синтаксис и валидацию переменных он тоже делает после этого с помощью команды акира форм плен мы можем посмотреть что нам предлагает тира форм создать или изменить то есть если это уже существующей системы в или какие-то изменения мы можем их перед применением посмотреть и команды cure for a flame и при эти изменения применяем на текущий момент версия 011 один самое актуальное пугаться не надо что мажорная 0 в принципе продукт интер праздным им пользуются большие компании вот и в версии как раз 011 оплатил интерактивно в принципе командой плен можно не пользоваться при когда мы просто вводим тира форма play мы нам кира форм показывает список ресурсов и предлагают ввести ключевое слово если мы согласимся нет мы нажимаем enter отменяем так вот это пример того как на экране один из ресурсов который будет создан тира формам близком показывается что-то он именно будет создан новый ресурс возможные варианты месяц минус это удалить киль да и то есть ресурс будет изменен здесь также очень подробная информация о том что за параметры этого ресурса есть какие-то могут быть помечены как compiled означает что на текущий момент тира for не знает что это будет параметр чем и соответственно потому что в силу каких-то причин в основном это потому что тот ресурс не создан опустите фиксатор ресурса выдается тем же amazon ом при создании самого ресурса это кратко так я рассказал по поводу этих двух инструментов теперь хочу перейти сравнение 1 категория по которой будем сравнивать это работу как с кодом [музыка] перчит это читаемость джейсон конечно читать можно но как-то он не очень я бы читать гораздо проще вот сыч сел в принципе никаких проблем нет считается достаточно нормально бывает иногда проблемы с интерполяция mie stiro форме иногда используются сложные конструкции когда мы какие-то переменные должны с ними произойти кота манипуляции допустим нас переменной типа строка или лист и мы должны ее склеить там с другой или эти листы должны склеить или что-то выбрать иногда получается довольно таки и объемности конструкции и занимает какое-то время до когда читаешь чужой код понять логику того что то происходит документации примеры в принципе у амазона достаточно подробной документации есть примеры как для джейсон так и для ямы единственная проблема с моей точки зрения в документации очень академической и принципе хорошо пользоваться как справочником то есть какие-то вещи когда вы создаете какой то ресурс колонки instance к примеру и точнее на так он у вас уже создан и вы хотите внести какие-то изменения но incense может быть продакшене и непонятно эти изменения ни к чему приведут можно залезть документацию посмотреть то есть какие параметры зависимости того менять увы менять то есть зависимость того какие параметры вы хотите поменять да можно посмотреть приведут ли они допустим перри созданию этого ресурса или это будет просто допустим обновление к этой метаданных допустимом но вы поставили или и мем сменили the moon снится в терра форм документация есть она хорошая единственная там параметры ресурсов описанные довольно таки скупо и иногда приходится лайзе как раз документации амазона для того чтобы какие-то детали подчеркнуть в принципе нормально потому что тира форум под капотом имеет он тоже питонов он ногам год библиотечку sdk да то есть он также работает sape и понять логику того как это будет в форме осуществлена достаточно просто если знаешь как с этими же ресурсами работы через api был у меня пример когда не помогла дуб не документация по терра форму не документация помазуну залез документацию pабота 3 питонов sky библиотечки вот тогда я и увидел там значение одного параметра как он должно быть для того чтобы там ресурс был создан разработка и отладка на прошлой неделе состоялся ри invent это такое событие которое устраивает amazon конференция очень большая они обычно ним объявляю анонсирует огромную кучу всяких там сервисов новых плюшек дополнительных и так же там есть в том числе выступление с технические доклады где просто рассказывают про какие то интересные моменты того как работать с тем или иным сервисом был также доклад по клад фар машину и там ребята говорили просто то есть вы строите там сиди сиди pipeline да когда вот ваши клад фар машины тоже шаблон это кот какой-то из строя через код значит кода мы его любим хранить в репозитории это значит тестировать и вот для того чтобы все это нормально работала вы создаете такой соседи pipeline и возникает значит презентация картинка такая из 15 элементов того что нужно настроить для того чтобы это все заработало вот но если мы говорим о обычном как ее называют подходит а когда мы собственно говоря вот у меня вопрос кто во первых работал с cloth for машинам остера формам а допустим вариант какой папе то есть любой configuration management tool или тира форму то есть 7 стиле клад фармишь на любой любой я понимаю я понимаю вот которого tones по видам со стеком шифром там класс фармишь нам тира форумам а кто из вас вот пока вы поддержите руки а кто из вас при этом тестирует этот код как обычно тестирует вот аппликация до покрывайте тестами там различными иначе вот поэтому когда соседи pipeline уверена что делает уверенности тоже хорошо часто бывает начальство уверенно по факту нет а так вот это все конечно хорошо но в текущих реалиях когда мы скажем так ну репозитории создать проблем нет вот если организаций какой-то работал с кодом более сложную она отсутствует склад фар машин на все не так просто потому что клад фар машин по хорошему нужно выкладывать на ис-3 сам проблемы с versio нирования сестре bucket конечно поддерживает но это не то что там и что в гите хранить вот бывает свои заморочки есть тем что если платформы шин допустим используется для создания лямда функции а потому что лямда функции архив стенда функцию нужно выкладывать тоже на 3 соответственно когда все это дело вы у себя отлаживайте пишите этот кода то есть не только класс форма шаблон допустим можно писать нужно будет писать там для лямбда-функцию одновременно лямбда-функцию если мы говорим не о лямда функции как о каком-то тупостью микро сервисе а как какой-то компоненты которые нам помогает клаус фар машин я покажу позже но этот например тира форма в принципе это можно также спортсмен платформы шин то вот то есть мы написали этот шаблон что-то изменили значить нашим том же питонов скам скрип те которые нам нужно после разархивировать положительно из 3 после этого платформы с инспектором для правительства в терра форм все гораздо проще мы можем работаем локально тира форму нас утилита запускается также локально чтобы изменение какие-то там внести те же лям бетон с этим вообще никаких проблем нет есть провайдер который нам позволяет архивировать файлы с другой с помощью amazon провайдером этот файл можем положить на ис-3 и комбинирует этом нам настраивается достаточно просто ну и как бы сумма всего что было сказано до это криво и обучение то есть склад фар машина мне знаком достаточно давно практически как вот начать работать с amazon am не скажу что это был за она не супер может быть сложно если для каких-то базовых вещей но когда нужно поддерживать инфраструктуру носить эти изменения дат а вот клад фар машин он в этом плане очень больше гораздо требует времени для того чтобы разобраться киров он проще то есть с тира формам когда я снимал очень работать на текущем проекте мне достаточно было пару недель разобраться с тем что он и как прочитать книжку начать писать на нем и гетто в районе месяца может быть чуть побольше с тем чтобы ознакомится существующим ходом на проекте и начать уже какие-то там изменения вносить и что-то создавать что-то от меня требовалось второй большой раздел это управление инфраструктурой здесь тоже будет несколько пунктов по которым я хочу пройтись валидации изменений готовясь к этому докладу изначально знанием склад формированием заканчивались где-то прошлым годом концом вот и для того чтобы написать конечно грамотный доклада и чтобы было в нем актуальна информация в том числе и по платформе шину пролистал документацию посмотрел какие из этих моментов прошли произошли изменения вот и на самом деле с валидация со стола лучше то есть если раньше когда мы отдать или стек это было года полтора два назад мы вообще не знали что с ней произойдёт то есть какие ресурсы будут изменены какие нет и если случайно мы могли подсунуть не тот шаблон это все могло привести к тому что все ресурсы все наши виртуальные машины они просто вы исчезли то есть со временем они добавили функцию что можно было посмотреть какие ресурсы сейчас достаточно подробная информация существует то есть говорит свою что с каким ресурсам произойдет и вот почему написано дополнительные делает движение там нужно покликать и в принципе увидеть более подробную информацию на дополнительные страничке если там обратить внимание на ней территории джейсон и которые показывает веб-интерфейсе клад formations сервис то можно даже увидеть почему тот или иной ресурс будет изменен созданный ли удален в терра форме достаточно детальной информации я уже показывал рассказывал по поводу команда акира форм план и сейчас кира форма play все видно все идентификаторы что и почему будет создана перри создана длину хранение состояния когда мы создаем какой-то набор ресурсов будь то с помощью клад formations тыкать или after a farm стека но мы как-то должны процитировать эти ресурсы с тем или иным типом вклад фар машины все это встроенный сервис мы с этим не заморачиваемся то есть мы знаем что если мы можем потом если мы захотим посмотреть информацию по тому или иному стоку мы можем видеть и сколько вам шаблона созданной а какие ресурсы были созданы на тот момент вот случай кира формы из коробки этого нет то есть там формируется так называемый стоит файл в котором описываются все эти ресурсы но он по умолчанию хранится локально это как бы не то что хотелось если мы работаем не одни с инфраструктурой и для этого нужно настраивать называем backend то есть какое-то централизованное хранилище куда можно складывать этот стоит файл и откуда с ней можно потом работать традиционно для этого с используются из 3 можно положить его на истре кроме того есть такой носик у сервису amazon и его родной д н м а д б можно там создать табличку и через не обеспечить лоб механизм это означает что когда примеру вы работаете в текущий момент с изменений применяйте какие-то изменения пока эти изменения будут применены кроме вас никто не сможет работать с этим стоит файлом импорт ресурсов в класс warmachine просто отсутствует в терра форм есть но не для всех когда это бывает нужно когда собственно говоря вы начинаете использовать инструмент уже на существующем проекте то есть есть какой-то набор ресурсов которые вы создали надо бы как-то эхо обернуть класс фар машины летом в терра форм для того чтобы в дальнейшем уменьшить с помощью подходы инфра сращений скотт вот так как фар машин не дает есть возможность создать по текущим ресурсам никки темплат то есть amazon превращает ит-ресурсов тем платы после этого каким-то образом вы его преобразовывать и как вам нужно но тем ни менее придется если вы хотите все-таки эти ресурсы меньше придется удалить эти ресурсы и создать их заново с помощью класс фар машин что понятно накладывает ограничение спрос просто так это сделать нельзя поэтому миграции скажем так сам когда вы начинаете применять инструмент здесь требуется время совместная работа немножечко я уже эту тему затронул в принципе опять же да мы говорим про то что если мы класс фар машин шаблоны правим и как-то все это дело администрирует мы конечно можем складывать в git вот но в дальнейшем выкладывать их на истре с ними работать команды я сказал проблематично обязательно в принципе можно если вы вас два человека то наверное здесь особых проблем нет коллега сидит рядом всегда можно договориться в остальных случаях не так это просто тира форм принципе стандартный подход также мы работаем с репозиторием скачали что-то там изменили обратно закачали единственное что изменение мы применяем в данном случае мы я в себя на проекте со своей машины то есть я допустим нужно добавить новые инстанции или у какие-то существующих смерть поменять параметры выкачивали по территории делаю изменения с помощью тира форма применяете изменения смотрю что все нормально комиссию изменена код обратно муж делаю на сервер и природном случаем хранение пароль или принципе общей секретов платформы шине это встроено есть возможность пароли которые где-то там засветились допустим через параметр есть вы когда создаете стек вклад фар машин вы говорите что я буду с такого шаблона если шаблон допускает его конфигурирование называем секса параметры да то есть мы допустим хотим шаблон использовать которой она создает какую-то сетевую подсистему в амазонии эту запись и из 1 тира lte black и так далее да мы хотим сделать таким более общем что потом этот шаблон можно было использовать для различных типов окружений соответственно когда мы его запускаем этот стек мы говорим шаблон вот твой параметр если какие-то там пароли есть они будут закрашенными звездочками то есть это не будет видно случае тира форм такого нет информация хранится в файле к нам приезжал где-то с месяц назад девелопер исхожу карп который как раз занимается тира формам он ответственный за модуль и ws язык обернитесь радик симка и ему был задан этот вопрос он сказал что нужно свой стоит файл его читай как сенситив информации на этот файл и ограничить к нему доступа это на текущий момент единственный вариант третий раздел функционал то на самом деле за что я люблю тира форм модульность модульность она существует и вклад фар машин их тира форм но мой опыт работы с вложенными стеками то есть за счет чего достигается модульность негатива больше было это трудно писать это тяжело поддерживать отслеживать какие то зависимости когда вам нужно параметр пробросить в нежели зачисток в терра форме через модуль это делается все гораздо веселее расширяемость опять же до того как я пришел сюда на презентацию у нас была внутренняя презентация с техническими специалистами и напротив call for machine раньше мне написано что расширяемости нет на самом деле есть мне сказали можно также через лямда функцию создать любой дополнительный скажем так ресурс который ты хочешь лямда функция это у нас язык программе питон java что там чем и на нем напишем что нам нужно все замечательно да конечно прикольно но исходя из того что я сказал ранее как мы должны доставить код и тайлер функции работать с этим делом очень тяжелым у тира форма в свою очередь есть external провайдер и в нем есть external ресурс что это такое это собственно говоря мы сами конструируем тот ресурс который нам нужен мы также можем использовать какой-нибудь языков программирования в принципе даже можем нашел сделать и при запуске тира формы кира формы the external ресурс также этот скрипт который за ним выполнять и мы можем что-то сделать в моем случае это дело понадобилось когда в рамках 1 тира формально который описал мне нужно было в двойной monde by создать записи то есть если для самого да и найма дебитом есть возможность создания таблицы есть такой ресурс в терра форме то вот именно для записи в таблице такого ресурса не было и сам сами ребята из к шакор принципе говорят что вы можете делать что хотите если вам не хватает лучше конечно если в этом создадите отдельный провайдер или для существующих как-то там по можете дописать необходимо функционал иногда это бывает долго конечно секс вернулся можно сделать здесь сейчас функции в класс фар машин есть немножко встроенных функций но вчера форумов гораздо больше встречался с такой ситуации когда хотелось бы создать платформой шаблон который зависимости от какого-то введенного параметра создает необходимое количество виртуальных машин вилли 5 он создал 5 или 10 10 очень большая проблема сделать это вклад фар машин делается что делалось по крайней мере когда я этим занимался через кондишен и и костылями здесь есть такое понятие цикл мы ресурс определяем параметр каунт и говорим сколько нам нужно создать есть переменные переменные есть не только string и лист также с тимом то есть как хэш такую очень удобно принципе я пользуясь сокращает в некоторых случаях код вот там в два раза особенно когда мы работаем с этими правилами для security group или с таргет группами для лот балансиров встроенной функции есть функций очень много работы со стрингами с листами принципе она не знают для именно работы вот с этими двумя типами переменных меня такого не встречал что чуть не хватает ты чет не знаешь но документации то можно найти ограничение от ограничения уклад фар машин куча в отличие от тира фон кира форум больше желание к тому функционала чтобы несмотря на то что эти села это все таки хорошо core больше ста декларативный язык иногда не хватает чего-то такого из традиционных языков программирования for a flat свечей и так далее потому что допустим есть у нас кондишен тернарный оператор который нам позволяет зависимости от того чему равно значение этой переменной примеру то есть какая-то логику мы описываем да и зависимости от того на true или false до выполняется одно или другое но если нам нужен что было не два каких-то варианта больше то вот к сожалению нет не поможет candychan поэтому да тот же радик когда он приезжал к нам сюда на конференции devops мы с ним общались за день до этого он сказал что планировали они сделать апдейт расширить функционал языка из сел в версии 0 11 на тот момент была версия 010 но 011 этого не стало так что мы ждем с нетерпением 012 это видим уже будет в следующем году приведу три ограничения которые с которыми я столкнулся в класс фар машин сам первое это параметры максимальное количество параметров шаблоне 60 мы на предыдущем своем проекте писали портал самообслуживания цель которого было запускать дима стеки продукты карта мира и мы передавали кучи параметров через склад фар машин клад формейшн нам нужен был то есть портал бы написано джаве для java есть и слегка почему бы не воспользоваться на прямо не создавать необходимые нам ресурсы очередная через api чему мы использовали вклад фар машин потому что клад фар машин в данном случае банально удобен с помощью платформы шина мы можем следить за ресурсами которые мы создаём мы знаем что если мы этот класс фар машин удалим удалятся все ресурсы связанные с ним то есть соответственно какую-то дополнительную логику не нужно было помещать в наше приложение наш портал и это нам позволило сделать его более простым и разработать более короткие сроки проблемы с параметрами сам amazon amazon а есть для многих таких лимитов варка раунды и в принципе для проблемы с параметров он говорит берите и передавайте какой-то набор параметров в каких как лист через один параметр когда ребята нам а нибудь 2 тем плод body side in a request это когда вы пытаетесь шаблон скормить call of our машину которую вы хотите использовать для создания стас т.к. он имеет ограничение 51 килобайт если у вас достаточно большой шаблон вы можете тупо не влезть разрешено в принципе это нормально так что в данном случае нам рекомендацию только разбивать его прям до скриптами в принципе я уже рассказал действительно такая проблема существует несмотря на то что для платформы шина недавно вышел апдейт и они добавили секцию которая очень облегчать по идее должны работа с линдой тем не менее проблема этого весь рост а вот это полный список ограничений которые существуют особо туда смотреть нельзя но вот за два десятка здесь где-то есть я подытожу на я рассказал о преимуществах и недостатках обоих продуктов обоих инструментов вот где то есть у одного преимущество где-то другие но в целом лично мое мнение тира форум и он проще в использовании он может не в разы проще да но мне удобнее гораздо когда использовать опять же при подготовке к этому докладу я считал что тира форум он победит класс фар машин без вариантов у меня был огромный список того что можете раствором и очень маленькой почему из-за чего нужно пользоваться cloth for machine но как говорится врага нужно знать лицо а когда ты начинаешь изучать врага и понимать его да ты проникаешься к нему и в результате стало дилемма да что же сюда написать и собственно говоря мне столько 2 функциями который за 11 за 1 2 другой здесь плотная интеграция средовой с то есть принципе случае вот этого портала самообслуживания про который рассказал я считаю что гораздо удобнее было работ она была работаете сейчас бы если бы меня спросили раз хочешь поменять на терраформер benetton не согласился нам не нужно кира форума тот бинарник копировать нам не нужно проверять что значит новая версия она совместима несовместимы с предыдущей вот до сих пор работает этот портал и никаких проблем там нет а закира форум если у вас гетерогенная среда то есть если у вас вашу инфраструктуру построена нескольких облачных провайдеров если какие-то сторонние сервисы используйте которые поддерживает тира форм в этом плане club for машину вам конечно не как помочь не может если вы хотите пользоваться одним единым инструмент во всех остальных случаях как горицы где пенс то есть зависимости от того что сейчас компании используется какие то есть хотелки но если у вас есть возможность выбора я бы вам рекомендовал посмотрите на тот и другой инструмент нету сказали что у меня мало времени но на самом деле сейчас как я считаю самой интересной секция это вот есть сатира форм я хочу показать постараюсь быстренько рад делимся опытом три таких пунктика которые могут быть вам полезно особенно тем кто не начинал работать значит понятно что код мы храним в репозитории с этим проблем нет и контроль на репозитории на этом акцент не сделал до в понимании то есть как это у нас в компании понимается на проекте где я работаю это репозиторий которая описывает собственно говоря вашу инфраструктуру до этого я сказал что есть некий модули модуль этот при используемый код моего также храним в отдельных репозиториях а в контрольных мы на него ссылаемся и передаем нужные параметры то есть допустим у нас есть модуль для создания сетевой подсистема мы говорим что мы хотим использовать такие пи адреса там такое количество сетей есть та модель который создает нам веб-сервер от мы так далее почему только одна ветвь потому что мы здесь не видим такой девелопмента в том плане что как с модулями да мы там можем катанова фичи добавить убрать здесь он отражает то что у нас есть сейчас существует те ресурсы которые созданы поэтому у ног тут не может быть там двух веток она состоянии вы только одно вот оно такое организации директории наш контрольной репозиторий они разбиты по продуктам укажут из продуктов свой контроль на репозитории аккаунт и мы делаем директориями верхнего уровня и подними мы делаем под директорий в которых уже вынесен и как-то логические элементы то есть applications допустим здесь написано the bass какой-то general da kid общей конфигурации network веб когда мы запускаем тира форм он выполняется в определенной директорий соответственно партийцы файлы которые относятся которым должен относиться к этому стыку и в данном случае получается что у нас к каждая такая директория то отдельный стек друг другу они не мешают какие-то изменения которые мы сделали в одном стыке они не приведут таким другим изменениям изменений сделано других так то есть мы в принципе делаем здесь изоляцию и вот там плане ресурсов или присели сильно грести он снижается используем теги когда мы используем модули нужно объявить параметр source да здесь мы его скачиваем с git репозитория самая последняя часть этого тега и самой последней части этого этой ссылке то ткф 412 это означает что мы будем брать конкретно этот гид тек этот коммент и и его использовать чем удобна тем что при дальнейшем разработкой при дальнейшей разработки этого модуля на существующей инфраструктуры это никак не повлияет если мы хотим там периодически синхронизироваться но в этом случае нужно понимать что мы должны знать если если нам нужно перейти на новую версию то это должно быть как-то сделано или вручную или какими другими методами external ресурс когда нам чего-то не хватает мы можем быстренько то писать это сами для этого собственно говоря существует этот externa ресурс в этом примере мы используем питон и как раз для того чтобы создать запись в данном а тебе таблицы нам только нужно передать нужные переменные и следить за этим патент ностью а также предоставить же сон объекта стыда эти параметры которые мы продаем обратно они будут использовать ира форумом как какие-то параметры на которые можно быть ссылаться в других ресурсах [музыка] вот это наш ресурс это не считая того кода питонов сказал которой где-то лежит отдельно и последний последний пунктик секции делимся опытом это мой коллега пришел с вопросом как то камни можем мы использовать ира форме вместе с фгт bags подумали в принципе нормальная тема когда у вас относительно небольшая инфраструктура и вам нужно чтобы ваши компоненты знали друг о друга друг о друге но при этом вы не хотите создавать какие-то дополнительные сущностей и у вас используется шеф на проекты то можно информацию о ресурсов помещать уже в dota bags допустим база данных поднялась main point эту информацию сохранили applications сервера их айпи адреса тоже отдали чтобы допустим балансировщик могут использовать если мы его настроим с помощью шефа то есть мы также описываем тира форм в логику какой-то в терра форме создаем необходимые ресурсы после того как они создались мы можем поместить информацию data back можем это сделать потому что у тира форма существует провайдер шаховский и он можно создать ресурс который data back отложит запись и соответственно нашей инстанции когда про и жениться с помощью шифра эта информация из data багов может быть собранным итак подытожим поделился информацией и рассказал немножечко вводный такую сдел попова том что такой класс фар машин there a form за и против для обоих этих продуктов а также некие некоторые tips and tricks и все вопросы [музыка] [аплодисменты] добрый день благодарю за доклад скажите вы коснулись темы хранения паролей a world вы рассматривали от крыши корпус волк смотреть таких случаев если мы допустим хотим чтобы наша аппликация забирала какие-то кредит shell и и работала тогда давал подходит но в некоторых случаях нам нужно самому тира форму передавать кардифф-хилл либо он самый генерирует потому что некоторые ресурсы в амазоне допустим snmp пользователя зависти для s&w с simple имел сервис он эту информацию хранит стоит файле а мы используем из 3 то есть варианты были использовать может быть другой backend но просто но на текущем проекте у нас так устроена что мы используем из 3 в принципе мы можем эти баки ты прикрыть нам этого достаточно то есть world нет нужного вам инструментария я не уверен что волт умеет эти стоит файла хранить если он умеет то это как вариант может быть меня вот еще плотно не смотрел умеет ну вот говорят умеет в принципе как вариант но для этого нужно поднимать volta che вопросы спасибо за доклад можете рассказать как у вас организована тестировании этих форм и ну траффорд мешкова кода до того как выкатывать вовка башен но на текущий момент также как и у тех кто руки не поднимал то есть единственное как мы делаем это обычно мы все это модернизируем какой-то функционал моего бине в модуле потом мы его запускаем смотрим какие-то ресурсы создался да всё нормально и как на этом успокоимся если есть какие то проблемы про то мы с этим модулем что-то делаем сейчас этого нет это связано с тем что на текущем проекте есть срочные задачи которые нужно закрыть до конца года а после нового года домой планируем с этим делом что-то делать пусть может можете рассказать о своих идеях как это можно автоматизировать я если честно тебе даже в том направлении не смотрел есть там какой-то тира форм kitchen вот что-то оттуда можно делать есть какие то там в успехе которые тоже можно применять но в целом разговаривал с коллегой вчера там идея чтобы ну то есть это тоже как-то покрывать тестами запуск и мы запускаем наш модуль с параметрами до который там описано в тестах и потом сверяем что эти ресурсы которые были созданы они соответственно нашим ожиданиям то есть как бы идея такая какие инструменты как выстроить еще пока не определились спасибо за доклад на 1 из твоего опыта можешь поделиться какой бы путь выбрал если есть необходимость размножать in warm and с помощью тура формах то есть хранить для каждого инвар мента или там так называемый каста мир сел инфраструктуру отдельном репозиторий или все это растягиваете растягивать там вадим дара форм какой-то набор файлов слушать здесь был был это обсуждение у нас есть х шакур питер групп и да и вне его обсуждали как лучше это делать иди на мнение так не пришли но в целом нормально когда крутя инфраструктуру когда разрастается ты выделяешь это по отдельным директориям как минимум до чтобы эти стыки они не перемешивались вот и в принципе но дальше видимо зависит всё без ему говорим по рамазан от того как устроен это допустим у нас на проекте мало того что все продукты свои собственные это высоко там даже внутри одного продукта для разных типов вооружений разные аккаунты соответственно мы просто в репозитории группируем по продуктам и каждый отдельно директория верхние уровни это у нас какой-то аккаунт можно разносить как-то еще больше тут нужно смотреть на то кому ты собираешься дать доступ возможность работать с этим кира форм кодом сейчас например мы разрешили девелоперам для дев энвайроменталисты ра for configuring балансировщик но получается что в текущий момент они имеют полный доступ в репозитории и чисто теоретически конечно могут повлиять на инфраструктуру prada ответил спасибо за доклад меня вопрос наши из нашей реальной жизни с практического опыта у нас есть такая проблема у нас есть траффорд скрипт который создает rds instance на баз данных и нам надо бы анально накатить там сразу схему с юзерам и паролем вот решил ли ты такую задачу от и реформам потому что мы не нашли нормального способа как это сделать дыра форме и делаем это часто скриптом который поднимает отдельную ноту самим тира форумом насколько знаю нет потому что там все просто там есть у тира формой самого крем rds это и до выезда и о вас есть провайдер точнее тюра форма из провайдера девы с там такой возможности нет но именно чтобы как-то вчера форм коде светился с я-то гному что все равно без скрипта не обойдется есть про виженера то есть который запускается при создании ресурса и при удалении либо от можно попробовать каким external ресурсам но вот про виженера 5 если мы не используем rds куда то есть на мы не можем просто там скриптом прогнать то есть rds приватный как лучше вообще подобраться к нему а про биржу нерв там же можно сделать чтобы у тебя выполнялось не локально на удаленной машине если у вас есть какой-нибудь бастион то мы лежим хост я понял это мы делаем спасибо на самом деле и клад фар машин как бы с этим ничего не сделает их добычи не могу я пропустил вначале вы рассказывали по поводу вашего проекта то есть какой вас масштаб то есть какое окружение как легко в быстрых разворачиваете и в мистику чем проекте на котором я работаю у нас окружении на самом деле два это про т.д. и сам сам продукт он небольшой и к сожалению прыгни к сожалению так случилось что человек который был до меня ушел да какой то работа дел и я перенял но еще до конца мы не сделали чтобы это все было красиво то есть сейчас у нас там такие огрызки которые нужно будет приводить в порядок но вы-то и используйте потому что обычный носу облачное окружении ну то есть является ли это верх этом с то что киров ну да то есть два окружения это кажется не очень ну как сказать у нас 1 2 7 или 8 до вы из аккаунтов и когда я смотрю в код тира форма я вижу что там сконфигурирована и я дам допустим понимаешь что с сетевой части все нормально когда к нам приходит допустим security ким говорит ребята нужно вот такой-то функционал поднять они для этого пишут модуль то есть они просто дают модель город запустите с такими-то настройками я его запускаю вообще никаких проблем нет поэтому инфраструктура хоть и не большая но это терра форумом менеджер легко образа можете сказать насчет импорта ну допустим есть моментом 50 виртуалок в амазонии какими лучше инструментами использовать чтобы как-то автоматизировать этот импорт ну или побыстрее его сделать лидера форум да да да или просто руками типа форму им постоянно делать но тут у тира пара ничего такого нет средством ресурсы импортируются по одному поэтому ну или самому как он секретик придумать либо ждать но я не слышал что у них что-то там было терраформер да есть штука такая наруби написано на по названием терраформинг вот ее можно попробовать она возможно что-то там за импорт из из текущего аккаунта файлике и сел понял спасибо единственный нюанс что может имеет смысл не делать этого потому что зачем вы это делаете если вы просто что вот у вас этим виртуалке те же появились там в терра форме и в их дальше меня жить и допустим насколько они вас там одинаковы ли разный может имеет смысл начала подумать об архитектуре да то есть после этого написать какие-то модули перри используемые под а просто с помощью них заново поднять эти виртуалке что бывает разное у нас мы значит для дев окружения там даже на такой больший акцент бокс ребятам нужно как обычно горя до из ему сети pipeline и и все эти инфраструктура срачи скотт используем мы значит берем то что мы используем для дева также запускаем в про там и так далее но в куат reprod пород им нужно было специфичные настройки конфигурации виртуальных машин и мы просто создали создали модуль который назвали simple и свиту он configure в этой ситуации добавляет с ним уволим и любят последний вопрос и если какие-то дополнительно вы можете обсудить все это в devops нашим кружке шарики спасибо за доклад хотел спросить были бы случай у вас на проектах необходимо было откатить все что применялось только что если бы лета какой-то officially откатить но если мы говорим про тира форм то нет склад фармишь фармишь и нам разве что только при тестировании и в деве это не страшно вроде web radio 1 встреча то есть не было никогда на весь и чего нибудь там зациклилась и of the spelling группа и создает инстанции еще что-нибудь все одно уперлись или там не знаю кончились ресурсы квоты что-нибудь такое с лимитами было но это скажем так не совсем напротив было поэтому просто ticket заявили через саппорт подняли лимита монтаж был ли места патентов вроде не припомню такого количества там клад фар машин стеков максимально увеличивает 400 это нужно было так чтобы этот спасибо то раз спасибо всем за вопросы [аплодисменты]