Microservice

Dokumen ini memperkenalkan microservice dan menjelaskan jenis microservice yang didukung oleh Cloud Monitoring.

Istilah microservice memiliki arti yang berbeda bagi setiap orang. Bagi sebagian orang, microservice sesuai dengan "kotak" yang digambar di papan tulis saat membahas arsitektur sistem. Yang lain merujuk pada definisi yang lebih formal yang menjelaskan endpoint yang dapat diakses melalui jaringan dengan fungsionalitas yang ditentukan oleh API yang menghadap ke eksternal yang dapat dikembangkan, di-deploy, dan dioperasikan secara independen dari layanan mikro lainnya dalam sistem. Yang lain mendasarkan pemahaman mereka pada konsep microservice yang disediakan oleh platform pengembangan mereka, seperti layanan App Engine atau layanan Cloud Service Mesh.

Tujuan kami bukan untuk memaksakan definisi microservice kepada Anda. Sebagai gantinya, kami ingin membantu Anda memantau sistem dalam skala besar selama transformasi digital dengan menyediakan alat pemantauan berorientasi layanan untuk mendukung Anda dan arsitektur Anda. Kami ingin bekerja sama dengan Anda untuk menerapkan praktik terbaik dalam memantau sistem tanpa mengubah satu baris kode pun.

Untuk membantu Anda memantau mikroservice, Cloud Monitoring melakukan hal berikut:

  • Mendeteksi microservice secara otomatis jika memungkinkan
  • Menyediakan pengalaman terpandu untuk menentukan microservice berbasis Google Kubernetes Engine dan Cloud Run
  • Menawarkan solusi yang sepenuhnya kustom untuk fleksibilitas maksimum

Microservice yang ditemukan secara otomatis

Beberapa framework pengembangan modern menawarkan konsep microservice yang memiliki pendapat. Dalam arsitektur yang menggunakan framework tersebut, Cloud Monitoring otomatis mendeteksi saat layanan di-deploy, diperbarui, atau dihapus. Pemantauan mencapai deteksi ini melalui analisis berkelanjutan dari aliran metadata yang dihasilkan oleh suatu project.

Cloud Monitoring dapat otomatis mendeteksi mikroservice yang dibangun menggunakan framework pengembangan berikut:

  • App Engine: App Engine memiliki konsep microservice yang kuat, yang disebut layanan App Engine (dan sebelumnya modul). Setiap layanan dibedakan oleh file konfigurasi app.yaml-nya sendiri.

  • Cloud Service Mesh: Cloud Monitoring mendukung mesh layanan yang dibangun di atas satu cluster GKE. Dalam konfigurasi ini, layanan Cloud Service Mesh berkorespondensi langsung dengan layanan GKE. Semua layanan Cloud Service Mesh, baik yang dikelola pengguna maupun yang dikelola sistem, akan otomatis terdeteksi.

Dasbor untuk microservice yang ditemukan secara otomatis

Dasbor layanan dibuat secara otomatis untuk semua mikroservice yang ditemukan secara otomatis. Dasbor ini berisi detail metadata layanan, linimasa pemberitahuan, status tujuan tingkat layanan (SLO), dan log yang terkait dengan layanan. Setiap komponen ini dijelaskan secara lebih mendetail di Menggunakan dasbor microservice.

Dasbor layanan untuk microservice yang ditemukan secara otomatis.

GKE, Cloud Run, dan layanan kustom

Cloud Monitoring dapat mengidentifikasi layanan potensial atau kandidat untuk jenis berikut:

  • Namespace GKE
  • Layanan GKE
  • Workload GKE
  • Layanan Cloud Run

Namun, mungkin ada banyak kandidat seperti itu, dan Anda tidak perlu membuat SLO pada semuanya. Monitoring membuat daftar layanan kandidat, dan Anda mengidentifikasi layanan yang ingin diperlakukan sebagai layanan Monitoring dengan memilihnya dari daftar. Monitoring kemudian membuat infrastruktur layanan untuk Anda.

Jika tidak ada jenis layanan yang sesuai dengan aplikasi yang SLO-nya ingin Anda buat, Anda dapat menentukan layanan kustom.

Untuk mengetahui informasi selengkapnya tentang cara mengidentifikasi layanan kandidat dan membuat layanan kustom, lihat Menentukan microservice.