Що таке Terraform?
Terraform — інструмент, який створює хмарну інфраструктуру за описом у файлах конфігурації. Ви вказуєте, які ресурси мають існувати, а Terraform сам обчислює, що створити, змінити чи видалити, щоб привести хмару до цього стану.
Підхід декларативний: ви описуєте результат, а не послідовність команд. Перед застосуванням Terraform показує план — перелік майбутніх змін, — і це різко знижує ризик випадково знести робочий ресурс.
Інструмент працює з AWS, Azure, Google Cloud і десятками інших провайдерів через єдину мову конфігурації HCL. Поточний стан інфраструктури зберігається у state-файлі, який у командній роботі розміщують у спільному захищеному сховищі.
Повʼязані терміни
Infrastructure as Code — підхід, за якого сервери, мережі, бази та права доступу описуються в конфігураційних файлах і створюються автоматично за цим описом, замість ручного налаштування через вебінтерфейс хмари.
DevOpsDevOps — підхід до розробки, у якому створення програми та її експлуатація обʼєднані в один процес: та сама команда відповідає і за код, і за те, як він збирається, розгортається та працює на серверах. Мета — випускати зміни часто, швидко й безпечно.
Cloud ComputingХмарні технології — оренда обчислювальних ресурсів у провайдера замість купівлі власних серверів. Компанія бере потрібні потужності, бази та сервіси на вимогу й платить лише за фактичне споживання.
AWSAWS (Amazon Web Services) — найбільша хмарна платформа, що надає сотні сервісів: віртуальні сервери, сховища, бази даних, мережі, інструменти машинного навчання та моніторингу. Ресурси орендуються за потреби, оплата — за використання.
CI/CDCI/CD — автоматичний конвеєр, через який проходить кожна зміна коду: збірка, запуск тестів і доставка готової версії на сервери. Розробник надсилає код у репозиторій, а все інше відбувається без ручних дій.