Special tools are needed to manage the company's highly customized IT infrastructure.
Reliance on open source code runs deep among Google's developers, and the company uses open source in its production systems, too. The software has been Google-ized--something new added to make it fit Google's way of doing things.
A majority of Google's engineering desktops are Linux machines. They're typically loaded with tools such as the Free Software Foundation's Gnu C Compiler; Make, a Unix utility for assembling files into a C program; and Apache Ant, open source code for assembling Java applications from Java files.
In that sense, Google looks "very much like a typical IT shop in a lot of ways," says Chris DiBona, open source program manager.
But when it comes to the Apache Web Server, one of the most common pieces of open source code, Google eschews the standard issue. "We use very little Apache around here," DiBona says. Google's internally developed Web server has been tuned to provide monitoring and health information for system reliability.
Google developers use a homegrown system to generate a "build" out of complex software projects; the system is capable of integrating code in different languages from distributed developers. "We have a very large code base, and there are often a lot of dependencies," DiBona says. The system can heed those dependencies and enforces use of previously established, tested code when it fits files together.
Google talks up its ties to open source, but the company's IT infrastructure is so customized, such as its "cell" data storage system, that specialized tools are needed to manage the code that taps such resources.
Ajax, which powers Google Maps and Gmail, is one area in which Google has given some of its own development expertise back to the open source community. Google contributed $3 million to support interns for 600 open source projects this summer and last.
[Interop ITX 2017] State Of DevOps ReportThe DevOps movement brings application development and infrastructure operations together to increase efficiency and deploy applications more quickly. But embracing DevOps means making significant cultural, organizational, and technological changes. This research report will examine how and why IT organizations are adopting DevOps methodologies, the effects on their staff and processes, and the tools they are utilizing for the best results.
Digital Transformation Myths & TruthsTransformation is on every IT organization's to-do list, but effectively transforming IT means a major shift in technology as well as business models and culture. In this IT Trend Report, we examine some of the misconceptions of digital transformation and look at steps you can take to succeed technically and culturally.