Google работает на Linux?
D в релиз LTS, который создал ненужные трудности и ограничения для наших пользователей.
Модель релиза Rolling
Чтобы решить эти проблемы и улучшить общий опыт для наших сотрудников, мы решили перейти от модели LTS к модели прокатного выпуска. Модель релиза Rolling позволяет непрерывно обновлять и устраняет необходимость в крупных прыжках версии каждые два года. Вместо этого обновления доставляются постепенно, гарантируя, что все машины всегда в курсе последних версий программного обеспечения и исправлений безопасности. Это не только экономит время и усилия с точки зрения обновления, но и улучшает стабильность и безопасность в нашем парке.
Переходя к модели прокатного выпуска, мы смогли рассмотреть несколько болевых точек, которые присутствовали с моделью LTS. Во -первых, инженерам больше не нужно было вручную обновлять свои машины, переустанивая и настраивая их с нуля. Повышенные обновления разрешены для бесшовного перехода с минимальными нарушениями. Во -вторых, комплексное тестирование процесса обновления гарантировало, что все основные пакеты продолжали эффективно работать, снижая шансы на любые проблемы совместимости. Наконец, будучи в курсе последних версий программного обеспечения, мы смогли воспользоваться фиксациями ошибок и улучшения, которые не были обращены к выпуску LTS, повышая общую производительность наших систем.
Выгоды
Переход к модели релиза Rolling принес многочисленные преимущества для нашей организации. Во -первых, это повысило производительность наших инженеров, устранив необходимость тратить значительное время и усилия на обновление своих машин. Это позволило им больше сосредоточиться на своей работе и способствовать развитию инновационных решений. Во -вторых, непрерывные обновления гарантировали, что наши системы всегда оснащены последними исправлениями безопасности, снижая риск уязвимостей и потенциальных угроз. Более того, постепенные обновления сделали общий процесс управления нашим флотом намного более плавным и более эффективным, уменьшив рабочую нагрузку на нашу команду и минимизируя шансы на ошибки или сбои. В целом, модель выпуска Rolling оказалась ценным подходом с точки зрения стабильности, безопасности и производительности.
Заключение
Переход от модели LTS к модели Rolling Lelebre стал важной вехой в нашем путешествии по оптимизации нашего распределения Linux для различных потребностей нашей организации. Включив непрерывные обновления и устранение крупных версий, мы смогли повысить производительность, стабильность и безопасность наших систем. Этот переход не только принесет пользу нашим инженерам, но и улучшил общий опыт для всех сотрудников Google, которые полагаются на среду Linux. Мы будем продолжать развиваться и внедрить внедрение нашего дистрибуции Linux, чтобы обеспечить его достаточную платформу для нашей организации.
1. Почему Google перешел на модель выпуска Rolling для их дистрибуции Linux?
Google перешел на модель выпуска Rolling для решения проблем и ограничений модели LTS. Модель LTS требует, чтобы крупная версия прыгает каждые два года, что приводит к значительным усилиям, времени и сбоям для инженеров. Переход к модели выпуска Rolling позволяет обеспечивать непрерывные обновления, устраняя необходимость в крупных обновлениях и обеспечивая, чтобы все машины всегда были в курсе последних версий программного обеспечения и патчей безопасности.
2. С какими проблемами сталкивались модель LTS?
Модель LTS представила несколько проблем для Google. Одной из основных задач была необходимость вручную обновить машины путем переустановки и настройки их с нуля каждые два года. Этот процесс был трудоемким и разрушительным. Кроме того, большая версия прыгает в основных пакетах во время каждого цикла ОС требует комплексного тестирования и проблем совместимости. Ограничения модели LTS также не позволили Google получить доступ к последним исправлениям ошибок и улучшения, которые не были возвращены в релиз LTS.
3. Как модель релиза Rolling улучшила процесс обновления?
Модель выпуска Rolling улучшила процесс обновления, устранив необходимость в ручной переустановке и конфигурации машин. Повышенные обновления были доставлялись непрерывно, обеспечивая бесшовный переход и минимизируя сбои. Комплексное тестирование процесса обновления гарантировало, что все основные пакеты продолжали эффективно работать, уменьшая проблемы совместимости. Впадая в будущее с последними версиями программного обеспечения, Google смог воспользоваться исправлениями ошибок и улучшений, которые не были доступны в выпуске LTS.
4. Какие преимущества имеет переход к модели Rolling Release, представленной для Google?
Переход к модели релиза Rolling принес несколько преимуществ для Google. Во -первых, он улучшил производительность инженеров, сэкономив время и усилия, ранее потраченные на модернизацию машин. Это позволяет инженерам больше сосредоточиться на своей работе и вносить свой вклад в инновационные решения. Во -вторых, непрерывные обновления гарантируют, что системы Google всегда оснащены новейшими исправлениями безопасности, снижая риск уязвимостей. Наконец, постепенные обновления сделали управление автопарком более плавнее и более эффективным, уменьшив рабочую нагрузку в команде и сводя к минимуму ошибки или сбои.
5. Как модель прокатного выпуска повышает стабильность и безопасность?
Модель релиза Rolling повышает стабильность и безопасность, гарантируя, что все машины всегда в курсе последних версий программного обеспечения и исправлений безопасности. С непрерывными обновлениями системы Google постоянно оптимизируются и защищаются от потенциальных уязвимостей и угроз. Поддерживая ток с помощью исправлений и улучшений ошибок, общая производительность систем повышается, обеспечивая более стабильную и безопасную среду для пользователей.
6. Что было предыдущим внутренним распределением Google Linux на основе?
Предыдущая внутренняя лицевая сторона Google Linux, Goobuntu, была основана на выпусках Ubuntu LTS.
7. Сколько устройств в корпоративном парке Google?
Корпоративный флот Google состоит из сотен тысяч устройств на нескольких платформах, моделях и местах.
8. Почему Ubuntu выбрана в качестве базы для внутреннего распределения Google Linux?
Ubuntu был выбран в качестве базы для внутреннего дистрибуции Google Linux, поскольку он был удобен для пользователя, простыми в использовании, и предлагает дополнительные функции и обновления безопасности через свои долгосрочные выпуски поддержки (LTS).
9. Какие проблемы приступили основная версия во время присутствия цикла ОС?
Основная версия прыгает во время цикла ОС представлена проблемы, связанные с конфигурацией программного обеспечения. Инженеры должны были принимать решения о том, как двигаться вперед при столкновении с деформациями и обеспечить совместимость всех программных конфигураций с новыми версиями. Это требовало комплексного тестирования и иногда сталкивалось с трудностями в предоставлении автоматизации.
10. Как процесс обновления повлиял на команду, работающую на Goobuntu?
Процесс обновления был напряженным для команды, работающей на Goobuntu. Они получили сотни ошибок и запросов на помощь, особенно для угловых случаев. Постоянный цикл обновлений без достаточного времени выздоровления создал ощущение близкого к выгоранию в команде.
11. Как Google гарантирует целостность их пакетов Linux?
Пакеты Google Linux подписаны с ключами GNU Privacy Guard (GPG). Эти ключи автоматически настроены в диспетчете пакетов для проверки обновлений продуктов. Тем не менее, пользователи также могут выбрать установку клавиш отдельно, чтобы вручную проверить целостность начальных загрузок пакетов.
12. Каково значение Google Distribution, основанное на Debian, сейчас?
Распределение Google Linux в настоящее время основано на Debian, которая допускает модель релиза Rolling. Это означает, что обновления доставляются непрерывно, что устраняет необходимость в крупных прыжках версии каждые два года. Это повышает стабильность, безопасность и производительность для организации.
13. Как подключенные системы, основанные на Apt, установить ключ подписания пакета Google Linux?
В таких системах, как Debian или Ubuntu, пользователи могут загрузить ключ, используя команду:
wget -q -o -https: // dl.Google.com/linux/linux_signing_key.паб | Sudo Apt-Key Add -
14. Как системы RPM могут установить ключ подписи пакета Google Linux?
В таких системах на основе RPM, как Fedora или SUSE, пользователи могут загрузить ключ, используя команду:
wget https: // dl.Google.com/linux/linux_signing_key.паб
sudo rpm -import linux_signing_key.паб
15. Как можно проверить установку ключа RPM?
Установка клавиши RPM может быть проверена с помощью команды:
rpm -qi gpg-pubkey-7fac5991-*
Как Google достался Rolling Linux релизы для настольных компьютеров
И здесь’S Что-то еще-Red Hat Enterprise Linux для SAP Solutions на Google Cloud-это высокопроизводительная платформа для операций с базами данных, которая включает в себя контент и функции, специфичные для SAP, и позволяет организациям развертывать SAP в гибридных облачных средах. Red Hat Enterprise Linux является одним из двух дистрибутива Linux, сертифицированные для использования с SAP HANA® и SAP S/4HANA®.
Репозитории программного обеспечения Linux
Google’Программные пакеты S Linux автоматически настраивают настройки репозитория, необходимые для поддержания актуальных приложений Google Linux. Пожалуйста, загрузите и установите пакеты с соответствующих страниц продукта.
- Гугл Хром
- Гугл Земля
- Google Music Manager
- Google Voice и видеочат
- MOD_PAGESPEED для Apache
- Google Web Designer
Ключи подписания пакета Linux
Google’S Linux Packages подписаны с ключами конфиденциальности GNU (GPG). Google’S пакеты автоматически настроит ваш диспетчер пакетов для проверки обновлений продуктов с помощью общедоступного ключа подписи, но вы также можете установить его отдельно, если, например, вы хотите проверить целостность начальной загрузки пакета. Следуйте инструкциям ниже, чтобы вручную настроить диспетчер пакетов для использования ключей.
Ключевые детали
- Скачать: https: // dl.Google.com/linux/linux_signing_key.паб
- ID ключа: Google, Inc. Ключ подписи пакета Linux
Отпечаток пальца: 4CCA 1EAF 950C EE4A B839 76DC A040 830F 7FAC 5991 - Google, INC. (Орган подписания пакета Linux)
Отпечаток пальца: EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796
Установка ключа командной строки для APT
В системе на основе APT (Debian, Ubuntu и т. Д.), загрузите ключ, а затем используйте APT для его установки.
wget -q -o -https: // dl.Google.com/linux/linux_signing_key.паб | Sudo Apt-Key Add -
Последние версии apt-get автоматически попытаются проверить пакеты при загрузке. Если подходящий ключ не найден или если пакет поврежден, вы получите сообщение, подобное следующему:
ПРЕДУПРЕЖДЕНИЕ: Следующие пакеты не могут быть аутентифицированы!
имя пакета
Установка ключа командной строки для RPM
В системе на основе RPM (Fedora, SUSE, Mandriva, RHEL и т. Д.), загрузите ключ, а затем используйте RPM для его установки.
wget https: // dl.Google.com/linux/linux_signing_key.паб
sudo rpm -import linux_signing_key.паб
Вы можете проверить установку ключа, запустив:
Чтобы вручную проверить пакет RPM, вы можете запустить команду:
rpm -checksig -v packageName.rpm
Google работает на Linux?
Герой Изображение Кредит: Маркус Тейх
В Google мы запускаем крупные производственные флоты, которые обслуживают такие продукты Google, как YouTube и Gmail. Чтобы поддержать всех наших сотрудников, включая инженеров, мы также запускаем значительный корпоративный флот с сотнями тысяч устройств на нескольких платформах, моделях и локациях. Чтобы позволить каждому GOOGLER работать в среде, в которой они наиболее продуктивны, мы работаем по многим платформам ОС, включая систему Linux. В течение долгого времени наше внутреннее распределение Linux, Goobuntu, была основана на выпусках Ubuntu LTS. В 2018 году мы завершили переход на модель Rolling Release на основе Debian.
Обновить труд
Более 15 лет назад Ubuntu был выбран в качестве базы для внутреннего распределения Linux, так как он был удобным для пользователя, простых в использовании и имел много причудливых дополнений. Долгосрочные выпуски поддержки (LTS) были выбраны, так как оценивались в том, что каноническое обеспечило 2+ года обновлений безопасности.
Тем не менее, этот двухлетний цикл выпуска для выпусков LTS также означал, что нам пришлось обновить каждую машину в нашем парке более 100.000 устройств до даты окончания жизни ОС. Сложный характер рабочих нагрузок, работающий на корпоративных машинах. Показ производительности, когда все инженеры настраивали свое рабочее пространство с нуля каждые два года, не был финансово ответственным вариантом.
Для каждого цикла ОС у нас был довольно большой скачок версии в основных пакетах, которые могли бы потребовать значительных изменений в конфигурации программного обеспечения. Чтобы автоматизировать этот процесс, мы написали не присвоенный инструмент обновления на месте, который позаботился о многих общих проблемах. Этот подход, ориентированный на автоматизацию. Однако, чтобы сделать это возможным, нам нужно было провести комплексное тестирование процесса обновления и проверить, что все основные пакеты, которые изменились, продолжали работать (в Ubuntu это может составлять до нескольких тысяч пакетов для обновления между основными версиями). Иногда было трудно обеспечить автоматизацию в тех случаях, когда произошли деформации, и инженерам приходилось принимать решения о том, как двигаться вперед.
Эта попытка обновить наш флот Goobuntu обычно занимал большую часть года. С двухлетним окном поддержки осталось всего один год, пока нам не пришлось пройти один и тот же процесс снова и снова для следующего LTS. Весь этот процесс был огромным фактором стресса для нашей команды, так как мы получили сотни ошибок с запросами на помощь в угловых делах. Как только одно обновление было сделано, было общее чувство существо “близко к выгоранию” В команде, которую мы едва могли бы восстановиться до следующего раунда обновлений. Запуск версии LTS также означал, что некоторые ошибки, с которыми сталкиваются пользователи нашего дистрибуции’’никогда не был возвращен в версию LTS.
Был также длинный хвост специальных обновлений, который иногда мог затянуться в течение нескольких лет. Обработка этого процесса была огромной задачей управления изменениями, чтобы заставить инженеров обновить машины, которые не сделали’T работа в автоматическом процессе. Мы проявили творческий подход, мотивируя наших пользователей обновлять свои машины. Меры варьировались от нотных сообщений на их пользовательском интерфейсе, почте, запланированных перезагрузков и даже закрытия машин, чтобы повысить осведомленность о том, что все еще были некоторые машины, которые острая нуждаются в обновлении. Иногда это поймало машины, о которых люди полностью забыли, как одна машина под столом, на которой был критический трубопровод для чего -то важного, как оказалось.
Прокатные релизы
Когда мы разработали Glinux Rodete (тестирование Debian), мы нацелились на удаление двухлетнего цикла обновления и вместо этого распределить нагрузку на команду на протяжении времени. Общий переход к CI/CD в отрасли показал, что меньшие инкрементные изменения легче в контроле и отказе. Прокатные релизы с дистрибутивами Linux сегодня становятся все более распространенными (Arch Linux, Nixos).
Мы подумали о том, чтобы поехать с другими распределениями Linux, но в итоге выбрали Debian, потому что мы снова хотели предложить плавную миграцию на месте на месте. Это включало соображения в отношении доступности пакетов в Debian, крупного сообщества Debian, а также существующих внутренних пакетов и инструментов, которые использовали формат Debian. В то время как стабильный трек Debian следует примерно двухлетнему прыжке между выпусками, трек для тестирования Debian работает в качестве релиза.
Время от выпуска вверх по течению до доступности в тестировании часто составляет всего несколько дней (хотя в период замораживания до стабильного выпуска Debian он может иногда отставать на несколько месяцев). Это означает, что мы можем получить гораздо более детальные изменения в целом и предоставить нашим инженерам новейшее программное обеспечение в Google, не ожидая более длительных периодов.
Эта частота обновлений требовала, чтобы мы перепроектировали многие системы и процессы. Несмотря на то, что первоначально намеревались более частые выбросы, мы обнаружили, что для нас еженедельные выпуски были сладким местом между быстрого движения и обеспечением правильной квалификации, ограничивая нарушение продуктивностью разработчика.
Всякий раз, когда мы начинаем новый релиз, мы делаем снимок всех пакетов, которые в то время проводят от Debian. После некоторых приемных тестов новое кандидат от герметического выпуска затем осторожно развернут в специальный флот тестирования и канарейку шириной 1%. Canary проводится намеренно в течение пары дней, чтобы обнаружить любые проблемы с пакетами Debian или Google Internal Packages, прежде чем он перейдет во весь флот.
Представление сита
Чтобы управлять всеми этими сложными задачами из строительства всех пакетов вверх по течению из Source, мы создали систему рабочего процесса под названием Sieve. Всякий раз, когда мы видим какую -либо новую версию пакета Debian, мы начинаем новую сборку. Мы строим пакеты в группах пакетов, чтобы учитывать отдельные пакеты, которые необходимо обновить вместе. Как только вся группа была построена, мы запускаем виртуализированный набор тестов, чтобы убедиться, что ни один из наших основных компонентов и рабочих процессов разработчика не сломается. Каждая группа тестируется отдельно с помощью полной установки системы, загрузки и локального тестового набора. В то время как сборки для отдельных пакетов обычно завершаются в течение нескольких минут, эти тесты могут занять до часа, учитывая сложность группы пакетов.
Как только пакеты будут построены и все тесты прошли, мы объединяем все новые пакеты с нашим последним пулом пакетов. Когда мы сокращаем новый релиз, мы снимите этот бассейн с заблокированной версией пакета для этого релиза. Затем мы переходим к тщательному направлению этого выпуска в парк с использованием принципов SRE, таких как Incremental Canarying и мониторинг здоровья флота.
Но не все строительные успехи с первой попытки. Если пакет не может построить, мы обычно проверяем на наличие каких -либо известных ошибок с трекером Debian Bug и потенциально сообщить об этом, если он уже не будет известен. Иногда наши инженеры по выпуску должны стать креативными и применять местные обходные пути/патчи, чтобы получить пакет для построения в нашей экосистеме, а затем сбросьте эти обходные пути, когда Upstream выпустил исправление.
Например, одна из проблем, с которой мы сталкивались несколько раз, заключается в том, что в Upstream Debian пакеты обычно встроены в Debian Crestable. Через несколько дней эти уже построенные пакеты мигрируют в тестирование Debian. В некоторых случаях возможно, что зависимость от сборки застряла в нестабильной, и, таким образом, строительство в пределах тестирования не может (пока). Обычно мы стараемся сначала работать вверх по течению в этих случаях, поэтому мы уменьшаем сложность и бремя обслуживания, чтобы сохранить эти местные участки, а также возвращаем сообщество.
Если какой -либо из шагов выходит из строя, у Sieve есть набор инструментов трюков, чтобы повторно обработать сборки. Например, когда он запускает начальную сборку группы пакетов, система делает образованное предположение о том, какие зависимости должны быть созданы вместе. Но иногда информация о версии, представленная в исходных пакетах Debian, может быть неполной, и это предположение неверно. По этой причине Сейте периодически возвращает строительные группы, которые потерпели неудачу. Поскольку последний снимок наших пакетов является движущейся целью, может случиться так, что после того, как, казалось бы, независимая группа пакетов добавлена в снимок, ранее разбитая группа неожиданно строит и правильно проходит тесты. Все эти рабочие процессы в основном автоматические, и это подчеркивает важность мышления как SRE в этой области. Когда вы столкнулись с неудачей, обычно кажется легче просто исправить сбою сборки один раз, но если нам нужно применять один и тот же обходной путь снова и снова, поместив обходной путь в коде снизит общее бремя на наших инженеров.
Существуют также некоторые преимущества безопасности, чтобы построить все наши двоичные файлы из источника и иметь дополнительное происхождение исходного кода, которое проверяет происхождение бегающего бинарного. Например, во время инцидента с безопасностью мы можем быстро восстановить и уверены в том, что он работал с временным участком, так как мы строили все пакеты, эта земля в нашем распространении. Кроме того, мы также уменьшаем конверт траста, который мы должны поместить в восходящие Debian, и бинарные артефакты сборки, созданные их инфраструктурой. Вместо этого, как только исходный код будет проглатываться и бинарно встроенный.
Обновление до Родете
Последний выпуск Goobuntu был основан на Ubuntu 14.04 LTS (Codename Trusty). Разработка на Родете началась в 2015 году, и было быстро ясно, что мы не можем’T просто откажусь от поддержки Trusty и требуйте, чтобы все инженерное население установило новое новое распределение. Исходя из предыдущего опыта обновления на месте между версиями LTS, у нас уже был хороший опыт знания того, что нас ждет с этой миграцией. Поскольку Ubuntu является производной от Debian и использует много той же упаковочной инфраструктуры/форматов (APT), это было не’T совершенно безумная идея обновить флот с Goobuntu 14.04 Добайану на месте. Мы повторно использовали некоторые части нашего предыдущего инструмента обновления на месте и работали над тем, чтобы сделать его более надежным, добавив больше автоматизации и гораздо больше тестирования.
Чтобы упростить создание такого инструмента, протестировать его и поддерживать на протяжении всей миграции, мы решили временно заморозить Glinux Rodete в качестве снижения тестирования Debian в определенную дату, которую мы называем базовым. Мы можем продвинуть эту базовую линию по нашему собственному выбору, чтобы сбалансировать, какие пакеты сито. Чтобы уменьшить трение, мы намеренно устанавливаем базовую линию Родете в текущем стабильном выпуске Debian в 2016 году, который был намного ближе к общему состоянию Ubuntu Trusty. Таким образом, мы могли бы отделить обновление от Trusty до Debian и изменения версии с основными пакетами, которые произошли в Debian позднее.
В 2017 году мы начали мигрировать машины в Родете и завершили последние миграции к концу 2018 года. Однако у нас все еще была базовая линия пакетов, которые в этот момент датировались почти два года в прошлом. Чтобы догнать тестирование Debian, мы начали команду, чтобы сосредоточиться на оптимизации поведения сита и ускорить время, необходимое для создания / тестирования пакетов. Воспроизведение обновлений в этом постепенном моде и иметь движущуюся целевую цель с выпуска, которую мы контролируем, ослабила рабочую нагрузку для инженеров Google и нашей команды.
В начале 2019 года мы начали закрывать последние остатки машин Goobuntu. Наш базовый уровень также продвинулся только к отставлению только на ~ 250 дней, что в то время означало, что мы использовали большинство версий упаковки, которые были частью Buster. К середине 2020 года мы наконец полностью догнали в то же время, когда был выпущен Debian Bullseye. Мы продолжаем двигаться вперед на нашем базовом уровне и, вероятно, уже будем использовать аналогичную версию следующего выпуска Debian Stable, до его выхода в середине 2023 года.
Достигая дзен
Сегодня жизнь члена команды Glinux выглядит совсем по -другому. Мы сократили количество инженерного времени и энергии, необходимых для выпусков одного инженера-релиза, который вращается среди членов команды. У нас больше нет большого толчка, чтобы обновить весь наш парк. Больше не нужно в многоэтажных альфа -альфа, бета -версии и газа для новых выпусков LTS, одновременно преследуя старые машины, которые все еще работали с Ubuntu Precise или Lucid.
Мы также значительно улучшили нашу позицию безопасности, управляя нашем парком ближе к выпускам вверх по течению. В то время как Debian предоставляет хороший источник исправлений безопасности для стабильных и старых треков, мы поняли, что не каждая дыра безопасности, которая получает исправления, обязательно имеет консультацию Debian Security (DSA) или номер CVE. Наше расписание выпуска гарантировала, что мы быстро устанавливаем дыры безопасности на всем парке, не ставя под угрозу стабильность, в то время как ранее инженеры безопасности должны были тщательно просмотреть каждый DSA и убедиться, что исправление дошло до нашего парка.
Наши улучшенные тесты на тестирование и интеграционные тесты с ключевыми командами -партнерами, которые запускают критические системы разработчиков, также дали более стабильный опыт, используя распределение Linux, которое предоставляет последние версии ядра Linux. Наше сильное стремление к автоматизации всего в трубопроводе значительно уменьшило труд и стресс в команде. Теперь мы также можем сообщать об ошибках и несовместимости с другими библиотечными версиями, обеспечивая, чтобы инструменты Google работали лучше в экосистеме Linux.
Если вы заинтересованы в том, чтобы добиться успеха в вашей компании, то рассмотрите возможность сбалансировать потребности компании против повышения гибкости. Быть под контролем нашей собственной движущейся цели и базовой линии помогли замедляться всякий раз, когда мы сталкивались с слишком много проблем, и сломали любую из наших командных сланцев. Наше путешествие в конечном итоге укрепило нашу веру в то, что постепенные изменения лучше управляемы, чем выпуски Big Bang.
Если вы можете контролировать приток новой работы и сохранить это предсказуемое, мы сделали опыт, который наши инженеры остаются счастливее и менее напряжены. Это в конечном итоге снизило отток команды и убедился, что мы можем создать опыт вместо того, чтобы иметь дело с несколькими горящими пожарами одновременно.
В будущем мы планируем работать еще больше с Upstream Debian и внести больший вклад в наши внутренние патчи для поддержания экосистемы Debian Package Ecosystem.
- Разработчики и практики
- Система
- DevOps & SRE
История Google’S Внутренний рабочий стол Linux
Если вы посмотрите вокруг Google Mountain View, офисы CA, вы увидите машины Windows, Chromebook, Mac – и Glinux Desktops. G Что, спросите вы? Что ж, в дополнение к тому, чтобы полагаться на Linux для своих серверов, Google имеет свое собственное распределение настольных компьютеров Linux.
Ты не можешь получить это – черт возьми! – Но на протяжении более десяти лет Google выпекает и ел свой собственный домашний настольный распределение Linux. Первая версия была Goobuntu. (Как вы бы догадались, это было основано на Ubuntu.)
В 2018 году Google перенесла свой собственный рабочий стол Linux из Goobuntu на новый Linux Distro, Glinux на основе Debian. Почему? Потому что, как объяснил Google, двухлетний релиз Ubuntu в долгосрочной поддержке (LTS) означал, что нам пришлось обновить каждую машину в нашем парке из более чем 100 000 устройств до даты окончания жизни ОС.”
Это была боль. Добавить в трудоемкую необходимость в полной настройке инженерных ПК, и Google решил, что это стоит слишком дорого. Кроме того, «усилия по обновлению нашего флота Goobuntu обычно занимали большую часть года. С двухлетним окном поддержки остался только один год, пока нам не пришлось пройти один и тот же процесс снова и снова для следующего LTS. Весь этот процесс был огромным фактором стресса для нашей команды, так как мы получили сотни ошибок с запросами на помощь в угловых делах.”
Итак, когда Google было достаточно, он перешел в Debian Linux (хотя не только ванильный Debian). Компания создала Rolling Debian Distribution: Glinux Rolling Debian Testing (Rodete). Идея заключается в том, что пользователям и разработчикам лучше всего обслуживаться, предоставляя им последние обновления и исправления, поскольку они созданы и считаются готовыми к производству. Такие дистрибуции включают Arch Linux, Debian Testing и OpenSuse Tumbleweed.
Для Google непосредственной целью состояла в том, чтобы выйти из двухлетнего цикла обновления. Как показано переход к непрерывной интеграции/непрерывному развертыванию (CI/CD), эти постепенные изменения работают хорошо. Их также легче контролировать и откатить, если что -то пойдет не так.
Чтобы сделать всю эту работу без большого количества крови, пота и слез, Google создал новую систему рабочего процесса, сия. Всякий раз, когда Сив замечает новую версию пакета Debian, он начинает новую сборку. Эти пакеты встроены в группы пакетов, так как отдельные пакеты часто должны быть обновлены вместе. После того, как вся группа будет построена, Google запускает виртуализированный набор тестов, чтобы не было нарушено основных компонентов и рабочих процессов разработчиков. Далее, каждая группа тестируется отдельно с помощью полной установки системы, загрузки и локальной тестовой набора. Пакет строится в течение нескольких минут, но тестирование может занять до часа.
. Затем, когда Google решает, что пришло время выпустить его в производство, снимки команды, которые пул. Наконец, он раскатывает свежий выпуск на флот. Конечно, это’S не собирается просто сбросить его на пользователей. Вместо этого он использует принципы инженерной инженерии сайта (SRE), такие как инкрементальный Canarying, чтобы убедиться, что ничего не идет не так.
За эти годы Google стал лучше в этом. Сегодня, благодаря Sieve, вся команда разработчиков Glinux состоит из одной позиции инженера по выпуску, которая вращается среди членов команды. Нет больших толчков, чтобы обновить флот. Нет многоэтапных выпусков альфа, бета-версии и общей доступности (GA).
Еще лучше, благодаря расписанию выпуска, Google может быстро исправить отверстия для обеспечения безопасности на весь парк без устойчивости стабильности. Ранее инженеры безопасности должны были тщательно просмотреть каждый консультативный консультации по безопасности Debian (DSA), чтобы убедиться, что исправление было в.
Кроме того, Google «Улучшенный набор для тестирования и интеграционные тесты с ключевыми группами -партнерами, которые запускают критические системы разработчиков, также дали более стабильный опыт, используя распределение Linux, которое предоставляет последние версии ядра Linux. Наше сильное стремление к автоматизации всего в трубопроводе значительно уменьшило труд и стресс в команде. Теперь мы также можем сообщать об ошибках и несовместимости с другими библиотечными версиями, обеспечивая, чтобы инструменты Google работали лучше в экосистеме Linux.”
Заглядывая в будущее, команда Google заявила, что это’LL Работайте «более внимательно с Upstream Debian и внесите больше наших внутренних патчей для поддержания экосистемы Debian Package Ecosystem.”
Все звучит великолепно. Но у меня есть две мысли, чтобы поделиться.
Во -первых, для некоторых организаций релизы LTS по -прежнему имеют смысл. Если вам не нужны самые новые, самые блестящие программы для вашего бизнеса, Ubuntu или Red Hat Lts Linux все еще имеет смысл.
Во -вторых, и это важное: сито звучит как мяу кошки. Одна программа, которая может автоматизировать производственный трубопровод Distro Distro до точки, где требуется только один инженер для поддержания рабочего стола, используемого более 100 000 пользователей? Запишите меня!
Еще лучше, выпустите код Siete, чтобы мы все могли начать производить Rolling Linux Desktop выпуски. Как насчет этого, Google? Что ты говоришь?
- Настольный Linux
Copyright © 2022 Idg Communications, Inc.
Правда о Goobuntu: Google настольный настольный компьютер Ubuntu Linux
Сан -Диего, Калифорния: Большинство людей Linux знают, что Google использует Linux на своих настольных компьютерах, а также свои серверы. Некоторые знают, что Ubuntu Linux – это настольный компьютер Google и что он называется Goobuntu. Но почти никто за пределами Google не знал точно, что было в нем, или в каких ролях Ubuntu Linux играет в кампусе Google, до сих пор.
Сегодня, 29 августа, Томас Бушнелл, технологический лидер группы, которая управляет и распространяет Linux в корпоративные настольные настольные компьютеры Google? Ну да и нет.
Бушнелл объяснил это “Goobuntu – это просто легкая кожа над стандартной Ubuntu.” В частности, Google использует последнюю долгосрочную поддержку (LTS) Ubuntu. Это означает, что если вы загружаете копию последней версии Ubuntu, 12.04.1, для большинства практических целей вы будете бежать Goobuntu.
Google использует версии LTS, потому что два года между выпусками гораздо более работоспособны, чем каждый шестимесячный цикл обычных выпусков Ubuntu. Кроме того, Google также пытается обновлять и заменить свое оборудование каждые два года, так что это также хорошо синхронизируется.
Почему Ubuntu, вместо того, чтобы говорить Mac или Windows? Ну, ты тоже можешь запустить. Бушнелл сказал, “Googlers [сотрудники Google] предлагается использовать инструменты, которые работают для них.. Если Gmail не хочет работать для них, они могут использовать Pine [ранний клиент E-mail на основе персонажа Unix], это нормально. Люди не обязаны использовать Ubuntu.” Но использование Goobuntu поощряется и “Все наши инструменты разработки для Ubuntu.”
Гуглеры должны попросить использовать Windows, потому что “Windows сложнее, потому что у него есть «особые» проблемы с безопасностью, поэтому для этого требуется разрешение на высоком уровне, прежде чем кто-то сможет его использовать.” Кроме того, “Инструменты Windows, как правило, тяжелые и негибкие.”
Тем не менее, Бушнелл спросили, почему Ubuntu вместо, скажем, Fedora или OpenSuse? Он ответил, “Мы выбрали Debian, потому что пакеты и Apt [базовые программы программного обеспечения Debian] являются легкими годами, опережающими RPM (Red Hat и Suse’s System управления пакетами по умолчанию.]” И почему Ubuntu по сравнению с другими дистрибутивами Linux на основе Debian? “Поскольку его выпуск Cadence потрясающий, а каноническая [родительская компания Ubuntu] предлагает хорошую поддержку.”
Да все верно. Google не просто использует Ubuntu и вносит свой вклад в его разработку, Google является платным клиентом для программы поддержки Ubuntu Advantage от Canonical. Крис Кенион, который является вице -президентом Canonical по продажам и развитию бизнеса, и присутствовал на разговоре Бушнелла, подтвердил это и добавил, что “Google не является нашим крупнейшим клиентом бизнес -стола.”
Итак, как насчет самого рабочего стола? Всем необходим для использования Unity, популярного, но спорного рабочего стола Ubuntu? Неа.
Когда его спросили об использовании единства, Бушнелл сказал, “Единство? Ненавистники пусть ненавидят. Наши пользователи настольных компьютеров по всей карте, когда дело доходит до их интерфейсов. Некоторые используют Gnome, некоторые используют KDE, некоторые используют X-Window и X-Terms. Некоторые хотят единства, потому что это напоминает им о Mac. Мы видим, как любители Mac переезжают в Unity.” Нет интерфейса по умолчанию goobuntu.
Тем не менее, это «десятки тысяч пользователей goobuntu. Это включает в себя графические дизайнеры, инженеры, менеджмент и продавцы. Это очень разнообразное сообщество. Некоторые, такие как Кен Томпсон, помогли создать UNIX, а некоторые ничего не знают о компьютерах, кроме как использовать свое приложение.”
Чтобы управлять всеми этими рабочими столами Goobuntu, Google использует инструменты администрирования APT и Puppet Desktop. Это дает команде управления настольными компьютерами Google способность быстро контролировать и управлять своими ПК. Это важно, потому что, “Одна перезагрузка может стоить нам миллион долларов за экземпляр.”
Тем не менее, проблемы на рабочем столе, даже на Linux, произойдут. Как сказал Бушнелл “Надежда не стратегия. Большинство людей надеются, что все не пройдет. Надеюсь, что компьютеры не потерпят неудачу, что ты когда -нибудь умрешь. Ваш компьютер когда -нибудь сбой. Вы должны проектировать для неудачи.”
Вот где появляется «особый соус» Губунту. На рабочих стопах Google, “Активный мониторинг абсолютно критичен. В Google у нас есть сложные требования, мы всегда подталкиваем рабочие станции к их пределам, и мы работаем с быстро движущимися циклами разработки.”
Кроме того, Google имеет очень строгие требования к безопасности. Как отмечает Бушнелл, “Google – это цель, которую каждый хочет взломать нас.” Таким образом, некоторые программы, которые являются частью распределения Ubuntu, запрещены как потенциальные риски безопасности. К ним относятся любая программа “Это называет домой” на внешний сервер. Помимо этого Google использует собственную собственную собственную аутентификацию пользовательской сети, которая, как говорит Бушнелл, является “продвижение состояния искусства в аутентификации сети, потому что мы такая высокая цель безопасности.”
Соберите все это вместе: необходимость в самой высокой безопасности, высококлассной производительности ПК и гибкостью для удовлетворения потребностей настольных компьютеров как гениальных разработчиков, так и вновь нанятых торговых представителей, и неудивительно, что Google использует Ubuntu для своей настольной операционной системы выбора по выбору. Цитировать, Бушнелл, “Ты был бы дураком, чтобы использовать что -нибудь, кроме Linux.”
Связанные истории:
Зачем запускать Linux в Google Cloud?
Предприятия в облаке много для них: повышенная гибкость, адаптивность, гибкость и надежность, что значительно облегчает пребывание в кривой. Объединение локальной инфраструктуры с облачными услугами может вдохнуть новую жизнь в существующие процессы и увеличить количество инструментов и технологий в вашем распоряжении.
Звучит великолепно, правильно? Это – но во -первых, вам нужно рассмотреть свой выбор облачного провайдера и операционной системы. Какие из них обеспечат лучшую основу для создания вашей гибридной облачной среды, в то же время позволяя вам гибко принять нужные услуги и технологии, которые вы хотите?
Linux и Google Cloud Platform – это сильная комбинация для перемещения вашего предприятия в облако и в будущее. Позволять’S взгляните на каждого, прежде чем узнать, что выделяет их как команда.
Как Linux и Google Cloud Platform работают вместе
Google Cloud Platform
Google Cloud Platform, как Amazon’S AWS и Microsoft Azure, является общедоступной облачной платформой и является частью Google Cloud, которая построена в Google’S Глобальная инфраструктура. Google Cloud предоставляет облачные сервисы и инструменты управления – via The Google Cloud Console – которая обеспечивает все необходимое для создания эффективных облачных и мультиколодных сред, развертывания приложений и API, а также поддерживают рабочие нагрузки в разных средах.
Google Cloud Platform имеет ориентированные на безопасность инструменты и возможности, позволяющие вашему предприятию воспользоваться всеми преимуществами облачных вычислений с четкой стратегией (Google Cloud MultiCloud Solutions), принимает решения на основе точной и современной компании и инвентаризации (аналитика данных), а также преобразовать, как команды общаются и работают вместе (Google Workspace) (Analytics), а также преобразуют команды и работают вместе (Google Workspace) (Google).
Google Cloud включает Google Cloud Platform, а также набор продуктов и инструментов, таких как Google Cloud Storage (объект Storage), Google Cloud Datastore (база данных NOSQL), функции Google Cloud (управляемая событиями платформ как услуги), Google Compute Engine или GCE (виртуальные машины, работающие в Google’.
Linux foR облачные вычисления
Linux – операционная система с открытым исходным кодом. Из-за своей модели разработки с открытым исходным кодом Linux идеально подходит для облачных вычислений в том смысле, что он позволяет предприятиям выбирать платформы и технологии, которые наилучшим образом соответствуют их потребностям и целям, а также позволяют выбирать необходимые услуги и поставщиков, тем самым избегая ненужных расходов и блокировки поставщиков. С Linux для облачных вычислений вы получаете все преимущества Linux для традиционных развертываний ИТ -. По этим причинам Linux остается ведущим выбором операционной системы в облачных вычислениях.
Лучше вместе: преимущества запуска Linux на Google Cloud Platform
Google Cloud Platform построена на Linux и работает с несколькими распределениями Linux, такими как Centos, Ubuntu и Red Hat Enterprise Linux. Открытый характер системы Linux с Google Cloud Platform означает, что пользователи получают следующие преимущества:
- Гибкость поставщиков и услуг
- Более легкая миграция приложений и информации
- Последовательность информации и процессов по следом
- Инновации структуры и сообщества с открытым исходным кодом
По сути, сильный облачный поставщик на установленном фонде Linux означает, что ваша стратегия предприятия облачно направляется в правильном направлении.
Преимущества Red Hat Enterprise Linux на Google Cloud Platform
Принятие гибридного или многочастотного подхода может быть сложным, особенно когда вы’RE используется для устаревшего оборудования и традиционной инфраструктуры. Но правильный поставщик облачных услуг и дистрибуция Linux обеспечивают надежный старт. С помощью Red Hat® Enterprise Linux® на Google Cloud Platform у вас есть основа для облачной стратегии, которая займет вас туда, где вы хотите пойти. И потому что Red Hat Enterprise Linux работает в Google, так же как и остальная часть Red Hat’S Продукты.
Red Hat Enterprise Linux и Google Cloud Platform помогают упростить вашу инфраструктурную платформу, ускорить разработку и доставку приложений, а также включать автоматизацию для вашего бизнеса и процессов управления, чтобы вы могли внедрять инновации и адаптироваться к отраслевым, регулирующим и глобальным изменениям с помощью гибкой гибридной облачной среды.
И здесь’S Что-то еще-Red Hat Enterprise Linux для SAP Solutions на Google Cloud-это высокопроизводительная платформа для операций с базами данных, которая включает в себя контент и функции, специфичные для SAP, и позволяет организациям развертывать SAP в гибридных облачных средах. Red Hat Enterprise Linux является одним из двух дистрибутива Linux, сертифицированные для использования с SAP HANA® и SAP S/4HANA®.
Благодаря гибкой конфигурации, с открытым исходным кодом и основанием для безопасности, глобальной сетевой инфраструктурой, а также передовым управлением и аналитикой данных Red Hat и Google Cloud предоставляют вам функции и возможности, необходимые для эффективного и эффективного создания и управления гибридными и многоклубленными средами. Каждый компонент обеспечивает ключевую функциональность и ценность, а также надежную, высокопроизводительную рабочую среду для ваших рабочих нагрузок и приложений по физической, виртуализированной, контейнерной, облачной и краевой инфраструктуре.