Rekomendasi
Pemberi rekomendasi
recommender adalah layanan di Google Cloud yang memberikan rekomendasi pengoptimalan untuk produk dan resource Google Cloud.
Setiap pemberi rekomendasi memiliki ID pemberi rekomendasi unik yang mengidentifikasi layanan. Anda menggunakan ID pemberi rekomendasi saat berinteraksi dengan rekomendasi menggunakan perintah gcloud
Pemberi rekomendasi, atau REST atau RPC API.
Untuk informasi selengkapnya, lihat Pemberi Rekomendasi.
Rekomendasi
Rekomendasi adalah saran yang dibuat oleh mesin untuk mengoptimalkan penggunaan resource Cloud. Artikel ini berisi langkah-langkah yang diperlukan untuk mengambil tindakan atas rekomendasi. Pemberi rekomendasi memberikan rekomendasi berdasarkan penggunaan
resource, menggunakan machine learning atau heuristik. Pemberi rekomendasi menyimpan
rekomendasi menggunakan entitas Recommendation
.
Rekomendasi memiliki atribut inti berikut:
- Nama
- Deskripsi
- Subjenis pemberi rekomendasi
- Dampak
- Operasi
- Grup operasi
- Info status
- etag
- Prioritas
- Metadata status
- Waktu refresh terakhir
- Referensi insight
- Konfigurasi
Nama
Nama rekomendasi disimpan di kolom name
pada entity
Recommendation
. Ini adalah nama rekomendasi dalam format
berikut:
projects/TARGET_PROJECT_ID/locations/LOCATION/recommenders/RECOMMENDER_ID/recommendations/RECOMMENDATION_ID
dengan:
- TARGET_PROJECT_ID adalah ID project tempat rekomendasi dibuat.
- LOCATION adalah lokasi Google Cloud tempat resource yang terkait dengan rekomendasi berada (misalnya,
global
atauus-central1-a
). - RECOMMENDER_ID adalah ID pemberi rekomendasi yang sepenuhnya memenuhi syarat (misalnya,
google.compute.instance.MachineTypeRecommender
). - RECOMMENDATION_ID adalah ID unik untuk rekomendasi.
Deskripsi
Deskripsi rekomendasi disimpan di kolom description
pada entity Recommendation
. Panduan ini hanya tersedia dalam bahasa Inggris. Ini adalah teks yang dapat dibaca
manusia yang menjelaskan rekomendasi. Di Konsol Google Cloud, deskripsi akan muncul saat Anda mengklik untuk melihat detail rekomendasi tambahan.
Subjenis pemberi rekomendasi
Pemberi rekomendasi mungkin memiliki subjenis untuk jenis rekomendasi tertentu. Misalnya, pemberi rekomendasi peran Identity and Access Management memiliki subjenis REPLACE_ROLE
dan
REMOVE_ROLE
. Subjenis baru mungkin diperkenalkan ke pemberi rekomendasi yang ada dari waktu ke waktu. Ringkasan ini menyediakan daftar semua pemberi rekomendasi yang tersedia. Lihat dokumentasi pemberi rekomendasi untuk mendapatkan informasi selengkapnya tentang subjenis rekomendasi yang tersedia.
Dampak pemberi rekomendasi
Dampak mengukur manfaat yang diproyeksikan dari pelaksanaan tindakan yang disarankan. Setiap rekomendasi dapat memiliki jenis dampak berikut yang mewakili hasil yang dapat terjadi sebagai akibat dari penerapan rekomendasi tersebut:
Dampak utamanya bersifat wajib dan disimpan di kolom
primaryImpact
entitasRecommendation
.Dampak sekunder bersifat opsional dan disimpan di kolom
additionalImpact
.
Ada jenis dampak primer dan sekunder berikut:
COST
: Estimasi jumlah uang yang diproyeksikan akan dihemat (atau dikeluarkan) jika Anda menerapkan rekomendasi tertentu. Lihat kolomcost
di bagian CostProjection untuk mengetahui detailnya.PERFORMANCE
: Estimasi peningkatan atau penurunan performa. Perlu diperhatikan bahwa beberapa rekomendasi performa dapat menimbulkan biaya tambahan (misalnya, jika rekomendasi tersebut adalah untuk meningkatkan alokasi CPU atau memori pada VM yang digunakan secara berlebihan).SECURITY
: Estimasi peningkatan dalam postur keamanan. Lihat kolomdetails
di bagian SecurityProjection untuk mengetahui detailnya.MANAGEABILITY
: Estimasi pengurangan toil manual.SUSTAINABILITY
: Estimasi pengurangan emisi karbon. Lihat kolomcarbon_footprint_kg_co2
pada bagian SustainabilityProjection dan metodologi pelaporan Jejak Karbon untuk mengetahui detailnya.
Operasi
Operation
adalah tindakan individual yang harus dilakukan sebagai salah satu langkah menyeluruh dalam rekomendasi yang disarankan. Operasi dapat menampilkan perubahan berikut:
- Menambahkan, menghapus, atau mengganti kolom objek JSON di resource Google Cloud.
- Menambahkan, menghapus, atau mengganti kolom array JSON di resource Google Cloud. Elemen array JSON diidentifikasi dengan menentukan filter pada jalur.
- Tambahkan resource Google Cloud baru.
- Menghapus resource Google Cloud.
- Uji operasi untuk menunjukkan status asli resource. Operasi pengujian juga dapat digunakan untuk memverifikasi status resource saat ini sebelum menerapkan rekomendasi.
- Salin dan pindahkan resource serta kolom Google Cloud.
Setiap Operation
secara longgar didasarkan pada format Jalur JSON (RFC
6902) untuk patch. RFC ini dipilih karena memberikan cara yang lebih konsisten untuk mencerminkan perubahan resource, termasuk skenario kompleks yang umum ditemukan di Google Cloud. Misalnya, rekomendasi IAM melibatkan array bertingkat untuk mencerminkan
pemindahan binding peran akun utama ke peran yang berbeda.
Untuk setiap resource, daftar perubahan (tampilan berbasis perbedaan) dapat dibuat dengan cara berikut:
- Status asli: Operasi pengujian mewakili nilai asli kolom. Ini mewakili sisi kiri tampilan perbedaan.
- Status yang direkomendasikan: Operasi non-pengujian mewakili perubahan yang direkomendasikan per kolom. Ini mewakili sisi kanan tampilan perbedaan.
Grup operasi
Grup operasi adalah kumpulan satu atau beberapa operasi yang harus dilakukan dalam urutan tertentu saat Anda menerapkan rekomendasi. Rekomendasi dapat memiliki satu atau beberapa grup operasi. Grup operasi disimpan di kolom operationGroups
dalam entity Recommendation
.
Misalnya, rekomendasi yang menyarankan agar Anda mengubah jenis mesin instance VM untuk grup instance Compute Engine memiliki dua grup operasi: satu grup operasi digunakan untuk mengubah jenis mesin di template instance, dan grup kedua tempat Anda menerapkan perubahan pada grup instance tertentu.
Karena kumpulan operasi pertama harus selesai sebelum operasi yang kedua dapat dimulai, operasi ini didefinisikan sebagai dua grup instance terpisah dalam rekomendasi.
Grup operasi dapat mencakup operasi test. Operasi pengujian melakukan pemeriksaan untuk memastikan bahwa rekomendasi masih valid. Rekomendasi yang menyarankan perubahan jenis mesin instance VM memiliki operasi pengujian yang memeriksa apakah jenis mesin saat ini sama dengan saat rekomendasi dibuat.
Status
Rekomendasi melewati banyak transisi status setelah diusulkan. Rekomendasi dapat memiliki status berikut:
ACTIVE
, yang berarti bahwa rekomendasi telah dibuat, tetapi tidak ada tindakan yang diambil sebagai respons terhadap rekomendasi tersebut. Rekomendasi dapat diterapkan dengan mengklaimnya. Rekomendasi aktif dapat diperbarui saat fasilitas berubah.CLAIMED
, yang berarti Anda atau proses lain telah mengklaim rekomendasi dan respons terhadap rekomendasi tersebut sedang diproses. Saat rekomendasi diklaim, Pemberi rekomendasi tidak akan memperbaruinya saat resource berubah.SUCCEEDED
, yang berarti Anda atau proses lain telah menerapkan rekomendasi ke resource yang terkait.FAILED
, yang berarti upaya untuk menerapkan rekomendasi telah gagal.DISMISSED
, yang berarti Anda atau proses lain telah menolak rekomendasi tanpa menerapkannya ke resource terkait. Status ini mencegah rekomendasi muncul dalam daftar rekomendasi, dan biasanya diterapkan oleh administrator yang telah membatalkan validasinya karena berbagai alasan. Hal ini juga mencegah rekomendasi berpindah ke statusCLAIMED
.
Informasi tentang status rekomendasi disimpan di kolom stateInfo
entity Recommendation
. Hal ini mencakup status rekomendasi itu sendiri dan metadata status tambahan per pemberi rekomendasi.
Jika rekomendasi diubah ke status CLAIMED
, SUCCEEDED
, atau FAILED
, konten rekomendasi tidak akan diperbarui, dan rekomendasi akan memiliki masa aktif selama 90 hari sejak perubahan status.
etag
etag adalah sidik jari unik yang mengidentifikasi status rekomendasi saat ini. Setiap kali rekomendasi berubah, nilai etag baru
akan ditetapkan. Nilai ini disimpan di kolom etag
dari entity
Recommender
.
Setelah mengambil rekomendasi dari Pemberi Rekomendasi menggunakan perintah gcloud
atau panggilan API, Anda akan mereferensikannya dalam operasi berikutnya menggunakan
ID rekomendasi dan etag. Hal ini memastikan bahwa operasi apa pun hanya dilakukan jika rekomendasi tidak berubah sejak terakhir kali Anda mengambilnya.
Prioritas
Prioritas
untuk rekomendasi membantu memberikan indikasi tentang tindakan yang harus ditangani terlebih dahulu.
Kolom ini berisi nilai P1
, P2
, P3
, dan P4
dengan P4
ditetapkan sebagai prioritas default.
Setiap recommender dapat memiliki strategi prioritasnya sendiri yang ditentukan.
Metadata status
Jika Anda mengklaim rekomendasi atau menandainya sebagai berhasil atau gagal, Anda dapat menyertakan metadata tambahan tentang operasi dengan metadata status.
Metadata ditentukan sebagai pasangan key:value
. Contoh:
{
"stateMetadata": {
"priority" : "high",
"tracking_number": "12345" }
}
Pembaruan pada kolom stateMetadata
akan menimpa metadata status yang ada.
Waktu refresh terakhir
Waktu refresh terakhir menunjukkan kapan rekomendasi terakhir diperbarui oleh proses pembuatan. Konten rekomendasi mencerminkan status resource pada waktu refresh terakhir.
Contoh
Contoh berikut menunjukkan rekomendasi ukuran untuk instance VM di Compute Engine.
{
"content": {
"operationGroups": [
{
"operations": [
{
"action": "test",
"path": "/machineType",
"resource": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/instance-rightsizing-2",
"resourceType": "compute.googleapis.com/Instance",
"valueMatcher": {
"matchesPattern": ".*zones/us-central1-a/machineTypes/n1-standard-4"
}
},
{
"action": "replace",
"path": "/machineType",
"resource": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/instance-rightsizing-2",
"resourceType": "compute.googleapis.com/Instance",
"value": "zones/us-central1-a/machineTypes/custom-2-5120"
}
]
}
]
},
"description": "Save cost by changing machine type from n1-standard-4 to custom-2-5120.",
"etag": "\"923daeebe926c12f\"",
"recommenderSubtype": "CHANGE_MACHINE_TYPE",
"lastRefreshTime": "2019-06-13T06:44:58Z",
"name": "projects/32428390823/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/a523ff7e-ed03-4143-a3a5-5b396b99cba9",
"primaryImpact": {
"category": "COST",
"costProjection": {
"cost": {
"currencyCode": "USD",
"units": "-73"
},
"duration": "2592000s"
}
},
"stateInfo": {
"state": "ACTIVE"
}
}
Untuk contoh rekomendasi lainnya, lihat dokumentasi untuk setiap pemberi rekomendasi di Pemberi Rekomendasi.
Referensi insight
Referensi ke insight terkait. Referensi akan menautkan rekomendasi dengan insight terkait, jika ada.
Konfigurasi
Melalui konfigurasi pemberi rekomendasi, Anda dapat melakukan hal berikut:
- Sesuaikan cara insight dan rekomendasi dihasilkan. Hal ini dilakukan dengan memodifikasi beberapa parameter konfigurasi yang digunakan untuk menghasilkan insight dan rekomendasi ini.
- Setiap konfigurasi pemberi rekomendasi dimulai dengan beberapa nilai default untuk setiap parameter. Setiap parameter memiliki rentang nilai yang dapat Anda gunakan untuk menyesuaikan konfigurasi.
- Konfigurasi aktif adalah konfigurasi yang terakhir Anda ubah. Untuk setiap perubahan yang dibuat pada konfigurasi, diperlukan waktu hingga 48 jam agar konfigurasi dapat diterapkan.
Contoh konfigurasi pemberi rekomendasi adalah menetapkan nilai minimum CPU default atau periode observasi untuk membuat rekomendasi yang lebih sesuai dengan workload, aplikasi, dan kebutuhan infrastruktur Anda.
Dengan API konfigurasi, Anda dapat mengambil konfigurasi untuk jenis pemberi rekomendasi atau insight. Anda memiliki opsi untuk memperbarui parameter konfigurasi untuk satu project. Setiap konfigurasi pemberi rekomendasi atau jenis insight memerlukan izin khusus untuk melihat dan mengubah parameter konfigurasi.
Berikut adalah contoh respons yang berisi parameter konfigurasi untuk pemberi rekomendasi Idle VM:
{
"name": "projects/project-number/locations/global/recommenders/google.iam.policy.Recommender/config",
"recommenderGenerationConfig": {
"params": {
"minimum_observation_period": "P90D",
}
},
"etag": "\"2f3c9b65cda6a4ba\"",
"updateTime": "2020-11-03T04:41:15.330351Z"
}