وبلاگ بلیان

Terraform: инфраструктура на уровне кода (with Color Images)

معرفی کتاب «Terraform: инфраструктура на уровне кода (with Color Images)» نوشتهٔ Евгений Брикман، منتشرشده توسط نشر Спринт Бук در سال 2024. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

Terraform — настоящая звезда в мире DevOps. Эта технология позволяет управлять облачной инфраструктурой как кодом (IaC) на облачных платформах и платформах виртуализации, включая AWS, Azure и др. Третье издание было полностью переработано и дополнено, чтобы вы могли быстро начать работу с Terraform. Евгений (Джим) Брикман знакомит вас с примерами кода на простом декларативном языке программирования Terraform, иллюстрирующими возможность развертывания инфраструктуры и управления ею с помощью команд. Умудренные опытом системные администраторы, инженеры DevOps и начинающие разработчики быстро перейдут от основ Terraform к использованию полного стека, способного поддерживать трафик огромного объема и большую команду разработчиков. Краткое содержание Оглавление Введение Целевая аудитория книги Почему я написал эту книгу Структура издания Что нового в третьем издании Что нового во втором издании Чего нет в этой книге Примеры с открытым исходным кодом Использование примеров кода Условные обозначения Благодарности Глава 1. Почему Terraform Восход DevOps Что такое инфраструктура как код Самодельные скрипты Средства управления конфигурацией Средства шаблонизации серверов Средства оркестрации Средства выделения ресурсов Преимущества инфраструктуры как кода Как работает Terraform Сравнение Terraform с другими средствами IaC Управление конфигурацией или выделение ресурсов Выбор между изменяемой и неизменяемой инфраструктурой Выбор между процедурными и декларативными языками Выбор между универсальными и предметно-ориентированными языками Наличие или отсутствие ведущего сервера Наличие или отсутствие агентов Платные и бесплатные предложения Размер сообщества Выбор между зрелостью и новизной Использование нескольких инструментов вместе Выделение ресурсов плюс управление конфигурацией Выделение ресурсов плюс шаблонизация серверов Выделение ресурсов плюс шаблонизация серверов плюс оркестрация Резюме Глава 2. Приступаем к работе с Terraform Подготовка учетной записи в AWS Установка Terraform Развертывание одного сервера Развертывание одного веб-сервера Номера портов Сетевая безопасность Развертывание конфигурируемого веб-сервера Развертывание кластера веб-серверов Развертывание балансировщика нагрузки Удаление ненужных ресурсов Резюме Глава 3. Как управлять состоянием Terraform Что представляет собой состояние Terraform Файл состояния является приватным API Общее хранилище для файлов состояния Ограничения хранилищ Terraform Изоляция файлов состояния Изоляция через рабочие области Изоляция с помощью размещения файлов Источник данных terraform_remote_state Резюме Глава 4. Многократное использование инфраструктуры с помощью модулей Terraform Что такое модуль Входные параметры модуля Локальные переменные модулей Выходные переменные модуля Подводные камни Пути к файлам Вложенные блоки Сетевая изоляция Версионирование модулей Закрытые Git-репозитории Разработка модулей Резюме Глава 5. Работа с Terraform: циклы, условные выражения, развертывание и подводные камни Циклы Циклы с параметром count Циклы с выражениями for_each Соблюдение стандартов назначения тегов Циклы на основе выражений for Циклы с использованием строковой директивы for Условные выражения Условные выражения с использованием параметра count Выражения if с использованием параметра count Выражения if-else с использованием параметра count Условная логика с использованием выражений for_each и for Условные выражения с использованием строковой директивы if Развертывание с нулевым временем простоя Подводные камни Terraform Параметры count и for_each имеют ограничения Ограничения развертываний с нулевым временем простоя Даже хороший план может оказаться неудачным Рефакторинг может иметь свои подвохи Резюме Глава 6. Управление конфиденциальными данными Основы управления секретами Инструменты управления секретами Типы хранимых секретов Как хранить секреты Интерфейс доступа к секретам Сравнение инструментов управления секретами Использование инструментов управления секретами данными в комплексе с Terraform Провайдеры Пользователи-люди Пользователи машины Ресурсы и источники данных Переменные окружения Зашифрованные файлы Хранилища секретов Файлы состояний и файлы планов Файлы состояний Файлы планов Резюме Глава 7. Работа с несколькими провайдерами Работа с одним провайдером Что такое провайдер Как устанавливаются провайдеры Как используются провайдеры Работа с несколькими копиями одного провайдера Работа с несколькими регионами AWS Работа с несколькими учетными записями AWS Создание модулей, способных работать с несколькими провайдерами Работа с несколькими провайдерами Краткий курс Docker Краткий курс по Kubernetes Развертывание контейнеров Docker в AWS с помощью Elastic Kubernetes Service (EKS) Резюме Глава 8. Код Terraform промышленного уровня Почему построение инфраструктуры промышленного уровня требует так много времени Требования к инфраструктуре промышленного уровня Инфраструктурные модули промышленного уровня Мелкие модули Компонуемые модули Тестируемые модули Валидации Пред- и постусловия Когда использовать блоки validation, precondition и postcondition Версионирование модулей За границами модулей Terraform Средства выделения ресурсов Сравнение средств выделения ресурсов и пользовательских данных Средства выделения ресурсов с null_resource Внешний источник данных Резюме Глава 9. Как тестировать код Terraform Ручные тесты Основы ручного тестирования Очистка ресурсов после тестов Автоматические тесты Модульные тесты Модульное тестирование кода Terraform Внедрение зависимостей Параллельное выполнение тестов Интеграционные тесты Стадии тестирования Повторение попыток Сквозные тесты Другие подходы к тестированию Статический анализ Тестирование плана Тестирование сервера Резюме Глава 10. Как использовать Terraform в команде Внедрение концепции IaC внутри команды Убедите свое начальство Сделайте переход постепенным Дайте своей команде время на обучение Процесс развертывания кода приложений Использование системы управления версиями Локальное выполнение кода Внесение изменений в код Подача изменений на рассмотрение Выполнение автоматических тестов Слияние и выпуск новой версии Развертывание Инструментарий для развертывания Стратегии развертывания Сервер развертывания Продвижение артефактов по разным окружениям Процесс развертывания инфраструктурного кода Использование системы управления версиями Отдельные репозитории для текущей инфраструктуры и модулей Золотое правило Terraform Проблема с ветками Локальное выполнение кода Внесение изменений в код Подача изменений на рассмотрение Документация Автоматические тесты Структура каталогов Рекомендации по оформлению кода Выполнение автоматических тестов Слияние и выпуск новой версии Развертывание Инструментарий для развертывания Стратегии развертывания Сервер развертывания Продвижение артефактов по разным окружениям Собираем все вместе Резюме Приложение. Дополнительные ресурсы Книги Блоги Лекции Информационные рассылки Онлайн-форумы Об авторе Иллюстрация на обложке Terraform has emerged as a key player in the DevOps world for defining, launching, and managing infrastructure as code (IAC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, and Azure. This hands-on book is the fastest way to get up and running with Terraform. Gruntwork co-founder Yevgeniy (Jim) Brikman walks you through dozens of code examples that demonstrate how to use Terraform’s simple, declarative programming language to deploy and manage infrastructure with just a few commands. Whether you’re a novice developer, aspiring DevOps engineer, or veteran sysadmin, this book will take you from Terraform basics to running a full tech stack capable of supporting a massive amount of traffic and a large team of developers. - Compare Terraform to other IAC tools, such as Chef, Puppet, Ansible, and Salt Stack - Use Terraform to deploy server clusters, load balancers, and databases - Learn how Terraform manages the state of your infrastructure and how it impacts file layout, isolation, and locking - Create reusable infrastructure with Terraform modules - Try out advanced Terraform syntax to implement loops, if-statements, and zero-downtime deployment - Use Terraform as a team, including best practices for writing, testing, and versioning Terraform code Terraform has become a key player in the DevOps world for defining, launching, and managing infrastructure as code (IaC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, Azure, and more. This hands-on third edition, expanded and thoroughly updated for version 1.0 and beyond, shows you the fastest way to get up and running with Terraform.Gruntwork cofounder Yevgeniy (Jim) Brikman takes you through code examples that demonstrate Terraform's simple, declarative programming language for deploying and managing infrastructure with a few commands. Veteran sysadmins, DevOps engineers, and novice developers will quickly go from Terraform basics to running a full stack that can support a massive amount of traffic and a large team of developers.Compare Terraform with Chef, Puppet, Ansible, CloudFormation, and PulumiDeploy servers, load balancers, and databasesCreate reusable infrastructure with Terraform modulesTest your Terraform modules with static analysis, unit tests, and integration testsConfigure CI/CD pipelines for both your apps and infrastructure codeUse advanced Terraform syntax for loops, conditionals, and zero-downtime deploymentGet up to speed on Terraform 0.13 to 1.0 and beyondWork with multiple clouds and providers (including Kubernetes!)
دانلود کتاب Terraform: инфраструктура на уровне кода (with Color Images)