Iklan
Disponsori
Paket SEO Kuat – $15 Tingkatkan situs web Anda, situs Taruhan dengan 500 backlink Web 2.0 dan 1.500 backlink dofollow Tingkat-2. Termasuk laporan terperinci, beberapa URL/kata kunci, dan pengiriman cepat. 0 Pesan Sekarang
SEOClerk • Layanan Backlink SEO
Teknologi

Mesh Layanan Dijelaskan: Cara Kerjanya Mengamankan dan Mengelola Komunikasi Microservice

Service mesh adalah lapisan infrastruktur yang dikhususkan untuk mengelola komunikasi antara layanan dalam aplikasi terdistribusi. Ini dapat memberikan manajemen lalu lintas yang konsisten, keamanan, keandalan, dan observabilitas tanpa memerlukan setiap tim aplikasi untuk menerapkan fitur jaringan tersebut secara terpisah.

Service mesh sangat relevan untuk lingkungan microservices, di mana aplikasi dapat memiliki puluhan atau ratusan layanan yang berkomunikasi melalui jaringan. Mereka dapat menyederhanakan beberapa masalah lintas layanan, tetapi juga menambahkan komponen operasional dan harus diadopsi ketika manfaatnya membenarkan kompleksitas tersebut.

Iklan

Apa Itu Mesh Layanan?

Service mesh mengelola komunikasi antar layanan, atau komunikasi timur-barat, di dalam lingkungan aplikasi terdistribusi. Alih-alih menempatkan setiap fitur jaringan langsung ke dalam kode aplikasi, sebuah mesh dapat menyediakan lapisan umum untuk routing, enkripsi, otentikasi, pengulangan, telemetri, dan kebijakan.

Cloud Native Computing Foundation mendeskripsikan service mesh sebagai lapisan infrastruktur untuk mengelola komunikasi antara microservices. Implementasi service mesh yang umum termasuk Istio dan Linkerd.

Bagaimana Cara Kerja Mesh Layanan

Panggilan layanan tradisional mungkin membuat satu aplikasi terhubung langsung ke layanan lain. Dengan service mesh, lalu lintas dapat melewati proxy atau mesh data plane yang menerapkan kebijakan yang telah dikonfigurasi dan mengumpulkan telemetri.

  1. Sebuah aplikasi mengirimkan permintaan ke layanan lain.
  2. Mesh data plane mencegat atau menangani lalu lintas layanan.
  3. Routing yang dikonfigurasi, keamanan, dan kebijakan keandalan diterapkan.
  4. Telemetri seperti metrik permintaan dan jejak dapat dikumpulkan.
  5. Permintaan dikirimkan ke layanan tujuan.
  6. Tanggapan mengikuti jalur pengembalian yang sesuai.

Banyak service mesh tradisional menggunakan proxy di samping setiap beban kerja. Desain yang lebih baru dapat menggunakan pendekatan data-plane alternatif. Misalnya, dokumentasi Istio saat ini mendeskripsikan mode sidecar dan ambient.

Arsitektur Mesh Layanan

Pesawat Data

Data plane menangani lalu lintas aplikasi. Dalam model sidecar tradisional, proxy berjalan di samping setiap beban kerja aplikasi dan memproses lalu lintas jaringan untuk beban kerja tersebut.

Pesawat Kontrol

Control plane mengelola konfigurasi dan mendistribusikan kebijakan atau informasi layanan ke data plane. Ini bertanggung jawab untuk mengkoordinasikan bagaimana mesh harus berperilaku.

Proksi Layanan

Proxy menyediakan lapisan pemrosesan lalu lintas antara layanan aplikasi dan dapat menegakkan kebijakan tanpa memerlukan aplikasi itu sendiri untuk menerapkan setiap fitur jaringan.

