Apa itu mesh layanan?

Penyusun

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Definisi jaring layanan

Jaring layanan adalah lapisan perangkat lunak dalam arsitektur aplikasi modern yang mengelola konektivitas antara layanan mikro, memungkinkan aplikasi berfungsi. Jaring layanan menyediakan banyak kemampuan penting, seperti komunikasi antara layanan, penemuan layanan, penyeimbangan beban, dan autentikasi.

Salah satu tantangan terbesar yang dihadapi pengembang aplikasi di lingkungan bisnis modern adalah skalabilitas. Seiring dengan meningkatnya jumlah pengguna aplikasi, sulit bagi para insinyur di DevOps (metodologi pengembangan perangkat lunak yang mempercepat pengiriman aplikasi melalui otomatisasi) untuk memantau kinerja layanan. Jaring layanan menyediakan fitur utama yang membantu memantau dan mengelola layanan penting seperti pencatatan, penelusuran, dan kontrol lalu lintas.

Karena aplikasi telah menjadi hal yang mendasar bagi transformasi digital, maka pentingnya jaring layanan telah meningkat. Saat ini, mereka adalah pendorong utama beberapa teknologi aplikasi tercanggih yang tersedia, termasuk aplikasi cloud native, layanan mikro, dan kontainer.

Menurut Forbes, pada tahun 2022, 70% organisasi telah menjalankan jaring layanan dan 19% sedang mengevaluasi layanan tersebut.1

Berita teknologi terbaru, didukung oleh insight dari pakar

Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan disediakan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM® kami untuk informasi lebih lanjut.

Apa yang dimaksud dengan layanan mikro?

Layanan mikro, dikenal juga sebagai arsitektur layanan mikro, adalah pendekatan arsitektur cloud native di mana aplikasi dibangun dari banyak komponen atau layanan yang lebih kecil dan independen. Pendekatan ini memungkinkan pengembang untuk memperbarui kode dengan lebih mudah dan menambah atau menghapus fitur dan fungsionalitas tanpa mempengaruhi sisa aplikasi, yang mengarah ke skalabilitas tinggi.

Jaring layanan sangat penting untuk arsitektur layanan mikro. Mereka menyediakan lapisan infrastruktur yang sangat dapat dikonfigurasi di mana semua layanan dalam aplikasi layanan mikro dapat terhubung dan bertukar informasi. Selain jaring layanan, arsitektur layanan mikro juga digunakan bersama dengan teknologi kontainer dan platform paling populer, Kubernetes.

Pengembangan Aplikasi

Bergabunglah: Pengembangan aplikasi Enterprise di cloud

Dalam video ini, Dr. Peter Haumer membahas seperti apa pengembangan aplikasi perusahaan modern saat ini di hybrid cloud dengan menunjukkan berbagai komponen dan praktiknya, termasuk IBM Z Open Editor, IBM Wazi, dan Zowe. 

Apa itu kontainer dan Kubernetes?

Teknologi yang dikenal sebagai kontainer serta salah satu platform orkestrasi kontainer paling populer, Kubernetes, kini sangat diperlukan untuk fungsionalitas jaring layanan karena memungkinkan pengembang untuk mengelola aplikasi berbasis layanan mikro yang kompleks.

Kontainer adalah unit perangkat lunak yang dapat dieksekusi yang mengemas kode aplikasi bersama dengan pustaka dan dependensinya, memungkinkannya berjalan di lingkungan komputasi apa pun. Dengan perkembangan pesat kontainer dalam arsitektur aplikasi modern, mengelola kumpulan kontainer besar dengan cepat menjadi tantangan.

Di sinilah peran Kubernetes (dikenal juga sebagai k8s atau Kube), sebuah platform orkestrasi kontainer yang menjadi salah satu solusi orkestrasi terpopuler yang tersedia di pasaran saat ini. Klaster Kubernetes, kumpulan node yang mewakili mesin fisik dan mesin virtual (VM), dikelola pada bidang kontrol.

Aspek penting lainnya dari fungsionalitas jaring layanan adalah cara akses ke layanan dalam klaster tertentu dikelola, sebuah proses yang dikenal sebagai ingress.

Bagaimana cara kerja jaring layanan?

