Apakah Google berjalan di Linux
Ringkasan
Dalam artikel ini, kami mengeksplorasi mengapa menjalankan Linux di Google Cloud Platform adalah kombinasi yang kuat. Kami juga mempelajari alasan di balik keputusan Google untuk menggunakan Linux secara internal dan tantangan yang mereka hadapi dengan peningkatan tradisional. Kami kemudian membahas bagaimana Google menerapkan rilis rolling dengan Glinux Rodete, berdasarkan Debian, dan manfaat yang dibawanya ke operasi mereka.
Poin -Poin Kunci:
- Google menjalankan armada produksi besar, termasuk YouTube dan Gmail, menggunakan berbagai platform OS, termasuk Linux.
- Untuk waktu yang lama, distribusi Linux internal Google, Goobuntu, didasarkan pada rilis Ubuntu LTS.
- Siklus peningkatan dua tahun untuk rilis LTS menimbulkan tantangan untuk armada Google lebih dari 100.000 perangkat.
- Untuk mengotomatiskan proses peningkatan, Google mengembangkan alat peningkatan di tempat yang tidak dijaga yang meminimalkan konfigurasi manual.
- Proses peningkatan biasanya memakan waktu hampir satu tahun, yang mengarah ke tingkat stres tinggi dan kelelahan di tim.
- Menggunakan versi LTS berarti bahwa beberapa perbaikan bug dan perbaikan mungkin tidak telah di -backported.
- Tantangan Peningkatan Khusus dan Perubahan Manajemen ditambahkan ke kompleksitas dan durasi proses peningkatan.
- Untuk mengatasi masalah ini, Google beralih ke rilis bergulir dengan Glinux Rodete, berdasarkan pengujian Debian.
- Alih-alih siklus dua tahun, rilis bergulir menyebar beban kerja dan memungkinkan untuk perubahan bertahap yang lebih kecil.
- Ketersediaan paket di Debian, komunitas Debian, dan paket internal yang ada memengaruhi pilihan Debian sebagai distribusi dasar.
Pertanyaan:
- Platform apa yang dijalankan Google?
- Mengapa Google Memilih Ubuntu sebagai basis untuk distribusi Linux internal mereka?
- Tantangan apa yang dihadapi Google dengan siklus peningkatan dua tahun rilis LTS?
- Bagaimana Google mengotomatiskan proses peningkatan?
- Mengapa kehabisan versi LTS membuat stres untuk tim Google?
- Apa motivasi di balik pergeseran Google ke rilis bergulir?
- Mengapa Google Memilih Debian untuk distribusi rilis bergulir mereka?
- Keuntungan apa yang disediakan oleh trek pengujian Debian?
- Seberapa sering Google merilis pembaruan dengan distribusi rilis bergulir mereka?
- Pendekatan apa yang dilakukan Google untuk memastikan rilis lancar dalam proses rilis bergulir?
Google menjalankan armada produksi besar di platform seperti YouTube dan Gmail. Mereka juga memiliki armada perusahaan dengan ratusan ribu perangkat di berbagai platform, model, dan lokasi.
Google memilih Ubuntu untuk distribusi Linux internal karena ramah pengguna, mudah digunakan, dan menawarkan dukungan jangka panjang (LTS) dengan 2+ tahun pembaruan keamanan.
Sifat kompleks beban kerja dalam armada Google membuat pemasangan kembali dan kustomisasi mesin untuk setiap peningkatan operasi yang sulit dan memakan waktu. Ini tidak berkelanjutan secara finansial, dan para insinyur harus mengkonfigurasi ruang kerja mereka dari awal setiap dua tahun, yang mengarah pada penurunan produktivitas.
Google mengembangkan alat peningkatan di tempat yang tidak dijaga yang mengotomatiskan masalah kasus umum selama proses peningkatan. Alat ini menyimpan insinyur dari meningkatkan mesin mereka secara manual dengan menginstal ulang mereka dan menciptakan kembali semua konfigurasi.
Meningkatkan armada Goobuntu membutuhkan waktu hampir satu tahun, hanya menyisakan jendela singkat sampai upgrade berikutnya. Siklus peningkatan yang konstan ini menciptakan lingkungan stres tinggi bagi tim, yang mengarah ke rasa kelelahan. Bug dan permintaan bantuan juga ditambahkan ke beban kerja.
Daripada mengikuti siklus upgrade dua tahun, Google ingin menyebarkan beban kerja dan memungkinkan untuk perubahan bertahap yang lebih kecil. Pelepasan Rolling dengan Distribusi Linux telah menunjukkan bahwa perubahan yang lebih kecil lebih mudah dikendalikan dan rollback.
Google memilih Debian untuk distribusi rilisnya yang bergulir, Glinux Rodete, karena menawarkan migrasi di tempat yang mulus dan memiliki komunitas Debian yang besar. Paket internal dan perkakas yang ada juga menggunakan format Debian.
Lagu pengujian Debian berfungsi sebagai rilis bergulir, menyediakan kumpulan semua paket yang dicerna dan dibangun dari hulu. Ini memungkinkan Google untuk mendapatkan lebih banyak perubahan granular dan memberikan perangkat lunak terbaru kepada insinyur mereka tanpa periode tunggu yang lebih lama.
Google awalnya dimaksudkan untuk rilis yang lebih sering tetapi menemukan bahwa rilis mingguan mencapai keseimbangan antara bergerak dengan cepat dan memungkinkan untuk kualifikasi rilis yang tepat. Ini membantu membatasi gangguan pada produktivitas pengembang.
Google mengambil snapshot dari semua paket yang dicerna dari Debian saat memulai rilis baru. Setelah tes penerimaan, kandidat rilis hermetis dengan hati -hati diluncurkan ke sekelompok pengguna yang dipilih untuk pengujian lebih lanjut.
Jawaban:
- Google menjalankan armada produksi besar yang melayani produk seperti YouTube dan Gmail. Mereka juga memiliki armada perusahaan dengan ratusan ribu perangkat yang beroperasi di berbagai platform, model, dan lokasi. Untuk mendukung karyawan mereka, termasuk insinyur, Google beroperasi dengan beberapa platform OS, termasuk Linux. Pada tahun 2018, Google menyelesaikan transisinya ke model rilis bergulir berdasarkan Debian.
- Google memilih Ubuntu sebagai basis untuk distribusi Linux internal mereka karena ramah pengguna, mudah digunakan, dan menawarkan rilis Dukungan Jangka Panjang (LTS) dengan 2+ tahun pembaruan keamanan. Rilis LTS ini memberikan stabilitas dan pembaruan keamanan reguler untuk armada perangkat Google.
- Siklus peningkatan dua tahun rilis LTS menimbulkan tantangan untuk Google. Dengan lebih dari 100.000 perangkat dalam armada mereka, secara manual meningkatkan dan menyesuaikan setiap mesin sebelum tanggal akhir kehidupan OS memakan waktu dan tidak layak secara finansial. Sifat kompleks beban kerja pada mesin perusahaan semakin memperumit proses peningkatan.
- Untuk mengotomatiskan proses peningkatan dan meminimalkan konfigurasi manual, Google mengembangkan alat peningkatan di tempat yang tidak dijaga. Alat ini berfokus pada mengotomatisasi masalah kasus umum selama peningkatan dan insinyur yang disimpan dari harus menginstal ulang mesin dan membuat ulang semua konfigurasi secara manual.
- Menjalankan versi LTS sangat membuat stres bagi tim Google karena waktu dan upaya yang luas yang diperlukan untuk proses peningkatan. Dengan jangka waktu satu tahun antara peningkatan, tim mengalami siklus peningkatan dan perbaikan bug yang konstan. Lingkungan stres tinggi ini sering menyebabkan rasa kelelahan di antara anggota tim.
- Motivasi di balik pergeseran Google ke rilis bergulir adalah menyebarkan beban kerja dan memungkinkan perubahan bertahap yang lebih kecil. Pendekatan ini selaras dengan tren industri CI/CD dan telah menunjukkan bahwa perubahan yang lebih kecil lebih mudah dikendalikan dan dikembalikan dibandingkan dengan peningkatan besar dan jarang.
- Google memilih Debian sebagai basis untuk distribusi rilis bergulir mereka, Glinux Rodete. Keputusan itu dipengaruhi oleh berbagai faktor, termasuk ketersediaan paket di Debian, komunitas Debian yang besar, dan kompatibilitas paket internal yang ada dan perkakas menggunakan format Debian.
- Lagu pengujian Debian memberikan beberapa keuntungan bagi distribusi rilis bergulir Google. Lagu pengujian berfungsi sebagai rilis bergulir, terus menelan dan membangun paket dari hulu. Ini memungkinkan Google untuk memiliki perubahan yang lebih sering dan granular, memberikan akses kepada insinyur mereka ke perangkat lunak terbaru tanpa masa tunggu yang berkepanjangan.
- Google awalnya dimaksudkan untuk rilis yang lebih sering dengan distribusi rilis bergulir mereka, tetapi kemudian diselesaikan pada rilis mingguan. Rilis mingguan mencapai keseimbangan antara bergerak dengan cepat dan memungkinkan untuk kualifikasi rilis yang tepat, meminimalkan gangguan pada produktivitas pengembang.
- Untuk memastikan rilis lancar dalam proses rilis bergulir, Google mengambil snapshot dari semua paket yang dicerna dari Debian pada awal rilis baru. Setelah tes penerimaan, kandidat rilis hermetis dengan hati -hati diluncurkan ke kelompok pengguna yang dipilih untuk pengujian lebih lanjut, memastikan rilis bertahap dan terkontrol.
Mengapa menjalankan Linux di Google Cloud
Linux dan Google Cloud Platform adalah kombinasi yang kuat untuk memindahkan perusahaan Anda ke cloud dan ke masa depan. Membiarkan’Lihatlah masing -masing sebelum mempelajari apa yang membuat mereka menonjol sebagai sebuah tim.
Apakah Google berjalan di Linux
Kredit Gambar Pahlawan: Markus Teich
Di Google kami menjalankan armada produksi besar yang melayani produk Google seperti YouTube dan Gmail. Untuk mendukung semua karyawan kami, termasuk insinyur, kami juga menjalankan armada perusahaan yang cukup besar dengan ratusan ribu perangkat di berbagai platform, model, dan lokasi. Untuk membiarkan setiap googler bekerja di lingkungan tempat mereka paling produktif, kami mengoperasikan banyak os-platform termasuk sistem Linux. Untuk waktu yang lama, distribusi Linux yang menghadap internal kami, Goobuntu, didasarkan pada rilis Ubuntu LTS. Pada tahun 2018 kami menyelesaikan pindah ke model rilis bergulir berdasarkan Debian.
Tingkatkan kerja keras
Lebih dari 15 tahun yang lalu, Ubuntu dipilih sebagai dasar untuk distribusi Linux internal, karena ramah pengguna, mudah digunakan, dan memiliki banyak tambahan mewah. Rilis Dukungan Jangka Panjang (LTS) dipilih karena dihargai bahwa Canonical menyediakan 2+ tahun pembaruan keamanan.
Namun, siklus rilis dua tahun ini untuk rilis LTS juga berarti bahwa kami harus meningkatkan setiap mesin di armada kami lebih dari 100.000 perangkat sebelum tanggal akhir kehidupan OS. Sifat kompleks dari beban kerja yang dijalankan pada mesin perusahaan berarti bahwa pemasangan kembali dan penyesuaian sepenuhnya dapat menjadi operasi yang sulit dan memakan waktu. Hit produktivitas memiliki semua insinyur mengonfigurasi ruang kerja mereka dari awal setiap dua tahun bukanlah pilihan yang bertanggung jawab secara finansial.
Untuk setiap siklus OS, kami memiliki lompatan versi yang agak besar dalam paket utama yang dapat memerlukan perubahan signifikan pada konfigurasi perangkat lunak. Untuk mengotomatiskan proses ini, kami menulis alat peningkatan di tempat yang tidak dijaga yang menangani banyak masalah kasus umum. Pendekatan fokus otomatisasi ini berarti bahwa sebagian besar karyawan Google tidak harus meningkatkan mesin mereka secara manual dengan menginstal ulang mereka dan menciptakan kembali semua konfigurasi mereka. Namun, untuk memungkinkan hal ini, kami perlu melakukan pengujian komprehensif dari proses peningkatan dan memeriksa bahwa semua paket utama yang telah berubah terus bekerja (di Ubuntu ini bisa mencapai beberapa ribu paket untuk meningkatkan antara versi utama). Terkadang sulit untuk memberikan otomatisasi dalam kasus -kasus di mana penyusutan terjadi dan para insinyur harus membuat keputusan tentang bagaimana bergerak maju.
Upaya untuk meningkatkan armada Goobuntu kami biasanya mengambil bagian yang lebih baik dari setahun. Dengan jendela dukungan dua tahun, hanya ada satu tahun tersisa sampai kami harus melalui proses yang sama lagi untuk LTS berikutnya. Seluruh proses ini merupakan faktor stres yang sangat besar bagi tim kami, karena kami mendapat ratusan bug dengan permintaan bantuan untuk kasus sudut. Setelah satu peningkatan dilakukan, ada perasaan umum “dekat dengan kelelahan” dalam tim yang hampir tidak bisa kita pulihkan dari putaran pembaruan berikutnya. Menjalankan versi LTS juga berarti bahwa beberapa bug yang ditemui oleh pengguna distribusi kami mungkin’sudah sudah diperbaiki hulu, tetapi perbaikan itu mungkin’ve tidak pernah kembali ke versi LTS.
Ada juga ekor panjang peningkatan kasus khusus yang kadang-kadang bisa berlarut-larut selama beberapa tahun. Menangani proses ini adalah tantangan manajemen perubahan yang sangat besar untuk membuat insinyur meningkatkan mesin yang tidak’t bekerja dalam proses otomatis. Kami menjadi kreatif saat memotivasi pengguna kami untuk meningkatkan mesin mereka. Langkah -langkah berkisar dari pesan yang mengganggu pada UI mereka, surat, reboot yang dijadwalkan dan bahkan mematikan mesin, untuk meningkatkan kesadaran bahwa masih ada beberapa mesin yang membutuhkan peningkatan peningkatan. Terkadang mesin yang tertangkap ini yang benar -benar dilupakan orang, seperti satu mesin di bawah meja yang menjalankan pipa kritis untuk sesuatu yang penting, ternyata.
Rilis bergulir
Ketika kami merancang Glinux Rodete (Rolling Debian Testing), kami bertujuan untuk menghapus siklus peningkatan dua tahun dan sebaliknya menyebarkan beban pada tim sepanjang waktu. Langkah umum ke CI/CD dalam industri ini telah menunjukkan bahwa perubahan bertahap yang lebih kecil lebih mudah dikendalikan dan dikembalikan. Pelepasan Rolling dengan Distribusi Linux saat ini semakin umum (Arch Linux, Nixos).
Kami mempertimbangkan untuk menggunakan distribusi Linux lainnya, tetapi akhirnya memilih Debian karena kami sekali lagi ingin menawarkan migrasi di tempat yang lancar. Ini termasuk pertimbangan terhadap ketersediaan paket di Debian, komunitas besar Debian, dan juga paket internal yang ada dan perkakas yang menggunakan format Debian. Sementara Debian Stable Track mengikuti lompatan sekitar dua tahun di antara rilis, trek pengujian Debian berfungsi sebagai rilis bergulir, karena ini adalah kumpulan semua paket yang dicerna dan dibangun dari hulu, menunggu rilis stabil berikutnya terjadi berikutnya.
Waktu dari rilis hulu hingga ketersediaan dalam pengujian seringkali hanya beberapa hari (meskipun selama periode pembekuan sebelum rilis stabil Debian, kadang -kadang dapat tertinggal beberapa bulan di belakang). Ini berarti kita bisa mendapatkan lebih banyak perubahan granular secara umum dan memberikan perangkat lunak terbaru kepada para insinyur kita di Google tanpa harus menunggu periode yang lebih lama.
Frekuensi pembaruan ini mengharuskan kami untuk mendesain ulang banyak sistem dan proses. Meskipun awalnya berniat lebih sering rilis, kami menemukan bahwa bagi kami, rilis mingguan adalah titik sweet antara bergerak dengan cepat dan memungkinkan untuk kualifikasi rilis yang tepat, membatasi gangguan pada produktivitas pengembang.
Setiap kali kami memulai rilis baru, kami mengambil snapshot dari semua paket yang dicerna dari Debian pada waktu itu. Setelah beberapa tes penerimaan, kandidat rilis hermetis baru kemudian dengan hati -hati diluncurkan ke armada pengujian khusus dan armada seluas 1% Canary. Canary diadakan dengan sengaja selama beberapa hari untuk mendeteksi masalah dengan paket Debian atau paket internal Google sebelum berkembang ke seluruh armada.
Memperkenalkan ayakan
Untuk mengelola semua tugas rumit ini dari membangun semua paket hulu dari sumber, kami telah membangun sistem alur kerja yang disebut Sayang. Setiap kali kami melihat versi baru dari paket Debian, kami memulai bangunan baru. Kami membangun paket dalam grup paket, untuk memperhitungkan paket terpisah yang perlu ditingkatkan bersama. Setelah seluruh kelompok telah dibangun, kami menjalankan suite tes tervirtualisasi untuk memastikan tidak ada komponen inti dan alur kerja pengembang kami yang rusak. Setiap grup diuji secara terpisah dengan instalasi sistem lengkap, boot dan rangkaian tes lokal yang dijalankan pada versi sistem operasi itu. Sedangkan builds untuk paket individual biasanya selesai dalam beberapa menit, tes ini dapat memakan waktu hingga satu jam mengingat kompleksitas grup paket.
Setelah paket dibangun dan semua tes lulus, kami menggabungkan semua paket baru dengan kumpulan paket terbaru kami. Saat kami memotong rilis baru, kami memotret kumpulan itu dengan setiap versi paket terkunci untuk rilis itu. Kami kemudian melanjutkan untuk memandu rilis ini dengan cermat ke armada yang menggunakan prinsip -prinsip SRE seperti canarying tambahan dan memantau kesehatan armada.
Tetapi tidak semua bangunan berhasil pada upaya pertama. Jika sebuah paket gagal membangun, kami biasanya memeriksa bug yang diketahui dengan pelacak bug debian dan berpotensi melaporkannya, jika belum diketahui. Terkadang insinyur rilis kami harus menjadi kreatif dan menerapkan solusi/tambalan lokal untuk mendapatkan paket untuk dibangun di dalam ekosistem kami dan kemudian menjatuhkan solusi tersebut setelah hulu telah merilis perbaikan.
Salah satu masalah yang telah kita temui beberapa kali, misalnya, adalah bahwa di Debian hulu, paket biasanya dibangun di Debian tidak stabil. Setelah beberapa hari, paket yang sudah dibangun ini bermigrasi ke pengujian Debian. Namun, dalam beberapa kasus mungkin, bahwa ketergantungan bangunan macet dalam hal yang tidak stabil dan dengan demikian membangun dalam pengujian mungkin (belum) layak. Kami umumnya mencoba bekerja di hulu terlebih dahulu dalam kasus ini sehingga kami mengurangi kompleksitas dan beban pemeliharaan untuk menjaga tambalan lokal ini, sementara juga memberikan kembali kepada masyarakat.
Jika salah satu langkah gagal, ayakan memiliki kotak alat trik untuk mencoba lagi. Misalnya, ketika memulai pembangunan awal sekelompok paket, sistem membuat tebakan yang berpendidikan tentang dependensi yang perlu dibangun bersama. Tetapi terkadang informasi versi yang disediakan dalam paket sumber Debian bisa tidak lengkap dan tebakan ini salah. Untuk alasan ini, saringan secara berkala menggali ulang kelompok bangunan yang gagal. Karena snapshot terbaru dari paket kami adalah target yang bergerak, dapat terjadi bahwa setelah grup paket yang tampaknya independen ditambahkan ke snapshot, grup yang sebelumnya rusak secara tak terduga membangun dan lulus tes dengan benar. Semua alur kerja ini sebagian besar otomatis dan ini menyoroti pentingnya berpikir sebagai SRE di bidang ini. Saat menghadapi kegagalan, biasanya tampaknya lebih mudah untuk memperbaiki bangunan yang gagal sekali, tetapi jika kita perlu menerapkan solusi yang sama berulang -ulang, menempatkan solusi dalam kode akan mengurangi beban keseluruhan yang ditempatkan pada insinyur kita.
Ada juga beberapa manfaat keamanan untuk membangun semua binari kami dari sumber dan memiliki sumber kode sumber tambahan yang memverifikasi asal dari biner yang sedang berjalan. Selama insiden keamanan misalnya, kami dapat membangun kembali dengan cepat dan memiliki kepercayaan pada pembangunan yang bekerja dengan tambalan sementara, karena kami telah membangun semua paket sebelumnya, tanah itu dalam distribusi kami. Selain itu, kami juga mengurangi amplop kepercayaan yang harus kami tempatkan ke dalam debian hulu dan artefak builder yang diproduksi oleh infrastruktur mereka. Sebaliknya setelah kode sumber dicerna dan biner dibangun secara diverifikasi, kita dapat secara kriptografis membuktikan bahwa biner yang berjalan berasal dari kode sumber yang tepat.
Meningkatkan ke Rodete
Rilis goobuntu terakhir didasarkan pada Ubuntu 14.04 LTS (Codename Trusty). Pengembangan pada Rodete dimulai pada 2015 dan dengan cepat jelas bahwa kami tidak bisa’T Just LO. Dari pengalaman sebelumnya memperbarui di tempat antara versi LTS, kami sudah memiliki pengalaman yang baik untuk mengetahui apa yang menunggu kami dengan migrasi ini. Karena Ubuntu adalah turunan dari Debian dan menggunakan banyak infrastruktur/format kemasan yang sama (apt), itu bukan’t ide yang benar -benar gila untuk meningkatkan armada dari goobuntu 14.04 ke Debian di tempat. Kami menggunakan kembali beberapa bagian dari alat peningkatan di tempat kami sebelumnya, dan bekerja untuk membuatnya lebih dapat diandalkan, dengan menambahkan lebih banyak otomatisasi dan lebih banyak pengujian.
Untuk membuatnya lebih mudah untuk membuat alat seperti itu, mengujinya dan mempertahankannya selama migrasi, kami memilih untuk sementara membekukan Glinux Rodete sebagai snapshot dari pengujian Debian pada tanggal tertentu yang kami sebut baseline. Kita dapat memajukan garis dasar ini dengan memilih kita sendiri, untuk menyeimbangkan paket apa yang diinspirasi. Untuk mengurangi gesekan, kami dengan sengaja menetapkan garis dasar Rodete pada rilis stabil Debian saat ini pada tahun 2016 yang jauh lebih dekat dengan keadaan umum Ubuntu Trusty. Dengan begitu kami dapat memisahkan peningkatan di tempat dari tepercaya ke debian dan versi paket utama perubahan yang terjadi di Debian di kemudian hari.
Pada 2017, kami mulai memigrasikan mesin ke Rodete dan menyelesaikan migrasi terakhir di akhir 2018. Namun kami masih memiliki dasar paket yang pada saat itu bertanggal hampir dua tahun di masa lalu. Untuk mengejar ketinggalan dengan pengujian Debian, kami memulai upaya tim yang luas untuk fokus mengoptimalkan perilaku saringan dan mempercepat waktu yang dibutuhkan untuk membangun / menguji paket. Memutar ulang peningkatan dengan cara bertahap ini dan memiliki target rilis bergulir yang kami kontrol memudahkan beban kerja untuk Google Engineers dan tim kami.
Pada awal 2019 kami mulai mematikan sisa -sisa mesin goobuntu terakhir. Baseline kami juga telah maju hanya tertinggal ~ 250 hari yang pada saat itu berarti kami menggunakan sebagian besar versi paket yang merupakan bagian dari Buster. Pada pertengahan 2020 kami akhirnya benar-benar menyusul pada saat yang sama ketika Debian Bullseye dirilis. Kami terus bergerak maju baseline kami dan mungkin sudah menggunakan versi serupa dari rilis stabil Debian berikutnya, sebelum rilisnya pada pertengahan 2023.
Mencapai Zen
Hari ini, kehidupan anggota tim Glinux terlihat sangat berbeda. Kami telah mengurangi jumlah waktu rekayasa dan energi yang diperlukan untuk rilis menjadi satu insinyur rilis yang bertugas yang berputar di antara anggota tim. Kami tidak lagi memiliki dorongan besar untuk meningkatkan seluruh armada kami. Tidak ada lagi kebutuhan untuk alpha multi -panggung, beta dan gas untuk rilis LTS baru sambil secara bersamaan mengejar mesin yang lebih tua yang masih menjalankan ubuntu dengan tepat atau jernih.
Kami juga secara dramatis meningkatkan sikap keamanan kami dengan mengoperasikan armada kami lebih dekat ke rilis hulu. Sementara Debian menyediakan sumber tambalan keamanan yang baik untuk trek yang stabil dan lama, kami menyadari bahwa tidak setiap lubang keamanan yang mendapat tambalan, tentu memiliki Penasihat Keamanan Debian (DSA) atau Nomor CVE. Jadwal rilis bergulir kami memastikan kami menambal lubang keamanan pada seluruh armada dengan cepat tanpa mengurangi stabilitas, sementara yang sebelumnya insinyur keamanan harus dengan cermat meninjau setiap DSA dan memastikan perbaikan telah berhasil mencapai armada kami.
Tes pengujian dan integrasi pengujian kami yang ditingkatkan dengan tim mitra utama yang menjalankan sistem pengembang kritis juga menghasilkan pengalaman yang lebih stabil menggunakan distribusi Linux yang menyediakan versi terbaru dari kernel Linux. Kerinduan kami yang kuat untuk mengotomatisasi semua yang ada di dalam pipa telah secara signifikan mengurangi kerja keras dan stres dalam tim. Sekarang juga dimungkinkan bagi kami untuk melaporkan bug dan ketidakcocokan dengan versi perpustakaan lainnya sambil memastikan bahwa Google Tools bekerja lebih baik di dalam ekosistem Linux.
Jika Anda tertarik untuk membuat rilis bergulir di perusahaan Anda sukses, maka pertimbangkan untuk menyeimbangkan kebutuhan perusahaan dengan meningkatkan kelincahan. Mengontrol target bergerak kami sendiri dan baseline telah membantu memperlambat setiap kali kami mengalami terlalu banyak masalah dan memecahkan salah satu tim kami SLOS. Perjalanan kami pada akhirnya telah memperkuat keyakinan kami bahwa perubahan bertahap lebih baik dikelola daripada rilis Big Bang.
Jika Anda dapat mengontrol masuknya pekerjaan baru dan tetap dapat diprediksi, kami telah membuat pengalaman bahwa insinyur kami tetap lebih bahagia dan kurang stres. Ini pada akhirnya menurunkan churn tim dan memastikan bahwa kami dapat membangun keahlian alih -alih berurusan dengan beberapa kebakaran yang membakar secara bersamaan.
Di masa depan, kami berencana untuk bekerja lebih dekat dengan Debian hulu dan berkontribusi lebih banyak dari tambalan internal kami untuk mempertahankan ekosistem paket Debian.
- Pengembang & Praktisi
- Sistem
- DevOps & Sre
Mengapa menjalankan Linux di Google Cloud?
Perusahaan di cloud memiliki banyak hal untuk mereka: peningkatan kelincahan, kemampuan beradaptasi, fleksibilitas, dan keandalan – yang membuat tetap di depan kurva jauh lebih mudah. Menggabungkan infrastruktur di tempat dengan layanan cloud dapat menghembuskan kehidupan baru ke dalam proses yang ada dan meningkatkan jumlah alat dan teknologi yang Anda inginkan.
Kedengarannya bagus, benar? Ini – tetapi pertama, Anda perlu mempertimbangkan pilihan penyedia cloud dan sistem operasi Anda. Mana yang akan memberikan fondasi terbaik untuk membangun lingkungan cloud hybrid Anda, sambil tetap memberi Anda fleksibilitas untuk mengadopsi layanan dan teknologi yang Anda inginkan?
Linux dan Google Cloud Platform adalah kombinasi yang kuat untuk memindahkan perusahaan Anda ke cloud dan ke masa depan. Membiarkan’Lihatlah masing -masing sebelum mempelajari apa yang membuat mereka menonjol sebagai sebuah tim.
Bagaimana Platform Linux dan Google Cloud bekerja sama
Google Cloud Platform
Google Cloud Platform, seperti Amazon’S AWS dan Microsoft Azure, adalah platform cloud publik dan merupakan bagian dari Google Cloud, yang dibangun di Google’S Global Infrastructure. Google Cloud menyediakan layanan cloud dan alat manajemen – via Google Cloud Console – yang memberikan segala sesuatu yang dibutuhkan untuk membangun lingkungan cloud dan multicloud yang efektif, menggunakan aplikasi dan API, dan mendukung beban kerja di seluruh lingkungan.
Google Cloud Platform memiliki alat dan kemampuan yang berfokus pada keamanan untuk memungkinkan perusahaan Anda mengambil keuntungan dari semua manfaat dari komputasi awan dengan strategi yang jelas (Google Cloud Multicloud Solutions), membuat keputusan berdasarkan pada perusahaan yang akurat dan terkini (informasi Workspace) (Google Workspace), serta mengubah bagaimana tim berkomunikasi dan bekerja bersama (Google Workspace) (Google Workspace) (Google Workspace) (Google Workspace) (Google Workspace) (Google Workspace)), Google.
Google Cloud Termasuk Google Cloud Platform, serta serangkaian produk dan alat seperti Google Cloud Storage (Object Storage), Google Cloud Datastore (NoSQL Database), Google Cloud Functions (Platform Komputasi-Berpasangan-Acara-sebagai-A-Service), Google Compute Engine atau GCE (Virtual Machines yang berjalan di Google sebagai as-a-service), Google Compute Engine atau GCE (Virtual Machines yang berjalan di Google sebagai as-a-service), Google Compute Engine atau GCE (Virtual Machines yang berjalan di Google sebagai as-a-service), Google Compute Engine atau GCE (Virtual Machines yang berjalan di Google sebagai as-a-service), Google Compute Engine atau GCE (Virtual Machines yang berjalan di Google sebagai as-a-service), Google Compute Engine’S Pusat Data), dan Google App Engine (Platform Aplikasi Tanpa Server) —main lebih banyak lagi.
Linux for komputasi awan
Linux adalah sistem operasi open source. Karena model pengembangan sumber terbuka, Linux sangat cocok untuk komputasi awan karena memungkinkan perusahaan untuk memilih platform dan teknologi yang paling sesuai dengan kebutuhan dan tujuan mereka, serta memungkinkan pilihan layanan dan vendor yang dibutuhkan, sehingga menghindari pengeluaran yang tidak perlu dan penguncian vendor vendor vendor-vendor. Dengan Linux untuk komputasi awan, Anda mendapatkan semua manfaat Linux untuk penyebaran TI tradisional dengan fleksibilitas untuk tumbuh menggunakan teknologi yang lebih baru seperti Kubernetes, AI/ML dan EDGE Computing. Untuk alasan ini, Linux tetap menjadi pilihan utama sistem operasi dalam komputasi awan.
Better Together: Manfaat Menjalankan Linux di Google Cloud Platform
Google Cloud Platform dibangun di Linux dan berfungsi dengan sejumlah distribusi Linux seperti Centos, Ubuntu, dan Red Hat Enterprise Linux. Sifat open source dari sistem Linux dengan Google Cloud Platform berarti pengguna mendapatkan manfaat berikut:
- Fleksibilitas vendor dan layanan
- Migrasi aplikasi dan informasi yang lebih mudah
- Konsistensi informasi dan proses di seluruh jejak kaki
- Inovasi struktur dan komunitas sumber terbuka
Pada dasarnya, penyedia cloud yang kuat di fondasi Linux yang mapan berarti strategi cloud perusahaan Anda menuju ke arah yang benar.
Manfaat Red Hat Enterprise Linux di Google Cloud Platform
Mengadopsi pendekatan hybrid atau multicloud bisa menjadi tantangan – terutama saat Anda’Digunakan untuk perangkat keras warisan dan infrastruktur tradisional. Tetapi penyedia layanan cloud yang tepat dan distribusi Linux memberikan awal yang solid. Dengan Red Hat® Enterprise Linux® di Google Cloud Platform, Anda memiliki dasar untuk strategi cloud yang akan membawa Anda ke mana pun Anda ingin pergi. Dan karena Red Hat Enterprise Linux berjalan di Google, jadi lakukan semua Red Hat lainnya’Produk S.
Red Hat Enterprise Linux dan Google Cloud Platform membantu menyederhanakan platform infrastruktur Anda, mempercepat pengembangan dan pengiriman aplikasi, dan menggabungkan otomatisasi untuk proses bisnis dan manajemen Anda, sehingga Anda dapat berinovasi lebih cepat dan beradaptasi dengan perubahan industri, peraturan, dan global dengan lingkungan cloud hybrid yang gesit dengan lingkungan cloud hybrid yang gesit dan zat cloud hybrid yang gesit dan beradaptasi dengan lingkungan cloud hybrid agile hybrid cloud yang kusut dan beradaptasi.
Dan di sini’S Something lain-red Hat Enterprise Linux untuk SOM Solutions di Google Cloud adalah platform berkinerja tinggi untuk operasi basis data yang mencakup konten dan fitur spesifik SAP dan memungkinkan organisasi untuk menggunakan SAP di seluruh lingkungan cloud hybrid. Red Hat Enterprise Linux adalah salah satu dari hanya dua distribusi Linux yang disertifikasi untuk digunakan dengan SAP HANA® dan SAP S/4HANA®.
Dengan konfigurasi yang fleksibel, landasan open source dan fokus keamanan, infrastruktur jaringan global, dan manajemen data lanjutan dan analitik, Red Hat dan Google Cloud memberi Anda fungsi dan kemampuan yang Anda butuhkan untuk membangun dan mengoperasikan lingkungan hybrid dan multicloud secara efektif dan efisien secara efisien secara efisien dan efisien secara efisien secara efisien dan efisien secara efisien secara efisien dan efisien secara efisien secara efisien dan efisien secara efisien dan efisien secara efisien dan efisien secara efisien dan efisien secara efisien dan efisien secara efisien dan efisien secara efektif dan efisien secara efisien dan efisien secara efisien dan secara efisien. Setiap komponen memberikan fungsionalitas dan nilai utama dan lingkungan operasi berkinerja tinggi yang andal untuk beban kerja dan aplikasi Anda di seluruh infrastruktur fisik, tervirtualisasi, wadah, berbasis cloud, dan tepi.
Kisah di balik google’S in-house desktop linux