Apa yang Dilakukan Mesh Layanan?

  • Manajemen lalu lintas: Mengontrol rute antara layanan dan mendukung pembagian lalu lintas di mana implementasi menyediakannya.
  • Keamanan: Menyediakan mekanisme untuk identitas layanan, otentikasi, otorisasi, dan lalu lintas layanan-ke-layanan yang terenkripsi.
  • Observabilitas: Mengumpulkan metrik, jejak, dan informasi lalu lintas yang dapat membantu tim memahami aplikasi terdistribusi.
  • Keandalan: Menerapkan mekanisme seperti batas waktu, percobaan ulang, penyeimbangan beban, dan kemampuan pemutusan sirkuit di mana didukung.
  • Penegakan kebijakan: Menerapkan aturan komunikasi yang konsisten di seluruh layanan.

Mesh Layanan vs. API Gateway

Jaringan layanan dan gerbang API dapat bekerja bersama, tetapi mereka menyelesaikan masalah jaringan yang berbeda.

Area Jaringan Layanan Gerbang API
Lalu lintas utama Biasanya lalu lintas layanan-ke-layanan di dalam lingkungan terdistribusi Umumnya lalu lintas yang masuk atau keluar dari platform aplikasi
Fokus utama Komunikasi internal, keamanan, keandalan, observabilitas, dan kebijakan Eksposur API, pengaturan rute, otentikasi, pembatasan laju, dan manajemen API
Pengguna umum Tim Platform, DevOps, dan SRE Tim API dan aplikasi
Model penempatan Sering diintegrasikan ke dalam platform aplikasi atau kluster Biasanya diterapkan di batas aplikasi
Dapatkah mereka hidup berdampingan? Ya Ya

Untuk latar belakang tentang sisi lain dari perbedaan ini, lihat Panduan API Gateway.

Mesh Layanan vs. Kubernetes

Kubernetes menyediakan orkestrasi kontainer, termasuk penjadwalan beban kerja dan abstraksi layanan. Sebuah mesh layanan menambahkan lapisan terpisah yang fokus pada komunikasi layanan dan kebijakan terkait.

Layanan Kubernetes menyediakan titik jaringan yang stabil untuk kelompok Pods. Sebuah mesh dapat membangun di atas lingkungan tersebut untuk menyediakan kemampuan manajemen lalu lintas, keamanan, dan observabilitas tambahan.

Jika Anda baru mengenal Kubernetes, baca panduan Kubernetes kami terlebih dahulu. Anda juga dapat melihat panduan kami tentang orkestrasi kontainer untuk konteks yang lebih luas.

Keamanan Mesh Layanan

Keamanan adalah salah satu alasan utama organisasi mengevaluasi mesh layanan. Sebuah mesh dapat menetapkan identitas layanan dan menggunakan TLS mutual, atau mTLS, untuk mengautentikasi beban kerja yang berkomunikasi dan mengenkripsi lalu lintas antara mereka ketika dikonfigurasi untuk melakukan hal itu.

Kebijakan otorisasi juga dapat membatasi layanan mana yang diizinkan untuk berkomunikasi. Ini dapat mendukung pendekatan zero-trust untuk komunikasi layanan internal, tetapi model keamanan yang tepat bergantung pada implementasi dan konfigurasi.

  • Gunakan identitas beban kerja yang kuat.
  • Aktifkan komunikasi terenkripsi antar layanan jika perlu.
  • Tetapkan kebijakan otorisasi secara eksplisit.
  • Rotasi sertifikat dan kredensial melalui otomatisasi yang sesuai.
  • Pantau pelanggaran kebijakan dan komunikasi yang tidak terduga.
  • Terapkan prinsip hak minimum pada izin kontrol dan beban kerja.

Observabilitas Mesh Layanan

Aplikasi terdistribusi bisa sulit untuk dipecahkan masalahnya karena satu permintaan pengguna dapat melintasi beberapa layanan. Sebuah mesh dapat memberikan telemetry standar di seluruh jalur komunikasi tersebut.

