Klotho announced InfraCopilot, an Infrastructure-as-Code (IaC) editor with natural language processing capabilities.
The user can chat with InfraCopilot describing their infrastructure needs and it translates these ideas into a low-level architecture. Users can then iterate with incremental high-level and low-level architecture changes. The scope of InfraCopilot is to simplify the design and management of the infrastructure providing a simple interface to be more accessible for developers with different levels of expertise.
Five parts compose the InfraCopilot architecture. The core of the project is the open-source Intelligence Klotho Engine. The other parts are InfraCopilot API/Orchestrator, Intent Parser, Visualization Engine, and Discord Bot.
The user interacts with the Discord Bot that forwards the query to the InfraCopilot service. The user intent, extracted by the large language model (LLM), is sent to the Intent Corrector which confirms and corrects the intents and converts them into a JSON structure. The corrected user intent is then expanded by the Klotho Engine into a validated architecture. The Klotho engine generates a multi-level infrastructure with all the low-level components like VPCs, subnets, security groups, and IAM policies.
At the end, the visualizer service shows the user the high-level infrastructure diagrams based on what the user asked. The generated and deployable IaC can be synced back directly to GitHub.
InfraCopilot architecture
InfraCopilot uses the large language model (LLM) only to interpret the user intent and not to generate the IaC template. The Klotho engine handles this task because it is deterministic and ensures repeatable, explainable, and reliable infrastructure.
InfraCopilot and Klotho are both built on the Klotho Engine for reasoning about architectures and generating Infrastructure-as-Code (IaC). Still, their focuses are complementary: Klotho is focused on the code-first static analysis approach, it extracts architectural insights from the application code and creates an IaC. On the other hand, InfraCopilot is focused on the infrastructure and architecture avoiding the developer code.
Example of infrastructure yaml and its representation
At the time of writing, the only cloud platform supported is AWS in early access. Azure and Google Cloud support will come.