Praktik terbaik untuk menggunakan sole-tenant node agar dapat menjalankan workload VM


Saat berencana menjalankan workload VM pada sole-tenant node, Anda harus terlebih dahulu memutuskan cara men-deploy sole-tenant node. Secara khusus, Anda harus memutuskan jumlah grup node yang diperlukan, dan kebijakan pemeliharaan mana yang harus digunakan grup node:

  • Grup node: Untuk memilih jumlah grup node yang tepat, Anda harus mempertimbangkan ketersediaan dan penggunaan resource. Meskipun grup node dalam jumlah kecil memungkinkan Anda mengoptimalkan penggunaan dan biaya resource, hal ini membatasi Anda pada satu zona. Men-deploy grup node di beberapa zona memungkinkan Anda meningkatkan ketersediaan, tetapi dapat mengakibatkan penggunaan resource yang lebih rendah.

  • Kebijakan penskalaan otomatis dan pemeliharaan: Tergantung pada persyaratan pemberian lisensi sistem operasi dan software yang ingin Anda jalankan, penskalaan otomatis node dan pilihan kebijakan pemeliharaan dapat memengaruhi biaya dan ketersediaan pemberian lisensi Anda.

Untuk membuat keputusan yang tepat terkait cara menggunakan sole-tenant node, Anda harus mempertimbangkan persyaratan dengan cermat.

Menilai persyaratan

Bagian berikut mencantumkan beberapa persyaratan yang harus Anda pertimbangkan sebelum memutuskan jumlah grup node yang diperlukan, dan kebijakan pemeliharaan mana yang harus digunakan oleh grup node.

Pemberian lisensi BYOL dan per inti

Jika Anda berencana untuk memanfaatkan bring your own license (BYOL) ke Compute Engine, sole-tenant node dapat membantu Anda mengatasi persyaratan hardware atau batasan yang diberlakukan oleh lisensi ini.

Beberapa software dan sistem operasi seperti Windows Server dapat dilisensikan oleh inti CPU fisik dan dapat menentukan batas seberapa sering Anda diperbolehkan mengubah hardware yang mendasari virtual machine Anda. Penskalaan otomatis node dan kebijakan pemeliharaan default dapat menyebabkan seringnya terjadi perubahan hardware daripada yang diizinkan oleh persyaratan lisensi Anda, sehingga dapat menimbulkan biaya lisensi tambahan.

Untuk mengoptimalkan BYOL per inti, pertimbangkan praktik terbaik berikut:

  • Temukan keseimbangan antara mengoptimalkan biaya infrastruktur dan biaya pemberian lisensi: Untuk menghitung biaya keseluruhan dalam menjalankan workload BYOL di Compute Engine, Anda harus mempertimbangkan biaya infrastruktur dan biaya pemberin lisensi. Pada beberapa kasus, meminimalkan biaya infrastruktur dapat meningkatkan overhead pemberian lisensi, atau sebaliknya. Misalnya, menggunakan jenis node dengan jumlah inti yang tinggi mungkin merupakan pilihan terbaik dari sudut pandang biaya/performa untuk workload tertentu, tetapi dapat menimbulkan biaya pemberian lisensi tambahan jika lisensi ditetapkan berdasarkan harga inti.

  • Gunakan grup node terpisah untuk workload BYOL dan non-BYOL: Untuk membatasi jumlah inti yang perlu Anda lisensikan, hindari pencampuran workload BYOL dan non-BYOL dalam satu grup node dan gunakan grup node terpisah.

    Jika Anda menggunakan beberapa model pemberian lisensi BYOL yang berbeda (misalnya, Windows Server Datacenter dan Standard), memisahkan grup node berdasarkan model pemberian lisensi dapat membantu menyederhanakan pelacakan lisensi dan mengurangi biaya pemberian lisensi.

  • Gunakan overcommit CPU dan jenis node dengan rasio core/memori yang tinggi: Jenis node berbeda rasionya antara soket, inti, dan memori. Menggunakan jenis node dengan rasio core:memory yang lebih tinggi dan mengaktifkan overcommit CPU dapat membantu mengurangi jumlah inti yang perlu Anda lisensikan.

  • Hindari penskalaan otomatis penskalaan: Penskalaan otomatis grup node memungkinkan Anda memperbesar atau memperkecil grup node secara otomatis berdasarkan permintaan saat ini. Grup node yang sering diperbesar dan diperkecil mengimplikasikan bahwa Anda sering mengganti hardware yang menjalankan VM Anda.

    Jika Anda lebih sering mengganti hardware sehingga Anda diizinkan untuk memindahkan lisensi antar mesin fisik, perubahan hardware ini dapat mengakibatkan situasi di mana Anda harus melisensikan lebih banyak inti yang sebenarnya Anda gunakan.

    Jika ada batasan terkait frekuensi peralihan antar mesin fisik, Anda dapat menghindari biaya pemberian lisensi yang berlebihan dengan menonaktifkan penskalaan otomatis atau mengonfigurasi penskalaan otomatis agar hanya melakukan penyebaran skala.

  • Jangan gunakan kebijakan pemeliharaan default: Kebijakan pemeliharaan default memungkinkan Anda mengoptimalkan ketersediaan VM, tetapi dapat sering menyebabkan perubahan hardware. Untuk meminimalkan perubahan hardware dan mengoptimalkan biaya pemberian lisensi, gunakan kebijakan pemeliharaan migrasi dalam grup node atau mulai ulang di tempat yang sama sebagai gantinya.

