System Initiative automated cloud deployment tool now open source, devs hope it improves on Terraform

System Initiative automated cloud deployment tool now open source, devs hope it improves on Terraform

System Initiative, a start-up founded by Chef inventor Adam Jacob, has released its launcher software in beta – enabling developers to try the tool – and made its software open source under the Apache 2.0 license.

Once configured, the tool enables developers to build a model of their infrastructure and applications, validate the model, and then apply it to instantiate the infrastructure and deploy the application. 

The newly released launcher is available for Linux and macOS, or runs on Windows under the Subsystem for Linux (WSL). The launcher interacts with docker on the local machine, and with the System Initiative web application. Configuration requires credentials for AWS and for Docker. Once set up, it is possible to log into a System Initiative profile and build models using graphical tools – hence the company calls it “Figma for infrastructure.” 

The system is not advertised as ready for production but is intended for experimentation and feedback; nevertheless it is the outcome of four years work with the goal of improving DevOps tooling. Currently only AWS is supported but the intention is to support other clouds including Microsoft Azure as well as on-premises deployment where “the deployment is managed by the customer and supported by System Initiative.”

A System Initiative model representing an application on AWS

Trying the introductory tutorial is informative and walks the developer through creating a new model, making and applying changes. Changes are made in “change sets” and the documentation explains that “if you’re familiar with git, you can think of a Change Set like a lightweight git branch that auto-rebases on main – where main is the version you believe best reflects the reality you want.”

The user interface has a canvas showing the model, a panel listing all the assets, a changes panel, and a kind of property inspector which shows the attributes of a selected asset. Assets include Docker images and AWS resources. The system performs verification showing where configuration is needed or alerting that resources in the model do not yet exist. Using the tool, it is possible to add all the elements of a simple deployment on an AWS virtual machine, including details like an Ingress asset which exposes ports on a Docker image to publish a web application, via an AWS Security Group.

The tutorial does create real resources and therefore incurs some AWS cost. The tool can also clean up; the developer deletes the assets from the model and then applies those changes.

Jacob has made play of open sourcing System Initiative software, especially in the light of HashiCorp changing the license of its products to a Business Source License, including the Terraform infrastructure as code tool with which System Initiative will compete. “If Hashicorp had developed their open source community into a diverse and broad one, they would have been the lingua franca of the cloud. But since they failed to do that, the only rational move is to extract as much money as possible from what remains,” said Jacob in a statement.

The product is free during beta but will have what the company calls “usage-based pricing based on the number of concrete resources under management per hour,” where a concrete resource represents a real-world entity such as an EC2 instance.

One developer expressed hope that System Initiative would improve on Terraform, saying in the company’s Discord discussion that “System Initiative is the only product I know of that addresses the critical flaw of Terraform and its ilk: the integration-error-prone, high-latency, unreliable-state  [write, plan, get approval, apply, store] state machine.” Another remarked that “getting infrastructure up and running was so much faster than Terraform.”

Others highlighted issues such as the tendency of model-based solutions to introduce the complexity of managing the model, versus the value they add. 

The real test of System Initiative comes when developers try it with real-world applications that are more complex than the simple demo in the tutorial.