🚀 Summary / Problem Statement
We’re deploying EdgeX services as native binaries (not containers) on older Industrial PCs with limited disk and memory. The current binary sizes are relatively large, making rollout and updates challenging on constrained systems (slow disks, small storage). Examples from my builds:
- core-command: ~20 MB
- core-data: ~25 MB
- core-keeper: ~25 MB
- core-metadata: ~20 MB
- app-service-configurable: ~40 MB
With 6–7 services, the total on-disk footprint reaches ~150–200 MB just for binaries (excluding configs/logs). I build for both amd64 and arm64, and the situation is similar across architectures.
Why this matters
Many industrial environments still run on legacy IPCs (old CPUs, small SSDs/eMMC). Native (non-container) deployments are common in such environments due to OS constraints and operational policy.
Environment
- EdgeX version: 4.x (Odesa)
- Build targets: linux/amd64 and linux/arm64 (also occasional armv7)
Current vs. expected
- Current: per-service binaries ~20–40 MB; combined 150–200 MB.
- Desired: any feasible reduction (even 25–50%) would materially improve deployability on constrained IPCs.