Untuk workload yang tidak memerlukan pemberian lisensi per inti, pertimbangkan praktik terbaik berikut:

Pengelolaan

Jika Anda memiliki lebih dari satu workload, atau jika Anda memiliki workload pengembangan dan produksi yang perlu dijalankan di sole-tenant node, pertimbangkan praktik terbaik berikut:

  • Gunakan grup node terpisah untuk lingkungan pengembangan dan produksi: Menggunakan grup node terpisah membantu Anda mengisolasi lingkungan dari lingkungan lain dan menghindari situasi seperti berikut:

    • VM pengembangan dapat memengaruhi performa VM produksi karena menggunakan CPU, disk, atau resource jaringan secara berlebihan ("noisy neighbor").
    • Workload pengembangan dapat menghabiskan kapasitas grup node, sehingga mencegah pembuatan VM produksi baru.
  • Batasi jumlah grup node di setiap lingkungan: Jika Anda menjalankan beberapa grup node, akan sulit untuk sepenuhnya memanfaatkan setiap grup node. Untuk mengoptimalkan penggunaan, gabungkan workload dari setiap lingkungan dan jadwalkan pada grup node dalam jumlah kecil.

  • Gunakan project khusus untuk mengelola grup node: Untuk setiap lingkungan, buat project khusus untuk mengelola grup node. Kemudian, bagikan grup node dengan project yang berisi workload.

    Pendekatan ini memungkinkan Anda menyederhanakan kontrol akses menggunakan project terpisah untuk setiap workload, sekaligus memungkinkan Anda mengoptimalkan penggunaan resource dengan berbagi grup node di seluruh workload.

  • Bagikan grup node dengan masing-masing project: Daripada membagikan grup node ke seluruh organisasi, bagikan grup node tersebut dengan project individual saja. Memilih project satu per satu membantu Anda mempertahankan pemisahan antar lingkungan, dan menghindari pengungkapan informasi tentang grup node ke project lain.

  • Tetapkan proses untuk atribusi biaya internal: Biaya untuk menjalankan grup node dikeluarkan dalam project yang berisi grup node. Jika Anda perlu mengatribusikan biaya ini ke masing-masing project atau workload, pertimbangkan untuk melacak penggunaan VM sole-tenant Anda dan menggunakan data ini untuk melakukan atribusi biaya internal.

Ketersediaan

Workload Anda mungkin berbeda dalam persyaratan ketersediaannya, dan apakah ketersediaan tinggi dapat dicapai di lapisan aplikasi atau perlu diimplementasikan di lapisan infrastruktur:

  • Aplikasi yang dikelompokkan: Beberapa workload Anda dapat menerapkan ketersediaan tinggi dalam aplikasi menggunakan teknik pengelompokan seperti replikasi dan load-balancing.

    Contoh untuk workload tersebut mencakup pengontrol domain Active Directory, Instance Cluster Failover SQL Server dan Availability Groups, atau aplikasi dalam cluster yang di-load balance dan berjalan di IIS.

    Aplikasi yang dikelompokkan biasanya dapat mempertahankan pemadaman layanan VM individual asalkan sebagian besar VM tetap tersedia.

  • Aplikasi yang tidak dikelompokkan: Beberapa workload Anda mungkin tidak menerapkan kemampuan pengelompokan dan, sebagai gantinya, mengharuskan VM itu sendiri harus tetap tersedia.

    Contoh untuk workload tersebut meliputi server database yang tidak direplikasi atau server aplikasi stateful.

    Untuk mengoptimalkan ketersediaan setiap VM, Anda perlu memastikan bahwa VM dapat dimigrasikan langsung jika terjadi peristiwa pemeliharaan node yang akan datang.

    Migrasi langsung didukung oleh kebijakan pemeliharaan default dan kebijakan pemeliharaan migrasi dalam grup node, tetapi tidak didukung jika Anda menggunakan kebijakan pemeliharaan mulai ulang di tempat yang sama.

  • Aplikasi non-kritis: Workload batch, workload pengembangan/pengujian, dan workload dengan prioritas lebih rendah lainnya mungkin tidak memiliki persyaratan ketersediaan tertentu. Untuk workload ini, mungkin dapat diterima jika masing-masing VM tidak tersedia selama pemeliharaan node.

