Settings

Theme

InfraCopilot: The Wolfram Alpha of Infrastructure

infracopilot.io

11 points by ashiban 3 years ago · 9 comments

Reader

eandre 3 years ago

Looks cool! How does it come up with different architectures when changing from one type of database (e.g.) to another?

  • ashibanOP 3 years ago

    InfraCopilot is built on Klotho which is designed on top of an adaptive architectures[0] paradigm - meaning every element in the internal representations is interchangeable. However if you think of an architecture as a puzzle, changing one element to another doesn't always just 'click in' - so the Copilot engine propagates the changes into the adjacent puzzle pieces and continues to reshape them until everything clicks again, ensuring that the result is valid. If it doesn't know how, it'll let you know, and why.

    Right now the architectural patterns are curated, but algorithmically tested. The next phase is to combine curation with patterns from the community.

    [0] https://adaptive-architectures.tech/

shaiber 3 years ago

Very cool idea, and sleek execution!

  • shaiber 3 years ago

    Also, 2 questions that come to mind:

    1. Is it based on ChatGPT? How does it ensure there are no hallucinations or that what it produces is correct? 2. Is this open source

    • ashibanOP 3 years ago

      We use OpenAI/GPT for NLP only - parsing intent - oversimplifying but normalizing things like "I want a serverless function that connects to RDS" is translated to a JSON schema that says serverless <-> RDS. That's then passed to the InfraCopilot engine which then unpacks what that means into a larger architectural representation (we have an Architecture-as-Code blog post coming soon).

      This is open source to a large degree, it's powered by the Klotho engine ( https://github.com/KlothoPlatform/klotho )

emrahsamdan 3 years ago

how does it compare to AWS' Application composer?

  • ashibanOP 3 years ago

    AWS Application Composer[0], Brainboard[1] and Cloudmaker[2] are a 1:1 mapping tool between a visual representation and an infra-as-code representation. They're more similar to Scratch[3]. You still need to know what to place to get an outcome you're interested in - If you want to set up a globally low latency static web site, or connect an RDS to a Lambda, you still need to figure out CloudFront, custom domains, VPCs, RDS Proxy, draw it all in, etc. And if you were to change RDS into DynamoDB, you'll have to manually undo/reshape the diagram/topology/IaC because some elements no longer make sense or are needed

    InfraCopilot is more akin to Wolfram Alpha, in the sense that it has an intelligence/understanding of architecture. You can use high level design to describe your intent and requirements/constraints, and it will deterministically implement it (this isn't LLMs or ChatGPT). When you attempt low level changes, it will validate that they maintain correctness, because it has an understanding of impacts.

    When you reshape elements, it has the understanding of follow-on effects, and how to propagate them into the rest of the architecture, all while staying valid.

    [0] https://aws.amazon.com/application-composer/

    [1] https://www.brainboard.co/

    [2] https://cloudmaker.ai/

    [3] https://scratch.mit.edu/

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection