ATLANTA — Terraform has you tripping? YAML got you cross-eyed?
A startup, Platform Engineering Labs, has tackled the ongoing headache that Infrastructure as Code (Iac) has been to many, using a...
ATLANTA — Terraform has you tripping? YAML got you cross-eyed?
A startup, Platform Engineering Labs, has tackled the ongoing headache that Infrastructure as Code (Iac) has been to many, using a little-known configuration language from Apple Corp., called Pkl, along with an agentic-based backend architecture.
The resulting open source platform is called Formae. Those at KubeCon+CloudNativeCon North America, being held here this week, can check out a demo of Formae, at Booth No. 2152.
The Challenge of Infrastructure as Code
Infrastructure as Code is the practice of saving your system’s configuration in a file, usually using YAML or JSON, which IaC orchestrators then use as an instruction set to roll out infrastructure. The advantages IaC promises are automated deployments — a real time saver — and a guard against system drift, which is when systems fall out of alignment from their desired state (usually due to manual intervention).
Yet after everything is set up once, Day 2 operations with IaC can be a headache, contends Pavlo Baron, co-founder and CEO of Platform Engineering Labs, in an interview with The New Stack. IaC files are brittle things. They quickly get complex and difficult to understand, easy to corrupt with shadow IT work, and easy to make mistakes with. They offer no guidance as to if the values they hold are even correct.
“We built Formae out of our own pain,” Baron said.
Baron himself was one of the founders of observability software provider Instana, which was purchased by IBM in 2020. He remained at IBM until the company purchased HashiCorp, and saw an opportunity in the IT automation space. Baron brought in Zachary Schneider from Instana to serve as CTO for the new company.
At Instana, both experienced firsthand the headaches operations can cause.
“We always kept talking about a single thing: How is it that developers get all the new shiny stuff and operations people don’t,” Baron recalled. “How can we improve that?”
How Formae Works
Within the Formae environ, an individual IT resource is extracted into a versioned, declarative code artifact called a “forma” (which is the Latin singular for “form”) that can then be programmed against.
Unlike Terraform or Pulumi, state management in Formae is handled not by the clients themselves, but by agents, to guard against system drift. Changes are made in the same way security patches are rolled out, minimizing the blast radius of each update.
The operator can also use a command-line interface to make changes directly. Multiple people can issue commands and they are ordered into a queue for execution. Resources are versions and stored in a data store.
Introducing Pkl
The code is written in an unusual language, Apple’s Pkl, which the company developed in-house to manage its own system deployments.
Pkl is different from JSON and YAML in that it forces users to develop a schema for each type of resource, along with a type annotation. With type annotation, the type values —and sometimes even a range of permissible values themselves — are already established for the variable itself. So fewer typos can sneak in and disrupt the operations.
This is something that YAML doesn’t do. It offers no guidance as to what the values should be. It doesn’t check to see if the values you have entered are incorrect.
These Pkl annotations can alert developers about what their choices are. It also provides a base from which additional tools can be built to further automate deployments.
“So if you want to do low-level stuff with Pkl, with functions and classes and whatsoever, you got it,” Baron said. “If you want just to declare on the high level some properties in some object, you can do that, too.”
For instance, platform engineers can use Formae to set all the possible sizes of a database system that are available to developers. The developers themselves can just pick one of a range of choices (i.e., small, medium, large) that best fit their needs.
Certainly, the practice of infrastructure deployment is ready for improvement, but will Formae scratch the itch? Stop by the Platform Engineering Labs booth at KubeCon and find out for yourself.
The post KubeCon: A Terraform Killer Built on Apple’s Pkl appeared first on The New Stack.