Aplikasi paling populer saat ini menuntut agar banyak beban kerja atau tugas komputasi dan proses diterapkan sekaligus. Arsitektur layanan mikro memungkinkan pengembang untuk membangun setiap aplikasi sebagai kumpulan layanan kecil dan independen yang lebih mudah dikelola.

Namun, agar kode aplikasi berfungsi, layanan mikro perlu berkomunikasi dengan cepat dan akurat, dan di sinilah peran penting arsitektur jaring layanan. Jaring layanan dirancang dengan cara yang memberi pengembang lebih banyak kontrol atas komunikasi antara layanan dalam aplikasi.

Pada tingkat yang paling mendasar, jaring layanan mengandalkan jenis komunikasi yang dikenal sebagai komunikasi berbasis proxy untuk meningkatkan pengelolaan dan kontrol aplikasi berbasis layanan mikro. Komunikasi berbasis proxy memiliki fitur server proxy (dikenal juga sebagai proxy) yang berfungsi sebagai perantara antara layanan mikro dan jaringan organisasi, memungkinkan lalu lintas dialihkan ke dan dari layanan melalui proxy. Kemampuan ini, yang dikenal sebagai komunikasi proxy jaringan, sangat penting untuk menjaga pengelolaan, pengamatan, dan keamanan banyak aplikasi.

Selain proxy, arsitektur jaring layanan bergantung pada 2 komponen utama yang memungkinkannya berfungsi: bidang kontrol dan bidang data.

Bidang kontrol

Bidang kontrol adalah bagian dari jaringan komputer yang mengontrol bagaimana data diarahkan antara pengguna dan perangkat (dikenal juga sebagai node). Pesawat kontrol mengikuti aturan atau protokol pengarahan yang diinformasikan oleh algoritma yang menentukan rute terbaik bagi data untuk mengambil alih jaringan.

Dalam jaring layanan, bidang kontrol mencakup proxy yang dirancang khusus yang disebut proxy sidecar yang mengekstraksi fungsionalitas tertentu, seperti pemantauan dan keamanan, untuk membuatnya lebih efisien. Ketika layanan perlu berkomunikasi dengan layanan lain di jaring layanan, proxy sidecar mencegat permintaan dan membuat saluran yang aman dan terenkripsi untuk dilalui.

Bidang data

Bidang data, dikenal juga sebagai bidang penerusan, memungkinkan data untuk dikirim ke seluruh jaringan melalui perangkat seperti router dan sakelar. Bidang data menggunakan proxy sidecar untuk mengelola pesan antara layanan dan fungsionalitas penting seperti pemutusan sirkuit dan permintaan coba lagi. Bidang data juga merupakan tempat di mana kemampuan utama seperti penyeimbangan beban, penemuan layanan, dan perutean dilakukan.

Jaring layanan versus API gateway

Selain bidang data dan bidang kontrol, antarmuka protokol aplikasi (API) gateway adalah bagian penting lainnya dari arsitektur layanan mikro yang terkait erat dengan fungsionalitas jaring layanan.

API adalah protokol yang memungkinkan aplikasi perangkat lunak berkomunikasi dan bertukar data. API gateway adalah alat yang bertindak sebagai perantara antara klien API, misalnya REST API yang populer, yang membantu pengembang membangun aplikasi, dan layanan backend yang terletak di server.

API Gateway dan jaring layanan serupa karena keduanya memungkinkan pengembangan aplikasi yang lebih efisien. Namun, sementara API gateway mengontrol akses ke API, jaring layanan menghubungkan layanan mikro dalam aplikasi. Jaring layanan dan API Gateway sering diterapkan bersama untuk meningkatkan fleksibilitas dan pengamatan dalam ekosistem pengembangan aplikasi.

Manfaat jaring layanan

Jaring layanan, dan arsitektur layanan mikro yang dimungkinkan oleh jaring layanan, memberikan banyak manfaat penting bagi organisasi. Berikut adalah beberapa manfaat yang paling umum.

Observabilitas

Jaring layanan menyediakan observabilitas bawaan, pemahaman yang lebih dalam tentang kondisi sistem yang kompleks, untuk seluruh arsitektur layanan mikro. Hal ini memungkinkan pengembang untuk memantau metrik penting seperti ketergantungan, latensi, dan tingkat kesalahan yang penting untuk memahami bagaimana sebuah aplikasi berfungsi.

