Edge usage
The objects in this sub-bucket describe what a deployed fleet does over its lifetime — not the visits a user pays to a centralized service, but the recurring activity that runs while devices are in the field.
The shape is three layers deep.
An EdgeUsagePattern is the deployment schedule in a given Country: an hourly timeseries of EdgeUsageJourney starts, expressed in the country's local timezone. Each start is one device entering service.
An EdgeUsageJourney is what that device does from the moment it is deployed until it is retired — EdgeUsageJourney.usage_span duration later. The journey is composed of EdgeFunctions, each covering one coherent feature of the deployment (a telemetry loop, a camera capture cycle, a control task).
An EdgeFunction expresses load in two directions. On the device side it carries a list of RecurrentEdgeDeviceNeeds, each bundling the per-component demand (RecurrentEdgeComponentNeed) that the function imposes on one device; storage gets its own subclass, RecurrentEdgeStorageNeed, because storage accumulates rather than resets each hour. On the server side it carries RecurrentServerNeeds — the bridge to centralized infrastructure, where a typical-week pattern of Job triggers is replayed and scaled by the deployed device count.
Together these layers replace the demand-driven web UsagePattern with a deployment-driven one: impact comes from what every device does recurrently, multiplied by how many devices are in service.
New to this paradigm? Start with web_vs_edge for the mental model that ties these objects to the rest of e-footprint.