  The rapid increase in the adoption of Internet-of-Things (IoT) devices raises
critical privacy concerns as these devices can access a variety of sensitive
data. The current status quo of relying on manufacturers' cloud services to
process this data is especially problematic since users cede control once their
data leaves their home. Multiple recent incidents further call into question if
vendors can indeed be trusted with users' data. At the same time, users desire
compelling features supported by IoT devices and ML-based cloud inferences
which compels them to subscribe to manufacturer-managed cloud services. An
alternative to use a local in-home hub requires substantial hardware
investment, management, and scalability limitations. This paper proposes
Self-Serviced IoT (SSIoT), a clean-slate approach of using a hybrid hub-cloud
setup to enable privacy-aware computation offload for IoT applications.
Uniquely, SSIoT enables opportunistic computation offload to public cloud
providers while still ensuring that the end-user retains complete end-to-end
control of their private data reducing the trust required from public cloud
providers. We show that SSIoT can leverage emerging function-as-a-service
computation (e.g. AWS Lambda) to make these offloads cost-efficient, scalable
and high performance as long as key limitations of being stateless, limited
resources, and security isolation can be addressed. We build an end-to-end
prototype of SSIoT and evaluate it using several micro-benchmarks and example
applications representing real-world IoT use cases. Our results show that SSIoT
is highly scalable, as compared to local-only approaches which struggle with as
little as 2-4 apps in parallel. We also show that SSIoT is cost-efficient
(operating a smart doorbell for $10 a year) at the cost of minimal additional
latency as compared to a local-only hub, even with a hardware ML accelerator.
