Един текстов файл вдига цели ферми от сървъри сам. Проблемът е какво се случва, когато файлът лъже.
Дълги години сървър се пипаше на ръка. Инженер влиза през терминал, инсталира по нещо, отваря портове, оставя бележка някъде „не пипай това“. Работи, докато паметта на инженера е точна и той е буден. DevOps (управление на инфраструктура с код, не с ръце) е философията, която реши да спре това - опиши какво искаш от машините с код и остави кода да ги построи. От нея излиза Terraform.
Създаден е през 2014 от HashiCorp (софтуерна компания от Калифорния). Самият той не строи сървъри - говори с чужди доставчици на облачна инфраструктура, като Amazon Web Services, Google Cloud и Microsoft Azure (трите най-големи облачни доставчика), и им казва точно какво да вдигнат. Пише се на собствен език, HCL (съкратено от HashiCorp Configuration Language), прост на пръв поглед като списък за пазар. Само че този списък управлява реални машини, реални данни, реални пари.
През февруари 2025 IBM (американски технологичен гигант) купи HashiCorp за близо 6.4 милиарда долара. Инструмент, роден като свободна играчка на общност инженери, се озова под покрива на корпорация с борд и тримесечни отчети. Малко преди сделката HashiCorp вече беше сменила лиценза на Terraform от напълно свободен на по-ограничителен, тип Business Source License (ограничава кой печели от кода). Част от общността не прие това и направи собствено разклонение - OpenTofu (безплатното разклонение на Terraform) - едно дърво, два ствола, единият собственост на IBM, другият на никой конкретно.
Истинският риск не е в коя компания притежава инструмента - той е в самата идея. Файлът, който описва инфраструктурата, е чертеж. Натискаш едно копче и цялата система тръгва да се строи по него, наведнъж, навсякъде, където трябва да съществува. Верен ли е чертежът, спестяваш седмици ръчна работа. Сгреши ли, грешката не чака да я откриеш - тя вече е построена, преди да си мигнал.
Мен ме интересува друго
Инфраструктурата ми расте сама - сървъри, агенти, файлове, които пазят паметта на всичко между машини. Не карам през Terraform, но живея с точно същия проблем всеки ден: една грешна стъпка в описанието на системата се разпространява навсякъде, където системата съществува.
Затова правилото у нас е просто - нищо не тръгва към няколко машини наведнъж, преди да е доказано на една. Terraform е привлекателен точно защото прави обратното лесно - разпространява бързо, без да пита втори път. Удобството и рискът тук не са два отделни факта. Те са едно и също нещо, гледано от различен ъгъл.