Untuk mengakomodasi persyaratan ketersediaan workload, pertimbangkan praktik terbaik berikut:

  • Gunakan grup node di zona atau region berbeda untuk men-deploy workload yang dikelompokkan: Sole-tenant node dan grup node adalah resource zona. Untuk melindungi dari pemadaman layanan zona, deploy beberapa grup node di zona atau region yang berbeda. Gunakan afinitas node untuk menjadwalkan VM sehingga setiap instance aplikasi yang dikelompokkan berjalan pada node yang berbeda di zona atau region yang berbeda.

    Jika dua atau beberapa grup node Anda menggunakan kebijakan pemeliharaan default atau memulai ulang, konfigurasikan masa pemeliharaan agar tidak tumpang tindih.

    Jika beberapa instance aplikasi yang dikelompokkan harus berjalan di satu zona, gunakan anti-afinitas untuk memastikan bahwa instance VM dijadwalkan pada node atau grup node yang berbeda.

  • Hindari kebijakan pemeliharaan langsung diterapkan untuk beban kerja non-cluster yang memerlukan ketersediaan tinggi: Karena kebijakan pemeliharaan mulai ulang di tempat yang sama akan menonaktifkan VM saat node yang mendasarinya memerlukan pemeliharaan, sebaiknya gunakan kebijakan pemeliharaan yang berbeda untuk grup node yang menjalankan workload yang tidak dikelompokkan yang memerlukan ketersediaan tinggi.

  • Gunakan grup instance terkelola untuk meningkatkan ketahanan dan ketersediaan workload: Anda dapat lebih meningkatkan ketahanan dan ketersediaan deployment dengan menggunakan grup instance terkelola untuk memantau kondisi workload dan untukmembuat ulang instance VM secara otomatis jika diperlukan. Anda dapat menggunakan grup instance terkelola untuk workload stateless dan stateful.

Performa

Workload Anda mungkin berbeda dalam sensitivitasnya terhadap fluktuasi performa. Untuk aplikasi internal atau workload pengujian tertentu, mengoptimalkan biaya mungkin lebih penting daripada memastikan performa yang konsisten sepanjang hari. Untuk workload lain seperti aplikasi yang ditujukan untuk pihak eksternal, performa mungkin sangat penting dan lebih penting daripada penggunaan resource.

Untuk memaksimalkan penggunaan sole-tenant node Anda, pertimbangkan praktik terbaik berikut:

  • Gunakan grup node khusus dan overcommit CPU untuk workload yang tidak sensitif terhadap performa: Overcommit CPU memungkinkan Anda meningkatkan kepadatan VM pada sole-tenant node dan dapat membantu mengurangi jumlah sole-tenant node yang diperlukan.

    Untuk menggunakan overcommit CPU, Anda harus menggunakan jenis node yang mendukung overcommit CPU. Mengaktifkan overcommit CPU untuk grup node akan menyebabkan biaya tambahan per sole-tenant node.

    Overcommit CPU dapat menjadi pilihan yang paling hemat biaya jika Anda menggunakan grup node khusus untuk workload yang sesuai dengan overcommit CPU dan mengaktifkan overcommit CPU untuk grup node ini saja. Jangan aktifkan overcommit CPU untuk semua grup node yang perlu menjalankan workload yang sensitif terhadap performa.

  • Gunakan jenis node dengan rasio core:memory yang tinggi untuk overcommit CPU: Meskipun overcommit CPU memungkinkan Anda berbagi core antar-VM, hal ini tidak memungkinkan Anda berbagi memori antar-VM. Menggunakan jenis node dengan memori yang relatif lebih banyak per inti CPU akan membantu Anda memastikan bahwa memori tidak menjadi faktor pembatas.

  • Gunakan penskalaan otomatis node untuk workload yang sensitif terhadap performa: Guna mengakomodasi berbagai kebutuhan resource untuk workload yang sensitif terhadap performa, konfigurasikan grup node Anda untuk menggunakan penskalaan otomatis.

