InfraCopilot is an advanced Infrastructure-as-Code (IaC) editor that revolutionizes the way we approach cloud infrastructure design and management. Powered by the Klotho Engine, it offers unparalleled flexibility, adaptability, and intelligence to create and modify cloud architectures. In this article, we will explore the unique features and underlying architecture of InfraCopilot, highlighting its user-centric approach and how it differentiates itself from other Large Language Model (LLM) architecture generators.
InfraCopilot enables users to start with a high-level design and let InfraCopilot fill in the details. Users can then iterate with incremental high-level and low-level architecture changes. Klotho’s deterministic intelligence engine is smart enough to adjust the rest of the architecture to ensure correctness while adhering to low-level constraints.
The first release is based on a chat interface that is able to translate user intent into deployable versions of any architecture. We chose that route to help infrastructure engineers focus on architectural challenges rather than wiring components for every cloud they need to support.
Underlying Architecture: Leveraging Klotho Engine and LLM Interpretation
The service architecture of InfraCopilot is composed of five main components: the Klotho Intelligence Engine, InfraCopilot API/Orchestrator, Intent Parser, Visualization Engine, and Discord Bot. The Discord Bot acts as the user interface, forwarding queries to the InfraCopilot Service. The Language Learning Model (LLM) is utilized to extract user intent (only) that is validated and corrected by the Intent Corrector then converted into a JSON schema.
The Klotho Engine expands the user intent into a validated architecture. It generates a multi-level infrastructure representation, ranging from high-level concepts such as “Serverless Architecture” and “Message Passing” to lower-level components like secret stores, VPCs, security groups, subnets, and IAM policies. The visualizer service then creates high-level infrastructure diagrams based on the intent, providing users with a visual representation of their architecture.
Comparing Klotho and InfraCopilot
While both Klotho and InfraCopilot are built on the Klotho Engine for reasoning about architectures and generating Infrastructure-as-Code (IaC), their focus diverges in terms of leveraging its capabilities. Klotho takes a code-first static analysis approach, extracting architectural insights from user application code and seamlessly modifying the code to align with the newly generated infrastructure. In contrast, InfraCopilot centers its attention on the infrastructure and architectural aspects, intentionally avoiding developer code. This distinction upholds the established paradigm of separating infrastructure definition from code definition, but doesn’t the need for manual alignment and integration between the two.
InfraCopilot vs. LLM-based IaC Generators
InfraCopilot stands out from LLM architecture generators by only using the LLM to interpret user intent, rather than having the LLM generate infrastructure-as-code templates which may, or more likely may not be correct.
InfraCopilot uses the deterministic Klotho Engine architectural intelligence, ensuring repeatable, explainable and reliable infrastructure generation and modifications throughout the design and modification of infrastructure-as-code.
Discord, Web Application, and Community
Discord was chosen as the interface for InfraCopilot to allow the development team to iterate quickly on the intelligence functionality. Discord also provides a built-in community platform that lets users see what and how others are architecting while encouraging direct interaction between users and the development team.
Looking ahead, we’re actively developing a complementary web application that goes beyond the limitations of Discord. It’ll enable component configuration, drag-and-drop editing, multi-level visualizations, and two-way editing of infrastructure-as-code.
We invite you to be part of our community and use InfraCopilot for your next infrastructure challenge! Our team is eager to answer questions and learn from your experiences with InfraCopilot.