Disk drives are connected directly to each individual server and managed by a global distributed
file system (such as Google’s GFS ) or they can be part of Network Attached Storage (NAS)
devices that are directly connected to the cluster-level switching fabric. A NAS tends to be a simpler
solution to deploy initially because it pushes the responsibility for data management and integrity to
a NAS appliance vendor. In contrast, using the collection of disks directly attached to server nodes
requires a fault-tolerant file system at the cluster level. This is difficult to implement but can lower
hardware costs (the disks leverage the existing server enclosure) and networking fabric utilization
(each server network port is effectively dynamically shared between the computing tasks and the
file system). The replication model between these two approaches is also fundamentally different. A
NAS provides extra reliability through replication or error correction capabilities within each appliance,
whereas systems like GFS implement replication across different machines and consequently
FIGURE 1.1: Typical elements in warehouse-scale systems: 1U server (left), 7´ rack with Ethernet
switch (middle), and diagram of a small cluster with a cluster-level Ethernet switch/router (right).
int roducti on will use more networking bandwidth to complete write operations. However, GFS-like systems
are able to keep data available even after the loss of an entire server enclosure or rack and may allow
higher aggregate read bandwidth because the same data can be sourced from multiple replicas.
Trading off higher write overheads for lower cost, higher availability, and increased read bandwidth
was the right solution for many of Google’s workloads. An additional advantage of having disks colocated
with compute servers is that it enables distributed system software to exploit data locality.
For the remainder of this book, we will therefore implicitly assume a model with distributed disks
directly connected to all servers.
Some WSCs, including Google’s, deploy desktop-class disk drives instead of enterprise-grade
disks because of the substantial cost differential between the two. Because that data are nearly always
replicated in some distributed fashion (as in GFS), this mitigates the possibly higher fault rates of
desktop disks. Moreover, because field reliability of disk drives tends to deviate significantly from
the manufacturer’s specifications, the reliability edge of enterprise drives is not clearly established.
For example, Elerath and Shah  point out that several factors can affect disk reliability more
substantially than manufacturing process and design.