Sinyal yang berguna termasuk laju permintaan, latensi, tingkat kesalahan, percobaan ulang, volume lalu lintas, dan informasi ketergantungan layanan. Pelacakan terdistribusi dapat membantu insinyur mengikuti permintaan di berbagai layanan.

Namun, menambahkan mesh tidak menggantikan pemantauan tingkat aplikasi. Tim masih memerlukan log aplikasi, metrik bisnis, pemeriksaan kesehatan, dan peringatan yang sesuai.

Manajemen Lalu Lintas Dengan Mesh Layanan

Mesh layanan dapat memberikan kemampuan pengaturan lalu lintas yang canggih. Tergantung pada implementasinya, tim dapat mengarahkan permintaan berdasarkan versi layanan, header, persentase, atau kondisi lainnya.

Ini dapat mendukung rilis yang terkontrol seperti penerapan canary. Sebagian kecil dari lalu lintas dapat diarahkan ke versi baru sementara tim memantau perilaku sebelum meningkatkan eksposur.

Sidecar vs. Mesh Layanan Ambient

Model sidecar tradisional menempatkan proxy di samping setiap beban kerja aplikasi. Ini memberikan batas pemrosesan lalu lintas yang jelas tetapi dapat meningkatkan jumlah proses proxy dan sumber daya yang harus dikelola.

Model ambient menggunakan arsitektur data-plane yang berbeda. Dokumentasi saat ini dari Istio menggambarkan mode ambient sebagai model di mana terowongan yang aman dipasang di setiap node, dengan proxy tambahan tersedia ketika fitur Layer 7 diperlukan.

Model yang tepat tergantung pada implementasi service mesh, fitur yang dibutuhkan, model keamanan, preferensi operasional, dan lingkungan beban kerja.

Iklan

Teknologi Mesh Layanan Populer

Istio

Istio adalah proyek yang lulus dari CNCF yang menyediakan manajemen lalu lintas, telemetri, keamanan, dan kemampuan kebijakan. Dokumentasi saat ini mendukung model penyebaran sidecar dan ambient.

Dokumentasi resmi Istio

Linkerd

Linkerd adalah proyek service mesh lain di ekosistem cloud-native. Ini fokus pada komunikasi layanan, keandalan, keamanan, dan observabilitas untuk lingkungan Kubernetes.

Situs web resmi Linkerd

Manfaat Mesh Layanan

  • Menyentralisasi kebijakan jaringan penting antar layanan.
  • Dapat memberikan enkripsi konsisten dan identitas beban kerja.
  • Meningkatkan visibilitas komunikasi layanan internal.
  • Dapat mendukung pengaturan lalu lintas yang terkontrol dan rilis.
  • Mengurangi kebutuhan untuk mengimplementasikan beberapa fitur jaringan antar layanan di setiap aplikasi.
  • Dapat memberikan tim platform kontrol standar di seluruh layanan.

Tantangan dan Pertukaran

Service mesh bukanlah infrastruktur gratis. Ini memperkenalkan komponen kontrol pesawat, komponen pesawat data atau mekanisme jaringan, konfigurasi, pemantauan, dan mode kegagalan tambahan.

Tim juga memerlukan keahlian untuk memecahkan masalah baik perilaku aplikasi maupun mesh itu sendiri. Jadi, mesh bisa jadi tidak perlu untuk aplikasi kecil dengan kompleksitas layanan antar yang terbatas.

Overhead kinerja adalah pertimbangan lain. Arsitektur berbasis proxy mengkonsumsi komputasi dan memori, sementara loncatan jaringan dapat mempengaruhi latensi. Dampak aktual tergantung pada implementasi, konfigurasi, pola lalu lintas, dan beban kerja.

Kapan Anda Harus Menggunakan Mesh Layanan?

