Ada perbedaan penting antara membuat layanan sangat tersedia dan membuat mesin individual sangat tersedia.
Dalam kebanyakan kasus, tujuannya adalah untuk membuat layanan tersebut sangat tersedia, dan ketersediaan masing-masing mesin hanyalah sarana untuk mencapai tujuan itu. Namun ada batasan seberapa jauh ke arah tujuan yang bisa Anda dapatkan dengan meningkatkan ketersediaan masing-masing mesin.
Bahkan jika Anda bisa menghilangkan semua downtime karena perlu memperbarui perangkat lunak, masing-masing mesin tetap tidak akan 100% tersedia. Dengan demikian untuk meningkatkan ketersediaan layanan di atas ketersediaan masing-masing mesin, Anda harus merancang redundansi di tingkat yang lebih tinggi. Kalimat terakhir dari pertanyaan Anda menunjukkan bahwa setidaknya pada prinsipnya Anda tahu ini.
Jika Anda mendesain layanan agar lebih tersedia daripada yang dapat diberikan oleh mesin individual, tidak ada tekanan lagi untuk mencapai ketersediaan tinggi masing-masing mesin. Jadi untuk layanan yang sangat tersedia tidak perlu menghindari reboot. Alih-alih, Anda dapat mengorbankan beberapa keandalan masing-masing alat berat untuk melakukan penghematan yang dapat dilakukan terhadap bidang lain di mana Anda bisa mendapatkan perolehan keandalan yang jauh lebih tinggi.
Setelah sistem tingkat tinggi dirancang untuk dapat diandalkan jika komponen perangkat keras individu gagal menambal langsung perubahan kernel dari menjadi keuntungan menjadi risiko.
Ini risiko karena bisa ada perbedaan halus antara perilaku mesin yang tambalan langsung dan mesin yang di-boot dengan versi kernel terbaru. Ini dapat menyebabkan bug laten yang dapat menyebabkan pemadaman saat mesin di-boot ulang. Risiko ini diperbesar dengan me-reboot untuk mendapatkan batu tulis yang bersih dilihat sebagai metode untuk mengurangi beberapa gangguan.
Suatu hari Anda bisa mengalami pemadaman di mana Anda pikir me-reboot mesin mungkin membantu. Tetapi ketika Anda reboot Anda terkena bug laten yang mencegah mesin kembali dalam kondisi yang diinginkan. Live patching bukan satu-satunya cara bug laten seperti itu bisa terjadi, itu bisa juga terjadi karena sesuatu yang biasa seperti layanan yang diaktifkan secara manual dan tidak pernah dikonfigurasi untuk memulai saat boot, atau telah dikonfigurasi untuk memulai terlalu dini sehingga gagal muncul karena dependensi yang tidak terpenuhi.
Karena alasan itu, layanan yang sangat tersedia mungkin sebenarnya lebih mudah dicapai dengan reboot reguler dari masing-masing mesin pada tingkat yang cukup lambat sehingga Anda dapat mendeteksi masalah dan menjeda urutan reboot setelah masalah terjadi.