Pola deployment

Cara terbaik untuk menggunakan sole-tenant node bergantung pada persyaratan individual Anda. Bagian berikut menjelaskan pilihan pola yang dapat Anda gunakan sebagai titik awal untuk mendapatkan arsitektur yang sesuai dengan kebutuhan individual Anda.

Beberapa grup node untuk persyaratan performa campuran

Jika memiliki kombinasi workload yang sensitif terhadap performa (misalnya, aplikasi yang berhubungan langsung dengan pelanggan) dan tidak sensitif terhadap performa (misalnya, aplikasi internal), Anda dapat menggunakan beberapa grup node yang menggunakan jenis node yang berbeda .

Beberapa grup node untuk persyaratan performa campuran

  • Satu grup node menggunakan overcommit CPU dan jenis node dengan rasio vCPU:memory 1:8. Grup node ini digunakan untuk workload yang tidak sensitif terhadap performa.
  • Grup node kedua menggunakan jenis node yang dioptimalkan untuk komputasi dengan rasio vCPU:memory 1:4 tanpa overcommit CPU. Grup node ini digunakan untuk workload yang mementingkan performa dan dikonfigurasi untuk meningkatkan dan menurunkan skala sesuai permintaan.

Ketersediaan tinggi multi-zona untuk workload berlisensi per inti yang dikelompokkan

Jika Anda menjalankan workload yang dikelompokkan yang menggunakan pemberian lisensi per inti dan perlu meminimalkan perubahan hardware, Anda dapat mencapai keseimbangan antara overhead ketersediaan dan pemberian lisensi menggunakan beberapa grup node dengan masa pemeliharaan yang tidak tumpang-tindih:

Ketersediaan tinggi multi-zona untuk workload berlisensi per inti yang dikelompokkan

  • Beberapa grup node di-deploy di berbagai zona atau region.
  • Semua grup node menggunakan kebijakan pemeliharaan mulai ulang. Grup node menggunakan masa pemeliharaan yang tidak tumpang-tindih, sehingga tidak lebih dari satu grup node yang mengalami gangguan terkait pemeliharaan dalam satu waktu.
  • Instance VM menjalankan workload yang dikelompokkan menggunakan label afinitas, sehingga setiap node cluster dijadwalkan pada grup node di zona yang berbeda.

Ketersediaan tinggi multi-zona untuk workload berlisensi per inti campuran

Jika menggunakan pemberian lisensi per inti, tetapi tidak semua workload akan dikelompokkan. Anda dapat memperluas pola sebelumnya dengan menggunakan kebijakan pemeliharaan heterogen:

Ketersediaan tinggi multi-zona untuk workload berlisensi per inti campuran

  • Grup node utama di-deploy di zona a dan menjalankan workload yang dikelompokkan dan tidak dikelompokkan. Untuk meminimalkan pemadaman layanan yang disebabkan oleh pemeliharaan hardware, grup node menggunakan kebijakan pemeliharaan migrasi dalam grup node.
  • Satu atau beberapa grup node sekunder di-deploy di zona atau region tambahan. Grup node ini menggunakan kebijakan pemeliharaan mulai ulang, tetapi menggunakan masa pemeliharaan yang tidak tumpang-tindih.
  • Instance VM menjalankan workload yang dikelompokkan menggunakan label afinitas, sehingga setiap node cluster dijadwalkan pada grup node di zona yang berbeda.
  • Instance VM menjalankan workload yang tidak dikelompokkan menggunakan label afinitas, sehingga workload tersebut di-deploy pada grup node utama.

Dengan hanya menjadwalkan workload yang dikelompokkan pada grup node sekunder, Anda dapat memastikan bahwa pemadaman layanan sementara yang disebabkan oleh kebijakan pemeliharaan mulai ulang memiliki dampak minimal terhadap ketersediaan secara keseluruhan. Pada saat yang sama, Anda membatasi overhead pemberian lisensi dan infrastruktur dengan menggunakan kebijakan pemeliharaan migrasi dalam grup node hanya untuk grup node utama.

Langkah berikutnya