  Centralized cloud computing with 100+ milliseconds network latencies cannot
meet the tens of milliseconds to sub-millisecond response times required for
emerging 5G applications like autonomous driving, smart manufacturing, tactile
internet, and augmented or virtual reality. We describe a new, dynamic runtime
that enables such applications to make effective use of a 5G network, computing
at the edge of this network, and resources in the centralized cloud, at all
times. Our runtime continuously monitors the interaction among the
microservices, estimates the data produced and exchanged among the
microservices, and uses a novel graph min-cut algorithm to dynamically map the
microservices to the edge or the cloud to satisfy application-specific response
times. Our runtime also handles temporary network partitions, and maintains
data consistency across the distributed fabric by using microservice proxies to
reduce WAN bandwidth by an order of magnitude, all in an {\it
application-specific manner} by leveraging knowledge about the application's
functions, latency-critical pipelines and intermediate data. We illustrate the
use of our runtime by successfully mapping two complex, representative
real-world video analytics applications to the AWS/Verizon Wavelength
edge-cloud architecture, and improving application response times by 2x when
compared with a static edge-cloud implementation.
