  A debate in the research community has buzzed in the background for years:
should large-scale Internet services be centralized or decentralized?
Now-common centralized cloud and web services have downsides -- user lock-in
and loss of privacy and data control -- that are increasingly apparent.
However, their decentralized counterparts have struggled to gain adoption,
suffer from their own problems of scalability and trust, and eventually may
result in the exact same lock-in they intended to prevent. In this paper, we
explore the design of a pluralist cloud architecture, Stencil, one that can
serve as a narrow waist for user-facing services such as social media. We aim
to enable pluralism via a unifying set of abstractions that support migration
from one service to a competing service. We find that migrating linked data
introduces many challenges in both source and destination services as links are
severed. We show how Stencil enables correct and efficient data migration
between services, how it supports the deployment of new services, and how
Stencil could be incrementally deployed.
