How Google has managed to manage its fleet of equipment with a single engineer

It is enough to walk around Silicon Valley to discover that Apple and its products are the absolute rulers in the technological world. In few hands we will see smartphones that are not iPhones or laptops that are not Macs. Both in the domestic sector but also in the corporate sector (thanks to phenomena such as BYOD and even more so with telecommuting), the shadow of those from Cupertino is long.

And yet, there are companies that, due to their own philosophy and the way they understand computing, have been and continue to be, if not refractory, at least elusive to Apple products. As you can imagine, Google is one of those firms. And not only because the developers of the world’s most famous Internet browser are also the developers of Android, but also because even on the desktop of their employees they have always pushed towards alternative options.

In this sense, long before Google developed its own desktop operating system, Chromebook OS, the company used its own Linux distribution: gLinux.Even today, when the MountainView laptops seem to be “sweeping” the education sector, Google continues to rely on a distribution that, as ComputerWorld tells us, coexists in the multinational offices with other computers based on Windows, Mac, and of course Chrome OS.

Actually, gLinux is not the first distribution used by the multinational. For more than a decade, the company opted for a fork of Ubuntu which he named Goobuntuwhich was based on the LTS (long term support) versions of the operating system sponsored by Canonical.

In 2018 however, Google decided to abandon Goobuntu and shifted its efforts to developing a new fork based on Debian which he named gLinux. As they explain from the company, the fact that Canonical released LTS versions of its Ubuntu every two years, “meant that we had to update more than 100,000 devices to the new version of the. OS every 24 months, which had become an absolute headache for the IT department.”

To this it was necessary to add that with each update it was necessary to customize the systems of the engineers and correct hundreds of bugs that were reported internally… a process that used to take a full year and that only left the company with an additional year of testing. before starting all over again.

So when the multinational decided to bet on Debian, it also did so with a different approach. Not only was I going to bet on a distribution whose support was more durable, but I would also do it in a way rolling release: GLinux Rolling Debian Testing (Rodete). The idea was that users would receive the latest security patches and updates as they were built and ready for production, instead of having to wait for a future expensive general update of the entire system. This approach is the same as that found in other distributions such as Arch Linux and openSUSE Tumbleweed. The difference in this case is that it was also the developers who work at Google who could publish these updates directly, without necessarily having to wait for the work of the Debian guys.

Their goal was to ditch that bi-year update cycle altogether and move to a continuous integration/continuous deployment model that works so well in cloud environments and allows any changes to be easily rolled back if something goes wrong.

To keep all of this running smoothly, Google created a new workflow system: Sieve. Every time Sieve detects a new version of a Debian package, it starts a new build. These packages are built in package groups, since separate packages often need to be updated together. Once the entire pool has been built, Google runs a suite of virtualized tests to ensure core components and developer workflows aren’t broken. Each group is then tested separately with a full system install, boot, and local test suite execution. This whole process takes no more than an hour.

Once this is done, all new packages are merged with the latest gLinux package group. So when Google decides it’s time to put it into production, it takes a snapshot of that group and rolls it out to different user groups incrementally, making sure feedback snapshots that everything is working as it should before releasing the image to a new set of users.

Thanks to this system, the entire gLinux development team occupies the work of a small number of engineers (one per shift) who no longer need to prepare major updates for the entire fleet of equipment: alpha, beta, RC releases, etc., disappear. . and everything is done transparently and in a single stage for the end user.

Also due to this system of continuous updates, Google can patch any security flaw immediately without compromising the stability of the system and without having to re-examine the entire OS in each update.

Of course, the company still needs dedicated staff to manage its mobile devices and computers running other OSs…but in the case of its main operating system, the battle is won.

Related Articles

Leave a Reply

Your email address will not be published.