Replies: 1 comment 5 replies
-
For me, "deployment" means running agent(s) remotely, not on my laptop. I like to think about it as a continuum of different types of deployments, from a single, standalone agent all the way to a managed, multi-agent enterprise platform. For what it's worth, most of the use cases I've seen are closer to the former than the latter. |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
One of the key considerations, as pointed out in https://github.com/orgs/i-am-bee/discussions/428, is whether a Docker-based solution for the platform is sufficient or if we need something more robust, it is invetably related to how users typicaly expect the agents and the platform to be deployed.
Definition of Deployment
We still need to understand users' needs and expectations around "Deployment." Here are some key use cases we've been considering.
Local Installation
The user installs the platform locally to explore the available agents or integrate their own agents to test multi-agent workflows. That's how the platform was originally envisioned to be used.
Individual Agent Deployment to Existing Infrastructure
User prefers deploying a specific agent to their existing infrastructure. Containerization supports this use case well, and communication is handled via the Agent Communication Protocol.
Multi-Agent Deployment to Existing Infrastructure
The user wants to deploy multiple agents to their existing infrastructure. Again, containerization aligns with this use case, and robust inter-agent communication (introduced via ACP) is crucial.
Deployment of the Entire Platform
User deploys the full platform: the agent catalog, platform server, and all out-of-the-box agents. Users may also include their own or GitHub-hosted agents.
One real-world example could be a small company that wants to share the entire platform internally so that all team members can experiment with and collaborate on the agents being shared.
Key distinction:
Potential Paths
We've been thinking about some potential ideas we can further explore:
Docker-based Solution
The platform only depends on Docker being available on the machine and uses it to manage the lifecycle of agents, where an agent is essentially a Docker container. The system interacts with the containers via the Docker API.
Lima VM-based Solution
The platform installs and depends on its own Lima VM, which then serves as an isolated environment to run the dockerized solution. This offers more control over the environment and networking.
Kubernetes Based Solution
The platform would run inside a Kubernetes cluster. This isolated environment provides robust control for running dockerized solutions, offering the highest flexibility and scalability. This might work really well with turnkey mode for production deployments.
Call To Action
Please share your thoughts on potential use cases and expectations when it comes to "Deployment."
Beta Was this translation helpful? Give feedback.
All reactions