  The Internet of Things (IoT) is offering unprecedented observational data
that are used for managing Smart City utilities. Edge and Fog gateway devices
are an integral part of IoT deployments to acquire real-time data and enact
controls. Recently, Edge-computing is emerging as first-class paradigm to
complement Cloud-centric analytics. But a key limitation is the lack of a
platform-as-a-service for applications spanning Edge and Cloud. Here, we
propose ECHO, an orchestration platform for dataflows across distributed
resources. ECHO's hybrid dataflow composition can operate on diverse data
models -- streams, micro-batches and files, and interface with native runtime
engines like TensorFlow and Storm to execute them. It manages the application's
lifecycle, including container-based deployment and a registry for state
management. ECHO can schedule the dataflow on different Edge, Fog and Cloud
resources, and also perform dynamic task migration between resources. We
validate the ECHO platform for executing video analytics and sensor streams for
Smart Traffic and Smart Utility applications on Raspberry Pi, NVidia TX1, ARM64
and Azure Cloud VM resources, and present our results.
