  Serverless computing has grown in popularity in recent years, with an
increasing number of applications being built on Functions-as-a-Service (FaaS)
platforms. By default, FaaS platforms support retry-based fault tolerance, but
this is insufficient for programs that modify shared state, as they can
unwittingly persist partial sets of updates in case of failures. To address
this challenge, we would like atomic visibility of the updates made by a FaaS
application.
  In this paper, we present AFT, an atomic fault tolerance shim for serverless
applications. AFT interposes between a commodity FaaS platform and storage
engine and ensures atomic visibility of updates by enforcing the read atomic
isolation guarantee. AFT supports new protocols to guarantee read atomic
isolation in the serverless setting. We demonstrate that aft introduces minimal
overhead relative to existing storage engines and scales smoothly to thousands
of requests per second, while preventing a significant number of consistency
anomalies.
