Orkestrasi layanan mikro adalah koordinasi otomatis dari layanan mikro terdistribusi yang bekerja bersama sebagai sistem aplikasi kohesif. Ini menangani interaksi layanan, manajemen dependensi, toleransi kesalahan, pemulihan kegagalan, dan penerapan end-to-end.
Bayangkan seorang konduktor dalam orkestra simfoni yang mengarahkan setiap musisi untuk bermain pada waktu yang tepat. Demikian pula, orkestrasi dapat memastikan bahwa setiap layanan mikro melakukan fungsi spesifiknya saat diperlukan untuk memberikan pengalaman pengguna yang mulus. Tanpa koordinasi ini, akan ada kekacauan—layanan yang saling memanggil secara acak, alur kerja terputus ketika komponen gagal, dan tidak ada visibilitas tentang apa yang terjadi di seluruh infrastruktur TI yang beragam.
Organisasi membutuhkan orkestrasi karena aplikasi modern sangat kompleks dan terdiri dari ratusan layanan individual. Orkestrasi layanan mikro bertindak sebagai sistem yang mengubah layanan independen ini menjadi aplikasi yang terkoordinasi dengan baik sambil mempertahankan manfaat skalabilitas dan fleksibilitas dari arsitektur terdistribusi.
Menurut laporan dari Research Nester, pasar orkestrasi layanan mikro bernilai USD 4,7 miliar pada tahun 2024 dan diperkirakan akan mencapai USD 72,3 miliar pada tahun 2032. Penelitian ini menunjukkan tingkat pertumbuhan tahunan majemuk (CAGR) 23,4% selama periode perkiraan.1
Mendorong ekspansi pasar yang stabil adalah pertumbuhan aplikasi di perusahaan teknologi global seperti Google dan Amazon, seiring dengan meningkatnya permintaan dari layanan e-commerce, fintec, dan streaming.
Layanan streaming utama seperti Netflix dan Hulu adalah contoh klasik penggunaan ini. Mereka mengandalkan orkestrasi untuk mengoordinasikan ratusan layanan mikro yang menangani semuanya mulai dari autentikasi pengguna dan rekomendasi konten hingga streaming video dan penagihan. Semua harus bekerja bersamaan untuk menghadirkan jutaan pengalaman menonton yang dipersonalisasi secara bersamaan.
Buletin industri
Ikuti perkembangan tren industri yang paling penting—dan menarik—di bidang AI, otomatisasi, data, dan lainnya dengan buletin Think. Lihat Pernyataan Privasi IBM.
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.
Layanan mikro adalah komponen perangkat lunak yang kecil, independen, dan mandiri yang bekerja bersama untuk membentuk aplikasi yang lengkap. Mereka memungkinkan organisasi untuk membangun, menerapkan, dan menskalakan aplikasi dengan lebih efisien.
Tidak seperti aplikasi monolitik tradisional, arsitektur layanan mikro cloud native memecah aplikasi menjadi layanan yang lebih kecil dan terfokus yang menangani fungsi bisnis tertentu. Setiap layanan mikro berjalan secara independen, berkomunikasi melalui antarmuka pemrograman aplikasi (API), dan dapat dikembangkan, menerapkan, dan diskalakan secara terpisah.
Mari kita ambil, misalnya, aplikasi perjalanan seperti Uber atau Lyft. Saat aplikasi memproses permintaan perjalanan, orkestrator memanggil layanan lokasi untuk menemukan driver, memulai algoritma pencocokan, dan menghitung harga. Orkestrator juga mengirimkan pemberitahuan kepada penumpang dan pengemudi dalam urutan yang terkoordinasi.
Pendekatan ini memungkinkan organisasi untuk membangun sistem yang lebih fleksibel dan dapat diskalakan yang dapat beradaptasi dengan cepat terhadap perubahan kebutuhan bisnis. Perusahaan teknologi seperti Netflix, Amazon dan Uber memelopori layanan mikro untuk menangani pengembangan perangkat lunak yang cepat dan berskala besar. Menurut survei IBM tahun 2021, 85% organisasi telah mengadopsi atau berencana untuk mengadopsi arsitektur layanan mikro, menyoroti signifikansinya yang semakin meningkat.
Kerangka kerja orkestrasi layanan mikro menggunakan sistem manajemen alur kerja terpusat yang mendistribusikan proses bisnis melalui panggilan layanan sinkron. Orkestrator memelihara definisi alur kerja, memahami dependensi layanan, dan dapat memastikan bahwa layanan mikro berjalan dalam urutan yang benar.
Sebagai contoh, ketika perusahaan e-commerce seperti Amazon memproses pesanan pelanggan, orkestrator memanggil layanan inventaris untuk memeriksa ketersediaan, memulai proses pembayaran, mengatur pengiriman, dan mengirimkan pemberitahuan kepada pelanggan. Orkestrator melakukan semua tugas ini dalam urutan terkoordinasi.
Koordinasi ini bergantung pada teknologi utama seperti Docker untuk aplikasi kontainer dan platform orkestrasi kontainer seperti Kubernetes untuk mengelola penerapan kontainer, penskalaan, dan penemuan layanan. Alat-alat ini memungkinkan layanan untuk berkomunikasi secara dinamis sambil mengoptimalkan alokasi sumber daya di seluruh infrastruktur. Orkestrator terus memantau setiap langkah dalam alur proses, sehingga ketika masalah muncul, orkestrator dapat secara otomatis mencoba kembali operasi yang gagal, mengembalikan perubahan bermasalah atau memperingatkan administrator untuk menjaga keandalan sistem.
Orkestrasi layanan mikro mencakup manfaat utama berikut:
Orkestrasi yang sukses bergantung pada pola desain layanan mikro yang teruji yang mengatasi tantangan sistem terdistribusi umum. Berikut adalah beberapa contoh yang paling penting:
Pola saga mengelola transaksi terdistribusi dengan memecahnya menjadi langkah-langkah yang dapat dibalik. Jika ada langkah yang gagal, saga menjalankan tindakan kompensasi untuk membatalkan operasi sebelumnya dan menjaga konsistensi data di seluruh layanan.
Sebagai contoh, di situs e-commerce, jika pembayaran gagal selama pembayaran, saga akan membatalkan penahanan inventaris dan mengembalikan keranjang belanja.
Pemutus sirkuit mencegah kegagalan bertingkat dengan memantau panggilan ke layanan hilir dan menghentikan permintaan ketika kegagalan terdeteksi.
Misalnya, ketika layanan rekomendasi produk mulai gagal, pemutus arus secara otomatis memblokir permintaan ke layanan tersebut dan menampilkan rekomendasi yang sudah di-cache sebelumnya.
Pola coba lagi dan habis waktu secara otomatis menangani kegagalan layanan sementara dengan menunggu dan mencoba lagi permintaan yang gagal dengan pengaturan waktu yang cerdas.
Misalnya, jika layanan pembayaran sementara tidak tersedia, sistem menunggu dan mencoba lagi.
Saat membangun sistem terdistribusi, tim DevOps dan pengembang harus memutuskan apakah layanan harus dikoordinasikan secara terpusat atau berkoordinasi sendiri. Keputusan ini membentuk bagaimana layanan mikro berkomunikasi, bagaimana tim mengelola kompleksitas dan bagaimana sistem berskala dari waktu ke waktu.
Tim memilih orkestrasi ketika mereka membutuhkan kontrol alur kerja yang eksplisit, tata kelola terpusat, dan konsistensi data yang ketat. Hal ini sangat berharga di bidang keuangan, perawatan kesehatan, dan logistik ketika kepatuhan terhadap peraturan dan kemampuan audit dianggap sangat penting.
Tim memilih koreografi ketika skalabilitas, ketahanan, dan otonomi layanan menjadi prioritas. Ini bekerja dengan baik untuk arsitektur berbasis peristiwa, sistem real-time dan pemrosesan volume tinggi (misalnya, platform konten dan sistem Internet of Things (IoT)).
Sebagian besar arsitektur layanan mikro yang sukses mengambil pendekatan hybrid. Pendekatan ini dapat berarti orkestrasi untuk alur kerja bisnis penting yang membutuhkan kontrol ketat dan koreografi untuk interaksi yang longgar yang mendapat manfaat dari pemrosesan independen.
Orkestrasi modern bergantung pada beberapa categories alat yang bekerja sama untuk mengelola siklus hidup layanan mikro—dari kategori penerapan dan penskalaan hingga komunikasi dan pemantauan. Setiap kategori yang disajikan selanjutnya memainkan peran khusus dalam memungkinkan orkestrasi layanan mikro yang efektif:
Platform orkestrasi kontainer mengotomatiskan penerapan, penskalaan, dan pengelolaan aplikasi kontainer. Mereka menyediakan lapisan dasar untuk orkestrasi layanan mikro dengan menangani penemuan layanan, penyeimbangan beban, penskalaan otomatis, dan penerapan bergilir.
Penyedia cloud utama menawarkan layanan orkestrasi terkelola, termasuk Amazon ECS dan EKS AWS, Google GKE, Microsoft AKS, dan IBM Cloud Kubernetes Service.
Mesh layanan menangani komunikasi antar-layanan, keamanan, dan observabilitas tanpa memerlukan perubahan pada kode aplikasi. Mereka menawarkan penyeimbangan beban otomatis, pemutusan sirkuit, batas waktu, dan telemetri komprehensif tentang interaksi layanan mikro.
Istio—Layanan sumber terbuka yang dapat dikonfigurasi, mesh layanan yang dapat dikonfigurasi—lapisan secara transparan ke aplikasi yang ada dengan kemampuan manajemen lalu lintas dan penegakan kebijakan yang canggih. Ini bekerja dengan baik dengan Kubernetes dan banyak teknologi lain yang serupa dengan mesh layanan.
Linkerd, yang juga berbasis sumber terbuka, berfokus pada kesederhanaan dan kinerja, menawarkan fitur mesh layanan penting dengan overhead operasional minimal.
Platform nirserver memungkinkan layanan mikro berbasis peristiwa yang berskala secara otomatis berdasarkan permintaan. Mereka menyediakan penskalaan otomatis dari nol hingga ribuan instance dan manajemen lalu lintas bawaan untuk penerapan yang aman.
Knative berjalan di atas Kubernetes untuk menyediakan kemampuan nirserver untuk beban kerja yang terkontainerisasi, memungkinkan penskalaan otomatis dan penerapan.
API Gateway menyediakan titik masuk terpadu untuk layanan mikro, penanganan otentikasi, pembatasan kecepatan, transformasi permintaan, dan pencatatan komprehensif. Ini sangat penting untuk mengatur interaksi antara klien eksternal dan layanan internal.
Tersedia banyak solusi API gateway, mulai dari opsi sumber terbuka seperti Kong hingga layanan yang dikelola cloud dari penyedia utama.
Alat penemuan layanan memungkinkan layanan mikro menemukan dan berkomunikasi satu sama lain secara dinamis, menghilangkan dependensi yang di-hardcode. Mereka menangani pendaftaran layanan, pemeriksaan kesehatan, dan koordinasi penyeimbangan beban.
Solusi populer termasuk etcd untuk lingkungan Kubernetes dan opsi cloud-native seperti Cloud Map Amazon Web Services (AWS).
Mesin alur kerja dan orkestrasi mengoordinasikan proses multi-langkah yang kompleks di beberapa layanan mikro dari waktu ke waktu. Platform ini menyediakan definisi alur kerja visual, penanganan kesalahan otomatis, dan logika coba lagi bawaan untuk mengelola proses bisnis terdistribusi.
Netflix Conductor menangani orkestrasi alur kerja yang dirancang khusus untuk lingkungan layanan mikro. Camunda Zeebe menyediakan orkestrasi proses kelas perusahaan dengan menggunakan Business Process Model and Notation (BPMN) untuk definisi alur kerja visual dan manajemen proses yang komprehensif.
Red Hat OpenShift on IBM Cloud adalah OpenShift Container Platform (OCP) yang dikelola sepenuhnya.
Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.
Dapatkan kemampuan baru dan dorong ketangkasan bisnis dengan layanan konsultasi cloud IBM. Temukan cara berkolaborasi dalam menciptakan solusi, mempercepat transformasi digital, dan mengoptimalkan kinerja melalui strategi hybrid cloud dan kemitraan pakar.
1. Microservices Global Market Size and Share, Research Nester, 2024