Internetnews.com heeft tijdens EclipseCon 2005 gesproken met Urs Hoelzle, de vice-president van Operations en van Engineering bij Google, over de hardware- en softwarearchitectuur van Googles computer- en netwerksystemen. In totaal bevat de database van de zoekgigant ruim tien miljard webpagina's en enkele terabytes aan informatie. Om deze informatie te doorzoeken en te indexeren, maakt Google gebruik van goedkope hardware en redundancy. De gebruikte servers kosten per stuk rond de 1000 dollar en worden vervolgens in de netwerkcluster geplaatst alwaar ze hun plek innemen tussen de andere nodes. De computersystemen draaien een zwaar gepatchte versie van Red Hat met een afgeslankte kernel. Het voordeel van deze manier van werken is dat de hardware goedkoop is, een nadeel is dat de systemen relatief snel kapot gaan en dat daar binnen de netwerkarchitectuur rekening mee gehouden moet worden.
Google cachet webpagina's door verzamelingen pagina's op te splitsen in kleine stukken, genaamd 'shards'. Een aantal van deze shards wordt op één machine geplaatst en vervolgens wordt de data op die machine gerepliceerd naar een aantal andere systemen. De masterindex, met informatie over alle webpagina's, is op een vergelijkbare manier opgesplitst over meerdere servers, dit zijn de zogenaamde 'chunk servers'. Hoewel dit systeem primair is opgezet voor fail-safemogelijkheden, werkt het ook goed om de datadoorvoer te bevorderen: wanneer een serverset bezet is, kan de query eenvoudig doorgestuurd worden naar een andere set. Naast de shard- en chunkservers, zijn er ook documentservers. De taak van deze servers is het opzoeken en teruggeven van de relevante tekstgedeelten waarin gebruikers kunnen lezen in welke context de zoekstring op de webpagina staat.
Om dit alles goed te laten werken en te beheren, maakt Google gebruik van drie in-house ontwikkelde softwareoplossingen. De eerste is het Google File System, dat de basis vormt voor het opdelen en random verspreiden van de shards en chunks over de verschillende netwerknodes en serversets. De tweede oplossing die de zoekgigant heeft ontwikkeld, is het Map/Reduce Framework. Dit framework biedt aan ontwikkelaars een automatische en efficiënte manier van 'parallelization and distribution'. Het Map/Reduce Framework is bedoeld om programma's te schrijven die zonder veel inspanning door de enorme hoeveelheden Google-data kunnen zoeken. De derde zelfontwikkelde applicatie is de Global Work Queue. Dit stuk software wordt gebruikt om batch jobs te verspreiden over de servers. Hiermee kunnen grote dataverwerkingsprocessen opgesplitst worden in kleinere deeltaken die door de losse machines uitgevoerd kunnen worden, zodat deze nooit idle zijn.