Google data centers


Google Data Centers are the large data center facilities Google uses to provide their services, which combine large amounts of digital storage, computer nodes organized in aisles of racks, internal and external networking, environmental controls, and operations software.
There is no official data on how many servers are in Google data centers, but Gartner estimated in a July 2016 report that Google at the time had 2.5 million servers. This number is changing as the company expands capacity and refreshes its hardware.

Locations

The locations of Google's various data centers by continent are as follows:
North America:
  1. Berkeley County, South Carolina — since 2007, expanded in 2013, 150 employees
  2. Council Bluffs, Iowa — announced 2007, first phase completed 2009, expanded 2013 and 2014, 130 employees
  3. Douglas County, Georgia — since 2003, 350 employees
  4. Bridgeport, Jackson County, Alabama
  5. Lenoir, North Carolina — announced 2007, completed 2009, over 110 employees
  6. Montgomery County, Tennessee — announced 2015
  7. Mayes County, Oklahoma at MidAmerica Industrial Park — announced 2007, expanded 2012, over 400 employees
  8. The Dalles, Oregon — since 2006, 80 full-time employees
  9. Henderson, Nevada — announced in 2018 : 1,210 acres of land bought in 2017 in the Tahoe Reno Industrial Center; project approved by the state of Nevada in November 2018
South America:
  1. Quilicura, Chile — announced 2012, online since 2015, up to 20 employees expected. A million investment plan to increase capacity at Quilicura was announced in 2018.
  2. Cerrillos, Chile - announced for 2020
Europe:
  1. Saint-Ghislain, Belgium — announced 2007, completed 2010, 12 employees
  2. Hamina, Finland — announced 2009, first phase completed 2011, expanded 2012, 90 employees
  3. Dublin, Ireland — announced 2011, completed 2012, 150 employees
  4. Eemshaven, Netherlands — announced 2014, completed 2016, 200 employees
  5. Fredericia, Denmark — announced 2018, planned completion in 2021
Asia:
  1. Jurong West, Singapore — announced 2011, completed 2013
  2. Changhua County, Taiwan — announced 2011, completed 2013, 60 employees
  3. Mumbai, India — announced 2017, completed 2019
  4. Tainan City, Taiwan — announced September, 2019.

    Hardware

Original hardware

The original hardware that was used by Google when it was located at Stanford University included:
As of 2014, Google has used a heavily customized version of Debian. They migrated from a Red Hat-based system incrementally in 2013.
The customization goal is to purchase CPU generations that offer the best performance per dollar, not absolute performance. How this is measured is unclear, but it is likely to incorporate running costs of the entire server, and CPU power consumption could be a significant factor. Servers as of 2009–2010 consisted of custom-made open-top systems containing two processors, a considerable amount of RAM spread over 8 DIMM slots housing double-height DIMMs, and at least two SATA hard disk drives connected through a non-standard ATX-sized power supply unit. The servers were open top so more servers could fit into a rack. According to CNET and a book by John Hennessy, each server had a novel 12-volt battery to reduce costs and improve power efficiency.
According to Google, their global data center operation electrical power ranges between 500 and 681 megawatts.
The combined processing power of these servers might have reached from 20 to 100 petaflops in 2008.

Network topology

Details of the Google worldwide private networks are not publicly available, but Google publications make references to the "Atlas Top 10" report that ranks Google as the third largest ISP behind Level 3.
In order to run such a large network, with direct connections to as many ISPs as possible at the lowest possible cost, Google has a very open peering policy.
From this site, we can see that the Google network can be accessed from 67 public exchange points and 69 different locations across the world. As of May 2012, Google had 882 Gbit/s of public connectivity. This public network is used to distribute content to Google users as well as to crawl the internet to build its search indexes.
The private side of the network is a secret, but a recent disclosure from Google indicate that they use custom built high-radix switch-routers for the wide area network. Running no less than two routers per datacenter we can conclude that the Google network scales in the terabit per second range.
These custom switch-routers are connected to DWDM devices to interconnect data centers and point of presences via dark fibre.
From a datacenter view, the network starts at the rack level, where 19-inch racks are custom-made and contain 40 to 80 servers. Servers are connected via a 1 Gbit/s Ethernet link to the top of rack switch. TOR switches are then connected to a gigabit cluster switch using multiple gigabit or ten gigabit uplinks. The cluster switches themselves are interconnected and form the datacenter interconnect fabric.
From an operation standpoint, when a client computer attempts to connect to Google, several DNS servers resolve www.google.com into multiple IP addresses via Round Robin policy. Furthermore, this acts as the first level of load balancing and directs the client to different Google clusters. A Google cluster has thousands of servers, and once the client has connected to the server additional load balancing is done to send the queries to the least loaded web server. This makes Google one of the largest and most complex content delivery networks.
Google has numerous data centers scattered around the world. At least 12 significant Google data center installations are located in the United States. The largest known centers are located in The Dalles, Oregon; Atlanta, Georgia; Reston, Virginia; Lenoir, North Carolina; and Moncks Corner, South Carolina. In Europe, the largest known centers are in Eemshaven and Groningen in the Netherlands and Mons, Belgium. Google's Oceania Data Center is claimed to be located in Sydney, Australia.

