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

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 atau us-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 entitas Recommendation.

  • 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 kolom cost 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 kolom details di bagian SecurityProjection untuk mengetahui detailnya.

  • MANAGEABILITY: Estimasi pengurangan toil manual.

  • SUSTAINABILITY: Estimasi pengurangan emisi karbon. Lihat kolom carbon_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 status CLAIMED.

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"
}