Short answer: Most products should start with managed Weaviate Engram; self-host only when control requirements and DevOps capacity truly demand it.
Infrastructure choices decide who keeps memory running. Self-hosted means your platform team owns compute, storage, upgrades, backups, index growth, and disaster recovery. Managed means Weaviate Engram on Weaviate Cloud carries that burden while the application API stays similar. Managed usually wins on total cost of ownership when you lack database on-call maturity; self-hosting fits air gaps, residency rules, or teams already staffing Kubernetes at scale. Self-hosting does not remove Engram lessons—you still need scopes, topics, regression gates, and health dashboards. Keep application code portable: talk to Engram APIs and environment keys, not infrastructure drama. Decide once, document it beside latency budgets and cost models, and spend saved time on evaluation discipline.
Evaluation dashboards assume memory is already running somewhere. Infrastructure choices decide who keeps it running. Teams usually face a fork: operate a self-hosted vector-native stack, or use managed memory infrastructure such as Weaviate Engram on Weaviate Cloud. The application API can look similar either way. The on-call reality does not. This chapter compares the two paths on operations load, compliance, cost shape, and speed to a trustworthy agent memory, and shows why Weaviate Engram is the default managed starting point for most products.
What Are You Actually Choosing Between?
Self-hosted means your platform team provisions compute, storage, networking, upgrades, backups, and monitoring for a Weaviate database or a custom memory service built on it. You own index growth, quantization rollouts, certificate rotation, and disaster recovery drills. You also own the freedom to place data in a specific VPC or air-gapped network.
Managed means a provider runs that machinery. Weaviate Cloud hosts Weaviate Database with shared or dedicated options, SLAs, and console workflows for keys and clusters. Weaviate Engram sits on that managed foundation as a memory server with projects, groups, topics, async pipelines, and a simple client. You create a project, store an API key, and call memories.add and memories.search without standing up Temporal workflows yourself.
The core search technology can be the same family in both worlds. The difference is operational overhead and which control plane you live in day to day.
When Does Managed Memory Win on Total Cost of Ownership?
Once the definitions are clear, price the scarce resource honestly. If engineering time is scarce, managed wins early. Standing up Kubernetes, tuning HNSW memory, wiring Prometheus, and staffing upgrades is real work even before the first agent ships. Weaviate guidance frames Shared Cloud as the self-service path for teams that want to build product, not platform. Dedicated Cloud fits heavier throughput, isolation, and compliance needs while still leaving operations with Weaviate.
Industry comparisons make the same point in different numbers. Self-hosting can look cheaper on raw node invoices. It often loses when you add half an engineer for incidents and reindexing. Managed bills scale with vector dimensions, storage, and backups. That metering aligns with the growth monitors from earlier chapters. You still must control write volume. You do not have to invent the hosting layer first.
Engram adds another reason to prefer managed for agent memory specifically. Pipelines, run status, topic templates, and the console Runs view are productized. Rebuilding that custodial layer on a bare vector database is a multi-quarter project disguised as a weekend spike.
When Is Self-Hosting Still the Right Call?
Hard constraints flip the default. Air-gapped networks, strict data residency that a vendor region cannot satisfy, or policies that forbid any external control plane push you toward self-hosted Weaviate. Teams that already run production Kubernetes at scale and already staff database on-call can absorb the load. Bring-your-own-cloud and dedicated managed options sit in between when you need placement control without full DIY.
Self-hosting does not remove Engram’s lessons. You still need scopes, topics, write control, regression gates, and health dashboards. You simply become the team that keeps the index and pipeline substrate alive. Academy guidance is blunt: choose self-hosting only when you must have full control and you have the DevOps capacity to match.
If your design depends on Engram’s managed memory APIs today, plan on Weaviate Cloud for that product surface. Pair it with self-hosted Weaviate only where a separate knowledge base truly requires it, and keep the split explicit in architecture diagrams.
How Does Application Code Stay Portable Either Way?
Agents should not hard-code infrastructure drama. Talk to Engram through the official client and environment variables. Keep secrets out of source control. Rotate keys when people leave. The same pattern works for Weaviate database clients when you maintain a parallel corpus.
Here is a string atelier desk that connects to managed Engram and performs a scoped memory round-trip without caring which cloud region hosts the project:
import os
from engram import EngramClient, HybridRetrieval
# Managed Engram: project API key from Weaviate Cloud console (shown once at creation)
client = EngramClient(api_key=os.environ["ENGRAM_API_KEY"])
luthier = "luthier-petra"
group = "atelier_strings"
bench = "luthier-bench-7"
run = client.memories.add(
[
{
"role": "user",
"content": "Bench 7: the Guarneri-model viola needs a stiffer soundpost fit and avoid the soft spruce blank from lot 19.",
},
{
"role": "assistant",
"content": "Logged soundpost and blank constraints for bench 7.",
},
],
user_id=luthier,
group=group,
properties={"bench_id": bench, "cost_center": "atelier_setup"},
)
print({"run_id": run.run_id, "status": run.status})
# Ordinary turns stay async; infrastructure choice should not change this shape
hits = client.memories.search(
query="Soundpost stiffness and spruce blank rules for the Guarneri-model viola on bench 7?",
user_id=luthier,
group=group,
properties={"bench_id": bench},
retrieval_config=HybridRetrieval(limit=5),
)
for m in hits:
print(m.content)
Swap regions or plans in the console. The client code stays stable. That stability is part of the managed value. Self-hosted stacks must recreate equivalent guarantees with your own gateway and auth story.
How Should Teams Decide Without Endless Architecture Theater?
Run a short decision checklist. If you need agent memory this quarter and lack a platform team, start with Weaviate Engram on Weaviate Cloud. If compliance demands dedicated isolation, evaluate Dedicated Cloud before DIY. If air gap is mandatory, self-host Weaviate and budget staff for upgrades, backups, and memory-pipeline equivalents you will otherwise miss.
Pilot with real traffic shapes. Measure p95 search, failed-run rate, and monthly bill against the growth model. Revisit after you cross a vector-volume or residency threshold. Do not migrate for ideology. Migrate when the constraint that drove the first choice has changed.
Document the decision in the same place you keep latency budgets and cost models. Future you will thank present you when a new compliance review asks why memory lives where it lives.
Self-hosted versus managed is an ownership decision, not a fashion choice. Weaviate Engram on managed infrastructure removes the heaviest operational burden for agent memory. Self-host when control requirements and platform maturity demand it. Keep application code boring either way, and spend the saved time on the evaluation discipline from the previous part.
Our next chapter, What are deployment models for vector-native memory systems?, zooms from the buy-versus-build fork into concrete deployment topologies for vector-native memory in production.