We’re currently investigating the amount of storage traffic generated by our Horde jobs after moving our Horde storage backend to S3.
A significant portion of that traffic appears to come from compile outputs that are stored by Horde and transferred between agents.
For example, a typical job currently generates approximately:
- Compile Editor Win64: ~7 GB
- Compile Tools Win64: ~5 GB
- Compile PS5: ~9 GB
- Compile Win64: ~1 GB
We understand why these outputs need to be stored and transferred. Our compilation and packaging/cooking steps run on different agents, so Horde needs to make those build products available to downstream nodes. This is also an important part of the parallelization we want to retain.
The issue is simply the scale of the traffic. With multiple platforms, configurations, regular builds and preflights, we can generate hundreds of GB of temporary build products in only a few days. With S3 as the storage backend, this can become fairly expensive.
What is Epic’s recommended storage strategy for this type of Horde deployment?
In particular:
- Is S3 generally intended/recommended as the primary backend for these temporary BuildGraph outputs in a high-volume build environment?
- Are there recommended ways to reduce the amount of data uploaded/downloaded while retaining BuildGraph parallelization across agents?
- Is there a recommended approach for keeping short-lived/inter-agent data on local or on-prem storage while using S3 for artifacts that require longer-term storage?
- Are there caching, retention, agent topology, or storage configuration options we should be looking at specifically for large compile outputs?
- More generally, how does Epic typically handle this internally for projects where individual compile nodes can produce several GB of data across many builds per day?
Our goal isn’t to avoid the intermediate transfers, we understand why they’re necessary, but rather to make sure we’re using the intended storage architecture for this kind of workload instead of unnecessarily pushing a very large amount of short-lived data through S3.
[Attachment Removed]