Project 02

One of the largest Google data centers is located in the town of The Dalles, Oregon, on the Columbia River, approximately 80 miles from Portland. Codenamed "Project 02", the million complex was built in 2006 and is approximately the size of two American football fields, with cooling towers four stories high. The site was chosen to take advantage of inexpensive hydroelectric power, and to tap into the region's large surplus of fiber optic cable, a remnant of the dot-com boom. A blueprint of the site appeared in 2008.

Summa papermill

In February 2009, Stora Enso announced that they had sold the Summa paper mill in Hamina, Finland to Google for 40 million Euros. Google invested 200 million euros on the site to build a data center and announced additional 150 million euro investment in 2012. Google chose this location due to the availability and proximity of renewable energy sources.

Modular container data centers

In 2005, Google was researching a containerized modular data center. Google filed a patent application for this technology in 2003.

Floating data centers

In 2013, the press revealed the existence of Google's floating data centers along the coasts of the states of California and Maine. The development project was maintained under tight secrecy. The data centers are 250 feet long, 72 feet wide, 16 feet deep. The patent for an in-ocean data center cooling technology was bought by Google in 2009. Shortly thereafter, Google declared that the two massive and secretly-built infrastructures were merely "interactive learning centers, a space where people can learn about new technology."
Google halted work on the barges in late 2013 and began selling off the barges in 2014.

Software

Most of the software stack that Google uses on their servers was developed in-house. According to a well-known Google employee, C++, Java, Python and Go are favored over other programming languages. For example, the back end of Gmail is written in Java and the back end of Google Search is written in C++. Google has acknowledged that Python has played an important role from the beginning, and that it continues to do so as the system grows and evolves.
The software that runs the Google infrastructure includes:
Google has developed several abstractions which it uses for storing most of its data:
Most operations are read-only. When an update is required, queries are redirected to other servers, so as to simplify consistency issues. Queries are divided into sub-queries, where those sub-queries may be sent to different ducts in parallel, thus reducing the latency time.
To lessen the effects of unavoidable hardware failure, software is designed to be fault tolerant. Thus, when a system goes down, data is still available on other servers, which increases reliability.

Search infrastructure

Index

Like most search engines, Google indexes documents by building a data structure known as inverted index. Such an index obtains a list of documents by a query word. The index is very large due to the number of documents stored in the servers.
The index is partitioned by document IDs into many pieces called shards. Each shard is replicated onto multiple servers. Initially, the index was being served from hard disk drives, as is done in traditional information retrieval systems. Google dealt with the increasing query volume by increasing number of replicas of each shard and thus increasing number of servers. Soon they found that they had enough servers to keep a copy of the whole index in main memory, and in early 2001 Google switched to an in-memory index system. This switch "radically changed many design parameters" of their search system, and allowed for a significant increase in throughput and a large decrease in latency of queries.
In June 2010, Google rolled out a next-generation indexing and serving system called "Caffeine" which can continuously crawl and update the search index. Previously, Google updated its search index in batches using a series of MapReduce jobs. The index was separated into several layers, some of which were updated faster than the others, and the main layer wouldn't be updated for as long as two weeks. With Caffeine, the entire index is updated incrementally on a continuous basis. Later Google revealed a distributed data processing system called "Percolator" which is said to be the basis of Caffeine indexing system.

Server types

Google's server infrastructure is divided into several types, each assigned to a different purpose:
In October 2013, The Washington Post reported that the U.S. National Security Agency intercepted communications between Google's data centers, as part of a program named MUSCULAR. This wiretapping was made possible because, at the time, Google did not encrypt data passed inside its own network. This was rectified when Google began encrypting data sent between data centers in 2013.

Environmental impact

Google's most efficient data center runs at using only fresh air cooling, requiring no electrically powered air conditioning.
In December 2016, Google announced that—starting in 2017—it will power all of its data centers, as well as all of its offices, from 100% renewable energy. The commitment will make Google "the world's largest corporate buyer of renewable power, with commitments reaching 2.6 gigawatts of wind and solar energy".