Tentang jala layanan

Jala layanan adalah lapisan infrastruktur dalam aplikasi Anda yang memfasilitasi komunikasi antar layanan. Jala layanan menyediakan kemampuan seperti manajemen lalu lintas, ketahanan, kebijakan, keamanan, identitas yang kuat, dan pengamatan terhadap beban kerja Anda. Aplikasi Anda dipisahkan dari kemampuan operasional ini, sementara jala layanan memindahkannya keluar dari lapisan aplikasi dan ke bawah ke lapisan infrastruktur.

Skenario

Saat menggunakan jala layanan, Anda dapat mengaktifkan skenario seperti:

  • Mengenkripsi semua lalu lintas dalam kluster: Aktifkan TLS bersama antara layanan tertentu dalam kluster. Ini dapat diperluas untuk masuk dan keluar di perimeter jaringan dan menyediakan opsi aman secara default tanpa perubahan yang diperlukan untuk kode aplikasi dan infrastruktur.

  • Peluncuran kenari dan bertahap: Tentukan kondisi untuk subset lalu lintas yang akan dirutekan ke serangkaian layanan baru di kluster. Pada pengujian rilis kenari yang berhasil, hapus perutean bersyarat dan fase secara bertahap meningkatkan % dari semua lalu lintas ke layanan baru. Akhirnya, semua lalu lintas akan diarahkan ke layanan baru.

  • Manajemen dan manipulasi lalu lintas: Buat kebijakan pada layanan yang membatasi semua lalu lintas ke versi layanan dari asal tertentu, atau kebijakan yang menerapkan strategi coba lagi ke kelas kegagalan antara layanan tertentu. Mencerminkan lalu lintas langsung ke versi layanan baru selama migrasi atau untuk men-debug masalah. Masukkan kesalahan antara layanan ke dalam lingkungan pengujian untuk menguji ketahanan.

  • Pengamatan: Dapatkan wawasan tentang bagaimana layanan Anda terhubung dan lalu lintas yang mengalir di antara mereka. Kumpulkan metrik, log, dan jejak untuk semua lalu lintas dalam kluster, termasuk ingress/egress. Tambahkan kemampuan pelacakan terdistribusi ke aplikasi.

Kriteria pemilihan

Sebelum Anda memilih jala layanan, pastikan Anda memahami kebutuhan dan penalaran Anda untuk menginstal jala layanan. Ajukan pertanyaan berikut:

  • Apakah pengontrol ingress cukup untuk kebutuhan saya?: Terkadang memiliki kemampuan seperti pengujian A/B atau pemisahan lalu lintas pada ingress sudah cukup untuk mendukung skenario yang diperlukan. Jangan buat lingkungan anda semakin kompleks jika tidak ada manfaat tambahan.

  • Dapatkah beban kerja dan lingkungan saya mentolerir overhead tambahan?: Semua komponen yang diperlukan untuk mendukung jala layanan memerlukan sumber daya seperti CPU dan memori. Semua proksi dan pemeriksaan kebijakan terkait menambahkan latensi ke lalu lintas Anda. Jika Anda memiliki beban kerja yang sangat sensitif terhadap latensi atau tidak dapat menyediakan sumber daya tambahan untuk mencakup komponen jala layanan, Anda harus mempertimbangkan kembali menggunakan jala layanan.

  • Apakah ini menambahkan kompleksitas yang tidak perlu?: Jika Anda ingin menginstal jala layanan untuk menggunakan kemampuan yang tidak penting bagi tim bisnis atau operasional, maka pertimbangkan apakah kompleksitas instalasi, pemeliharaan, dan konfigurasi yang ditambahkan sepadan.

  • Dapatkah ini diadopsi dalam pendekatan inkremental?: Beberapa jala layanan yang memberikan banyak kemampuan dapat diadopsi dalam pendekatan yang lebih inkremental. Instal hanya komponen yang Anda butuhkan supaya pasti berhasil. Jika nanti Anda menemukan bahwa lebih banyak kemampuan diperlukan, jelajahi di lain waktu. Tahan keinginan untuk menginstal semuanya sejak awal.

Langkah berikutnya

Azure Kubernetes Service (AKS) menawarkan add-on yang didukung secara resmi untuk Istio dan Open Service Mesh:

Masih banyak lagi cloud layanan yang disediakan oleh proyek sumber terbuka dan pihak ketiga yang biasa digunakan dengan AKS. Jala layanan ini tidak tercakup oleh kebijakan dukungan AKS.

Untuk detail selengkapnya tentang lanskap cloud layanan, lihat Lanskap Cloud Layanan Lapisan 5.

Untuk detail selengkapnya tentang upaya standardisasi jala layanan, lihat: