  Existing approaches to tolerate Byzantine faults in geo-replicated
environments require systems to execute complex agreement protocols over
wide-area links and consequently are often associated with high response times.
In this paper we address this problem with Spider, a resilient replication
architecture for geo-distributed systems that leverages the availability
characteristics of today's public-cloud infrastructures to minimize complexity
and reduce latency. Spider models a system as a collection of loosely coupled
replica groups whose members are hosted in different cloud-provided fault
domains (i.e., availability zones) of the same geographic region. This
structural organization makes it possible to achieve low response times by
placing replica groups in close proximity to clients while still enabling the
replicas of a group to interact over short-distance links. To handle the
inter-group communication necessary for strong consistency Spider uses a
reliable group-to-group message channel with first-in-first-out semantics and
built-in flow control that significantly simplifies system design.
