Коллеги из паблика KazDevOps подвезли глобальные учебные пособия по Terraform — от курсов до экзаменов. Все ссылки ведут на довольно качественные англоязычные видосы с YouTube — смотрите через Яндекс.Браузер, если по-английски пока тяжело.
🟣 Курс Terraform — автоматизируйте свою облачную инфраструктуру AWS
🟣 Сертификационный курс HashiCorp Terraform Associate
🟣 Terraform для начинающих DevOps + лабораторные работы от KodeKloud
🟣 Курс «Основы терраформирования» Дерека Моргана
🟣 Сертификационный экзамен HashiCorp Terraform Associate
🟣 Полный курс для начинающих по Terraform и AWS (создайте среду разработки)
🟣 Полный курс Terraform: от новичка до профессионала (изучайте инфраструктуру как код)
🟣 Полный курс Azure Terraform I Microsoft
Ставьте лайк и делитесь 🤝 В паблике также пишут о DevOps и всех его проявлениях: Kubernetes, DevSecOps, Облаках, HighLoad, Linux и другом.
#aws #azure #безопасность #инфраструктура #terraform
@DevOpsKaz
🟣 Курс Terraform — автоматизируйте свою облачную инфраструктуру AWS
🟣 Сертификационный курс HashiCorp Terraform Associate
🟣 Terraform для начинающих DevOps + лабораторные работы от KodeKloud
🟣 Курс «Основы терраформирования» Дерека Моргана
🟣 Сертификационный экзамен HashiCorp Terraform Associate
🟣 Полный курс для начинающих по Terraform и AWS (создайте среду разработки)
🟣 Полный курс Terraform: от новичка до профессионала (изучайте инфраструктуру как код)
🟣 Полный курс Azure Terraform I Microsoft
Ставьте лайк и делитесь 🤝 В паблике также пишут о DevOps и всех его проявлениях: Kubernetes, DevSecOps, Облаках, HighLoad, Linux и другом.
#aws #azure #безопасность #инфраструктура #terraform
@DevOpsKaz
💥 Коллеги из KazDevOps разыгрывают бесплатную консультацию по DevOps-вопросам с топами компании Core 24/7.
👉 3 победителя смогут задать вопросы техлиду и узнать, почему то или иное решение не работает, как настроить процесс эффективнее и от чего стоит отказаться.
Условия конкурса:
🤝 Делитесь с коллегами и ожидайте звонка
#devops #devsecops #cloud #kubernetes #docker #terraform #giltab
@DevOpsKaz
👉 3 победителя смогут задать вопросы техлиду и узнать, почему то или иное решение не работает, как настроить процесс эффективнее и от чего стоит отказаться.
Условия конкурса:
•
Быть подписчиком KazDevOps•
Рассказать о своей ситуации вкратце под аналогичным постом в канале KazDevOps — 1-2 предложения о проблеме, задаче или амбициях, связанных с DevOps•
Дождаться розыгрыша — победителей объявят 10 августа: проверят условия выше и рандомом определят 3 человек, которые представляют свой бизнес или работают в компании🤝 Делитесь с коллегами и ожидайте звонка
#devops #devsecops #cloud #kubernetes #docker #terraform #giltab
@DevOpsKaz
1) Для разделения нескольких слов используйте нижнее подчеркивание вместо дефиса.
2) Используйте только буквы в нижнем регистре и цифры.
3) В качестве имен всегда используйте существительные в единственном числе.
4) Не повторяйте тип ресурса в названии ресурса (ни частично, ни полностью).
Вместо:
resource "aws_route_table" "private-aws-route-table" {}
Лучше пишите:
resource "aws_route_table" "private" {}
5) Если вы не можете подобрать ресурсу общее описательное имя, тогда именуйте его как
this
или main
. 6) Давайте ресурсам логичные и осмысленные имена.
7) Имя вывода должно описывать свойство, которое он содержит. Лучшей структурой для него является эта: {
name}_{type}_{attribute}
.Напоминаем, что вы можете забрать файлик с best practices по инструментам DevOps и принять участие в конкурсе вот по этой ссылочке.
🎁 Из призов: наша фирменная футболка и сертификат на 4000 рублей на книги от издательства Питер. Итоги подведём 20 сентября.
#devops #terraform
Please open Telegram to view this post
VIEW IN TELEGRAM
1. Разделяйте файлы конфигураций. Вместо того чтобы помещать весь код в
main.tf
, лучше распределите его по нескольким файлам: •
main.tf
: вызывает модули, локальные файлы и источники данных для создания всех ресурсов.•
variables.tf
: содержит объявления переменных, используемых в main.tf.
Чтобы улучшить читаемость кода, размещайте обязательные переменные вверху, а необязательные — внизу, разделяя их строкой комментария;•
outputs.tf
: содержит выходные данные ресурсов, созданных в main.tf;•
versions.tf
: содержит требования к версиям Terraform и поставщиков;•
data.tf
: содержит импорт ресурсов;•
resource.tf
: содержит объявление конкретного ресурса;•
terraform.tfvars
: содержит значения переменных. Нигде не должен использоваться.2. Упорядочьте ключи в блоке переменных
variables.tf
следующим образом: description
, type
, default
, validation
.3. Используйте динамические блоки. Они позволяют создавать конфигурации с более высокой степенью гибкости и автоматизации. Их используют для генерирования повторяющихся блоков кода на основе входных данных, что упрощает управление инфраструктурой и уменьшает объём дублирующегося кода.
4. Старайтесь делать ваши модули ресурсов максимально простыми.
5. Указывайте версии ваших модулей, иначе вы можете столкнуться с неожиданными проблемами при очередном развертывании. Для обновления ваших модулей используйте семантическое версионирование.
6. Если ваши модули тесно связаны — объедините их в один. Такие модули можно хранить в одном репозитории и использовать их в качестве подмодулей. Так вы сможете версионировать их как единое целое, и управлять ими станет проще.
7. Используйте
map
вместо list
для описания группы объектов. Если требуется создать группу идентичных объектов, то лучше использовать map, так ресурсы будут обновляться. При использовании list
ресурсы пересоздаются. Для некоторых сценариев это критично.#bestpractices #devops #terraform
Please open Telegram to view this post
VIEW IN TELEGRAM
Disaster recovery — это стратегии и инструменты, которые помогают быстро восстановить инфраструктуру после сбоев и минимизировать простой. Традиционные DR-решения могут стоить сотни тысяч долларов в год. Terraform помогает реализовать эффективные стратегии аварийного восстановления, сокращая время простоя и потери данных, а также уменьшая затраты на инфраструктуру.
4 основных стратегии, которые можно реализовать с Terraform:
1. Backup & Restore
Самая базовая и наименее затратная стратегия. Однако, в зависимости от объема данных и процесса восстановления, может привести к высоким показателям RTO и RPO. Используйте
-refresh-only
для синхронизации состояния после восстановления из резервной копии, чтобы избежать дрейфа.2. Pilot Light
Это стратегия, когда минимально необходимая инфраструктура постоянно поддерживается в рабочем состоянии, а при сбое быстро разворачивается полноценная копия. Через условные выражения в Terraform можно разворачивать только минимальный набор ресурсов, а остальные оставить выключенными. С такой стратегией масштабировать инфраструктуру до необходимого состояния быстрее, чем в Backup & Restore.
3. Active/Passive
При выборе данной стратегии, у вас будет два окружения: активное и пассивное, которое стоит в режиме ожидания и включается в случае сбоя основной. Пассивное минимально синхронизируется с активным, но не обслуживает пользователей. В Terraform можно отдельно помечать активный и пассивный стенд в конфигурации через conditionals. А при инциденте менять роли, активируя пассивную инфраструктуру и почти мгновенно масштабируя её до полной.
4. Multi-Region Active/Active
Дорогостоящая, но надёжная стратегия. Полноценные среды развёрнуты в нескольких регионах и одновременно обслуживают пользователей. Если один регион выходит из строя, трафик автоматически перенаправляется в другие работоспособные среды. Здесь модули Terraform могут использоваться для инкапсуляции и повторного использования компонентов инфраструктуры.
#devops #terraform
Please open Telegram to view this post
VIEW IN TELEGRAM