Observabilitas juga membantu pemecahan masalah, pengoptimalan kinerja, telemetri (perekaman perilaku sistem), dan debug dengan memberi pengembang gambaran penuh dan tidak terhalang tentang cara kerja internal ekosistem layanan mikro.

Kontrol

Agar aplikasi berfungsi dengan baik, pengembang dan administrator aplikasi perlu mengontrol bagaimana layanan berkomunikasi satu sama lain di dalam aplikasi. Jaring layanan meningkatkan kemampuan tata kelola untuk organisasi yang menerapkan arsitektur layanan mikro, misalnya, cara tim menegakkan persyaratan keamanan dan kepatuhan di sektor yang sangat diatur.

Selain itu, jaring layanan menyediakan lapisan infrastruktur khusus untuk menangani tuntutan komunikasi antara layanan dengan aplikasi terdistribusi— aplikasi yang berjalan pada lebih dari satu komputer terhubung sekaligus.

Keamanan

Jaring layanan membantu memastikan komunikasi yang aman antar layanan melalui fitur-fitur seperti enkripsi Mutual Transport Layer Security (mTLS) dan autentikasi. Autentikasi MTL membantu memastikan bahwa lalu lintas dalam aplikasi aman dan tepercaya di kedua arah antara klien dan server.

MTL juga menyediakan kerahasiaan data dengan mengenkripsi informasi yang dikirim melalui komunikasi antara layanan. Hal ini memungkinkan administrator untuk menerapkan kebijakan otorisasi seperti akses ke titik akhir tertentu, sebuah proses yang dikenal sebagai keamanan titik akhir.

Penemuan layanan

Jaring layanan memiliki kemampuan yang dikenal sebagai penemuan layanan otomatis yang membantu mengurangi beban kerja pengelolaan titik akhir layanan, lokasi di jaring layanan tempat layanan mikro tertentu dapat dijangkau layanan mikro tertentu. Registri layanan memungkinkan layanan untuk menemukan dan berkomunikasi satu sama lain secara otomatis, di mana pun mereka berada, memungkinkan pengembang untuk menerapkan layanan baru dengan cepat dan mudah.

Penyeimbangan beban

Penyeimbangan beban, distribusi lalu lintas jaringan di antara beberapa server untuk mengoptimalkan kinerja aplikasi, adalah kemampuan utama dari jaring layanan. Menggunakan algoritma, jaring layanan membantu menyeimbangkan beban kerja antara node, mengoptimalkan sumber daya komputasi, dan secara umum memastikan ketersediaan aplikasi yang tinggi.

Manajemen lalu lintas dan pembagian lalu lintas

Jaring layanan menyediakan manajemen lalu lintas tingkat lanjut dan fitur pemisahan lalu lintas untuk membantu mengoptimalkan aliran informasi dan sumber daya melalui jaringan. Sementara manajemen lalu lintas dan pemisahan lalu lintas digunakan untuk mengontrol aliran informasi pada jaringan, mereka memiliki satu perbedaan penting yang perlu diperhatikan. Manajemen lalu lintas berfokus pada perubahan jangka panjang dan sistemis pada infrastruktur untuk meningkatkan arus lalu lintas informasi, sementara pemisahan lalu lintas melibatkan distribusi lalu lintas berbasis bobot di seluruh backend atau versi layanan.

Jaring layanan memberikan kontrol halus dan sangat spesifik atas perutean dan perilaku lalu lintas, memungkinkan transisi yang lebih lancar saat aplikasi diperbarui ke versi perangkat lunak yang lebih baru. Sebagai contoh, dalam penerapan yang sangat populer, versi baru aplikasi hanya dirilis ke sekelompok kecil pengguna untuk menguji fitur dan kinerja sebelum tersedia untuk semua orang.

Memilih solusi jaring layanan yang tepat

Pasar global untuk penyedia jaring layanan sudah kuat dan berkembang pesat. Menurut survei baru-baru ini, penyedia jaring layanan bernilai USD 0,22 miliar pada tahun 2023 dan diproyeksikan tumbuh menjadi USD 5,05 miliar pada tahun 2032, tingkat pertumbuhan tahunan gabungan (CAGR) sebesar 41,3%.2

Dalam industri yang berkembang dengan kecepatan yang begitu cepat, memilih solusi jaring layanan yang tepat dapat menjadi tantangan. Beberapa faktor kunci yang perlu dipertimbangkan termasuk biaya, kemudahan implementasi, kompatibilitas dengan teknologi yang ada, keamanan, kinerja, dan dukungan.