Jika Anda melihat -lihat View Mountain View, CA, Anda akan melihat mesin Windows, Chromebook, Mac – dan Glinux Desktops. G Apa, Anda bertanya? Nah, selain mengandalkan Linux untuk servernya, Google memiliki distribusi desktop Linux sendiri.
Anda tidak bisa mendapatkannya – sial! – tetapi selama lebih dari satu dekade, Google telah memanggang dan memakan distribusi desktop Linux buatan sendiri. Versi pertama adalah goobuntu. (Seperti yang Anda tebak dari namanya, itu didasarkan pada Ubuntu.)
Pada tahun 2018, Google memindahkan desktop Linux in-house dari Goobuntu ke distro Linux baru, Glinux yang berbasis di Debian. Mengapa? Karena, seperti yang dijelaskan Google, rilis dua tahun Dukungan Jangka Panjang Ubuntu (LTS) “berarti bahwa kami harus meningkatkan setiap mesin di armada lebih dari 100.000 perangkat sebelum tanggal akhir kehidupan OS.”
Itu menyakitkan. Tambahkan kebutuhan yang memakan waktu untuk sepenuhnya menyesuaikan PC insinyur, dan Google memutuskan bahwa harganya terlalu mahal. Selain itu, “upaya untuk meningkatkan armada Goobuntu kami biasanya mengambil bagian yang lebih baik dari setahun. Dengan jendela dukungan dua tahun, hanya ada satu tahun tersisa sampai kami harus melalui proses yang sama lagi untuk LTS berikutnya. Seluruh proses ini merupakan faktor stres yang sangat besar bagi tim kami, karena kami mendapat ratusan bug dengan permintaan bantuan untuk kasus sudut.”
Jadi, ketika Google sudah cukup, ia pindah ke Debian Linux (meskipun bukan hanya Vanilla Debian). Perusahaan ini menciptakan distribusi Debian yang bergulir: Glinux Rolling Debian Testing (Rodete). Idenya adalah bahwa pengguna dan pengembang paling baik dilayani dengan memberi mereka pembaruan dan tambalan terbaru saat mereka dibuat dan dianggap siap untuk diproduksi. Distro semacam itu termasuk Arch Linux, Debian Testing, dan OpenSUSE Tumbleweed.
Untuk Google, tujuan langsungnya adalah keluar dari siklus peningkatan dua tahun. Seperti yang ditunjukkan oleh langkah ke integrasi kontinu/kontinu (CI/CD), perubahan bertahap ini bekerja dengan baik. Mereka juga lebih mudah dikendalikan dan dikembalikan jika terjadi kesalahan.
Untuk membuat semua ini bekerja tanpa banyak darah, keringat, dan air mata, Google membuat sistem alur kerja baru, saring. Setiap kali saringan melihat versi baru dari paket Debian, itu memulai build baru. Paket -paket ini dibangun dalam kelompok paket karena paket terpisah sering harus ditingkatkan bersama. Setelah seluruh grup dibangun, Google menjalankan rangkaian tes tervirtualisasi untuk memastikan tidak ada komponen inti dan alur kerja pengembang yang rusak. Selanjutnya, setiap grup diuji secara terpisah dengan instalasi sistem penuh, boot, dan run test suite lokal. Paket dibangun selesai dalam beberapa menit, tetapi pengujian bisa memakan waktu hingga satu jam.
Setelah selesai, semua paket baru digabungkan dengan kumpulan paket Glinux terbaru. Kemudian, ketika Google memutuskan sudah waktunya untuk merilisnya menjadi produksi, tim memotret kumpulan itu. Akhirnya, itu meluncurkan rilis baru ke armada. Tentu saja’S tidak akan hanya membuangnya pada pengguna. Sebaliknya, ia menggunakan prinsip -prinsip rekayasa reliabilitas situs (SRE) seperti canarying tambahan untuk memastikan tidak ada yang serba salah.
Selama bertahun -tahun, Google menjadi lebih baik dalam hal ini. Hari ini, berkat Saringan, seluruh tim pengembangan Glinux terdiri dari satu posisi insinyur rilis yang bertugas yang berputar di antara anggota tim. Tidak ada dorongan besar untuk meningkatkan armada. Tidak ada rilis Alpha, Betas, dan Ketersediaan Umum (GA) multi-tahap.
Lebih baik lagi, berkat jadwal rilis bergulir, Google dapat menambal lubang keamanan pada seluruh armada dengan cepat tanpa mengorbankan stabilitas. Sebelumnya, insinyur keamanan harus dengan hati -hati meninjau setiap penasihat keamanan Debian (DSA) untuk memastikan perbaikan itu masuk.
Selain itu, google yang ditingkatkan Google dan tes integrasi dengan tim mitra utama yang menjalankan sistem pengembang kritis juga menghasilkan pengalaman yang lebih stabil menggunakan distribusi Linux yang menyediakan versi terbaru dari kernel Linux. Kerinduan kami yang kuat untuk mengotomatisasi semua yang ada di dalam pipa telah secara signifikan mengurangi kerja keras dan stres dalam tim. Sekarang juga dimungkinkan bagi kami untuk melaporkan bug dan ketidakcocokan dengan versi perpustakaan lainnya sambil memastikan bahwa Google Tools bekerja lebih baik di dalam ekosistem Linux.”
Ke depan, tim Google menyatakan itu’ll bekerja “lebih dekat dengan debian hulu dan berkontribusi lebih banyak tambalan internal kami untuk mempertahankan ekosistem paket debian.”
Itu semua terdengar bagus. Tapi saya punya dua pemikiran untuk dibagikan.
Pertama, untuk beberapa organisasi, rilis LTS masih masuk akal. Jika Anda tidak memerlukan program terbaru dan paling bersinar untuk bisnis Anda, LT LT LTS LTS Red Hat LTS masih masuk akal.
Kedua, dan ini yang penting: ayakan terdengar seperti kucing itu meow. Salah satu program yang dapat mengotomatiskan pipa produksi distro bergulir ke titik di mana hanya membutuhkan satu insinyur untuk mempertahankan desktop yang digunakan oleh 100.000+ pengguna? Daftarkan aku!
Lebih baik lagi, rilis kode SIEVE sehingga kita semua dapat mulai memproduksi rilis desktop Linux Rolling. Bagaimana dengan itu, google? Apa yang kamu katakan?
- Desktop Linux
Hak Cipta © 2022 IDG Communications, Inc.
