How big is Google?
Because, in addition to that, Google is a giant computer software empire. Therefore, we can answer the question "How big is Google" by the amount of code (code) that Google is managing, to be able to provide and maintain all current Internet services - from Google Search to Gmail to Google Maps.
Rachel Potvin, Google's technical manager, estimates that Google has to handle about 2 billion lines of code. To make it easy to imagine, Microsoft's Windows operating system, one of the most sophisticated software tools ever built for computers, a project that has been in development since the 1980s - could have about 50 million lines of code. .
As such, Google is having to manage 40 times more code than Windows. These 2 billion lines of code run all of Google's services, from Google Search, Google Maps, Google Docs, Google+, Google Calendar, Gmail, YouTube, and its other internet services, and all of these 2 billion lines are in a single code repository for all 25,000 Google engineers to process. Internally, Google treats its code like a giant operating system. "Although it cannot be proved, I guess this is the only and largest code base being used in the world," Potvin said.
Google may be a special case. But its case shows how powerful software has grown in the internet age. Only engineers can access Google's vast code repository, but it's almost like the open-source GitHub repository, where engineers can share tons of code on the Internet. According to Wired, we are moving into a world where we often have to work together on software code, on a massive scale. This is the only way we can keep up with the rapid progress of modern internet services.
"There are 25,000 developers like Google, meaning they are sharing code with countless people who have countless types of skills," said Sam Lambert, system director of GitHub. "But, as a small company, you can get some of the same benefits when using GitHub and open source."
How to manage 2 billion lines of code?
The problem is, building and operating this "monster" of 2 billion lines of code is no easy task. "It must be a technical challenge - a feat," Lambert said. "These numbers are really staggering." GitHub makes it easy for developers to share and collaborate on code. But GitHub didn't deploy a single software project, they spread out millions of projects. And Google combines multiple projects into one. Running this huge code warehouse with so many engineers is a tough job. But according to Potvin, everything is fine.
Basically, Google has built a separate management system to operate all of these "code hacks". This system is called Piper and it runs through the huge online infrastructure that Google has built to operate all online services. According to Potvin, the Piper system is used at 10 different data centers of Google.
All of these 2 billion lines of code are not only in a single system for every company engineer, but they also give Google engineers the great freedom to use and combine code from other companies. different projects. "When starting a new project," Potvin said, "engineers already have a rich library. Almost everything is ready. ” Moreover, engineers can make a code change and immediately deploy it across Google services. When updating something, they can update everything.
However, this system also has limitations. Potvin says highly sensitive codes - such as those related to Google's PageRank search engine - are placed in separate repositories, and only specific employees can access them. But basically, Google's code is a "giant monster" that engineers can freely use to build ideas and solutions.
As Lambert said, building and operating such a system requires not only knowledge but also a great deal of computing power. Piper processes about 85 terabytes of data (85,000 gigabytes) and 25,000 Google engineers make about 45,000 code repository changes every day. It was a tremendous amount of work. While the open source Linux operating system has 15 million lines of code on 40,000 software files, Google engineers adjust 15 million lines of code on 250,000 files per week.
At the same time, Piper must operate to eliminate the burden on the coders. It must ensure that engineers can manage all code; that they do not step on each other's feet when changing code; they may be willing to remove bugs and unused code from the repository. Google has now moved the Piper system to a new system called Perforce - a form that allows automated machine programs to handle most of the task.
That doesn't mean these machine programs write code, they only generate the data and configuration files needed to run the company's software. "You need to make every effort to maintain the code is right, correct," Potvin said. "And not only can humans do this, robots can do it."
Everyone can do it like Google
Can other companies use the same model? Definitely yes. The Facebook application manages 20 million lines of code, and Facebook also handles all in a single project. Other companies are doing the same on a smaller scale. When companies reach scale like Google or Facebook, things can get harder. But Google and Facebook are finding solutions - for everyone.
Two internet giants are working on an open source version control system so that people can use and manage large amounts of code. This new system is based on an existing system, Mercurial. "We are looking at whether Mercurial can be used for large-scale code management projects like Google today," Potvin said and said Google is working closely with programming expert Bryan O'Sullivan and others at Facebook. .
This is exciting. After all, very few companies can manage as much code as Google or Facebook do today. But in the near future, they will be able.
Articles, videos and photos that contribute to the forum, please post. The works will be approved for publication and receive attractive royalties of the editorial office.
** We don't host any of the files, this site only contains download links from 3rd party sites by individual users which are freely available on all over the Internet. This material was provided for informational purposes only. Administration is not responsible for its contents.