Berikut adalah 5 solusi jaring layanan paling populer yang tersedia dan ikhtisar singkat tentang apa yang membuatnya unik.

Istio

Jaring layanan paling populer yang tersedia adalah Istio. Kumpulan fiturnya yang besar berarti sangat adaptif dan cocok untuk beban kerja tingkat perusahaan. Istio terkenal dengan kemampuan manajemen lalu lintas yang canggih, fitur keamanan, dan ekstensibilitas, yang ditingkatkan oleh ekosistem kontributornya yang besar.

Seperti beberapa penawaran jaring layanan lainnya, Istio adalah proyek sumber terbuka, yang berarti bahwa Istio dikembangkan dan dipelihara melalui kolaborasi terbuka dan tersedia bagi siapa saja untuk digunakan. Jaring layanan ini bekerja dengan baik dengan Kubernetes dan banyak teknologi lain yang berdekatan dengan jaring layanan.

Linkerd

Lebih ringan dan mudah daripada Istio, Linkerd adalah solusi jaring layanan sederhana yang meningkatkan kinerja sekaligus mempertahankan latensi rendah. Linkerd memiliki semua fungsi dasar yang diharapkan perusahaan dari jaring layanan, termasuk penyeimbangan beban, penemuan layanan, enkripsi, dan banyak lagi. Seperti Istio, Linkerd juga merupakan sumber terbuka.  

Jaring Layanan NGINX

NGINX lebih komprehensif daripada kebanyakan jaring layanan lainnya. Ini berfungsi baik sebagai server web dan proxy balik, yang berarti dapat menawarkan protokol yang lebih luas daripada jaring layanan lainnya. NGINX dirancang untuk kinerja dan stabilitas maksimum dan digunakan oleh banyak situs web dengan lalu lintas tinggi. Seperti Linkerd, Istio, dan solusi jaring layanan lainnya, ini adalah sumber terbuka.

Consul

Dibuat oleh perusahaan infrastruktur berbasis cloud yang populer, HashiCorp, Consul adalah jaring layanan multicloud yang menawarkan banyak fitur yang sama dengan jaring layanan populer lainnya. Consul adalah salah satu solusi jaring layanan paling fleksibel yang tersedia dan dapat digunakan pada banyak sistem operasi (OS) yang berbeda, termasuk Windows, Linux, macOS, FreeBSD dan Solaris. Consul juga merupakan sumber terbuka dan terkenal dengan plug-in Prometheus yang populer yang meningkatkan kemampuan pemantauan.

Jaring aplikasi AWS

Dirancang khusus untuk digunakan dengan penerapan cloud Amazon Web Services (AWS), jaring aplikasi AWS adalah jaring layanan dengan banyak fitur yang sama seperti Linkerd, Istio, dan lainnya, termasuk peningkatan keamanan, manajemen lalu lintas, dan pengamatan. Namun, AWS tidak fleksibel dan hanya dianggap cocok untuk organisasi yang sudah terintegrasi ke dalam arsitektur AWS.

Solusi terkait
IBM Enterprise Application Service for Java

Layanan penyewa tunggal yang dikelola sepenuhnya untuk mengembangkan dan menyediakan aplikasi Java.

Jelajahi Aplikasi Java
Solusi DevOps

Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.

Jelajahi solusi DevOps
Layanan Pengembangan Aplikasi Perusahaan

Pengembangan aplikasi cloud berarti membangun sekali, mengulangi dengan cepat, dan menerapkan di mana saja.

Layanan pengembangan aplikasi
Ambil langkah selanjutnya

Layanan Konsultasi Pengembangan Aplikasi IBM Cloud menawarkan panduan pakar dan solusi inovatif untuk menyederhanakan strategi cloud Anda. Bermitralah dengan para pakar cloud dan pengembangan IBM untuk memodernisasi, menskalakan, dan mempercepat aplikasi Anda, sehingga memberikan hasil yang transformatif bagi bisnis Anda.

Jelajahi layanan pengembangan aplikasi Mulai membangun dengan IBM cloud secara gratis
Catatan kaki

1 Jaring Layanan Sebagai Jembatan Menuju Modernisasi Aplikasi, Forbes, Maret 2023

2 Laporan Pasar Jaring Layanan, Business Research Insights, Oktober 2024