Service mesh bisa masuk akal ketika sebuah organisasi memiliki cukup kompleksitas layanan terdistribusi untuk mendapatkan manfaat dari kontrol komunikasi terpusat. Penggerak tipikal termasuk lingkungan mikroservices besar, persyaratan keamanan internal yang kuat, pengaturan lalu lintas yang kompleks, dan kebutuhan akan telemetri tingkat layanan yang terstandarisasi.

Ini mungkin tidak perlu ketika aplikasi hanya memiliki beberapa layanan, lalu lintas internal terbatas, atau tim yang akan mendapatkan sedikit keuntungan dari lapisan operasional lain.

Cara Mengadopsi Mesh Layanan

  1. Peta ketergantungan layanan aplikasi dan pola lalu lintas.
  2. Identifikasi masalah spesifik yang harus dipecahkan oleh mesh.
  3. Pilih implementasi yang sesuai dengan platform dan model operasional.
  4. Mulailah dengan lingkungan pengembangan atau staging terbatas.
  5. Establish identity, security, and certificate-management processes.
  6. Measure latency, resource usage, reliability, and operational overhead.
  7. Introduce traffic-management policies gradually.
  8. Document how the team will operate, upgrade, and troubleshoot the mesh.

Tips Ahli

  • Adopt a service mesh to solve specific operational problems, not simply because it is a common cloud-native technology.
  • Start with observability and basic security before adding complicated routing policies.
  • Test retry and timeout behavior under failure conditions.
  • Monitor proxy resource consumption alongside application resources.
  • Keep control-plane access tightly restricted.
  • Document the relationship between gateway, mesh, Kubernetes networking, and application security policies.

Kesalahan Umum Mesh Layanan

  • Deploying a mesh without a clear business or operational requirement.
  • Assuming mTLS automatically creates a complete zero-trust security architecture.
  • Adding aggressive retries that increase traffic during failures.
  • Ignoring proxy resource consumption.
  • Creating complicated routing rules that are difficult to troubleshoot.
  • Failing to monitor the health of the mesh itself.
  • Assuming the service mesh replaces application observability and security practices.

Pertanyaan yang Sering Diajukan

Apa itu service mesh dalam istilah sederhana?

A service mesh is an infrastructure layer that manages communication between services in a distributed application.

Mengapa perusahaan menggunakan service mesh?

Organizations may use one to standardize service-to-service security, traffic management, reliability controls, observability, and communication policies.

Apakah service mesh diperlukan untuk Kubernetes?

No. Kubernetes can run applications without a service mesh. A mesh is an optional additional layer for service communication.

Apa perbedaan antara service mesh dan API gateway?

An API gateway commonly manages traffic at an application boundary, while a service mesh primarily manages communication between services inside a distributed environment.

Apakah service mesh meningkatkan keamanan?

It can provide mechanisms such as service identity, mTLS, encryption, and authorization policies. Security still depends on correct configuration and broader application controls.

Apa itu mTLS dalam service mesh?

Mutual TLS is a form of TLS authentication in which both communicating parties authenticate each other. A service mesh can automate aspects of mTLS for service-to-service traffic.

Apa itu sidecar dalam service mesh?

A sidecar is a proxy deployed alongside an application workload. In traditional service mesh designs, the proxy handles traffic on behalf of the application.

Apakah service mesh sulit dioperasikan?

They can add operational complexity. Teams should evaluate whether their service count, security requirements, traffic patterns, and observability needs justify the additional infrastructure.

Kesimpulan

Service mesh provides a dedicated layer for managing communication between services in distributed applications. It can standardize traffic management, security, reliability, and observability across microservices while reducing the need to implement every networking concern independently.

At the same time, a service mesh introduces additional components, policies, resource requirements, and operational responsibilities. The right approach is to adopt it when those capabilities address concrete problems in the application environment.

Continue the SignalMediaMKG technology series: the next topic is Infrastructure as Code, which explains how teams define and manage infrastructure through version-controlled configuration.