Back End of Google Docs
Google has a well-earned reputation for secrecy when it comes to their operations. There's not a lot of information available on the system Google Docs uses. But we can make some safe assumptions based on other Google operations. First, let's start with what we do know.
Google built the software that handles all the major functions of Google Docs -- the parts that in a traditional network would be called the server side of the system -- using the Java programming language. Java is a object-oriented programming language developed by Sun Microsystems. Google uses the Java programming language to build and develop the Google Docs applications.
Advertisement
The user's side of the system -- what would be called the client side in a traditional network -- consists of Web applications enhanced by the Javascript programming language. Javascript and Java aren't the same thing. The Java language allows programmers to build programs ranging from full applications to smaller applets. It's possible to build a Java application that works independently of other software. Developers use Javascript to enhance Web services. It doesn't work outside of a Web browser experience.
Beyond these facts, only people within Google know how the system supporting Google Docs works. But based on computer networks like the Google File System, we can make a few assumptions:
- Google has a history of using inexpensive, off-the-shelf hardware whenever possible. It's probably safe to assume that the servers handling Google Docs aren't particularly powerful or advanced. It's more likely that they are workhorse computers. Since the hardware is relatively cheap, it's not as expensive to add more resources to the system. When it's easy to build in more capacity in a system, it's called a scalable system.
- One possible arrangement of hardware would include application servers and database servers. The application servers would run the actual software that makes Google Docs possible. The database servers act as storage. Google may also use a control or administrative server that acts as a gatekeeper.
- Since cheap hardware isn't always reliable, Google designs its computer systems knowing that parts will fail regularly. That means Google most likely stores Google Docs files on multiple database servers, a policy called redundancy. If one server fails, Google Docs can pull information from another server. The servers likely send messages to a central control server to update files and stay current.
How many machines does the Google Docs system require to run? That's also a mystery. Google has several huge datacenters. A datacenter is a building that shelters computer equipment, usually stored in metal shelving units called racks. A large datacenter might house thousands of servers.
What does the future hold for Google Docs? We'll explore that in the next section.