Arsitektur microservice (sering disingkat sebagai microservice) mengacu pada gaya arsitektur untuk mengembangkan aplikasi. Microservice memungkinkan aplikasi berukuran besar dipisahkan menjadi bagian-bagian independen yang lebih kecil, dengan setiap bagian memiliki area tanggung jawabnya sendiri. Untuk melayani satu permintaan pengguna, aplikasi berbasis microservice dapat memanggil banyak microservice internal untuk membuat responsnya.
Container adalah contoh arsitektur microservice yang sesuai, karena memungkinkan Anda berfokus pada pengembangan layanan tanpa perlu mengkhawatirkan dependensi. Komputasi serverless adalah pendekatan umum lainnya, yang memungkinkan tim menjalankan microservice tanpa mengelola server atau infrastruktur, serta secara otomatis menskalakan fungsi sebagai respons terhadap permintaan.
Pelajari cara Google Kubernetes Engine (GKE) dan Cloud Run bisa membantu Anda membuat aplikasi berbasis microservice menggunakan container.
Siap untuk memulai? Pelanggan baru mendapatkan kredit gratis senilai $300 untuk dibelanjakan di Google Cloud.
Arsitektur microservice adalah jenis arsitektur aplikasi yang mengembangkan aplikasi sebagai kumpulan layanan. Arsitektur microservice menyediakan framework untuk mengembangkan, men-deploy, dan memelihara diagram arsitektur dan layanan microservice secara independen.
Dalam arsitektur microservice, setiap microservice adalah satu layanan yang dibangun untuk mengakomodasi fitur aplikasi dan menangani tugas terpisah. Setiap microservice berkomunikasi dengan layanan lain melalui antarmuka sederhana untuk menyelesaikan masalah bisnis.
Aplikasi monolitik tradisional dibangun sebagai unit tunggal yang terpadu. Semua komponen terhubung erat sehingga dapat berbagi resource dan data. Hal ini dapat menyebabkan tantangan dalam menskalakan, men-deploy, dan memelihara aplikasi, terutama seiring dengan meningkatnya tingkat kompleksitas aplikasi. Sebaliknya, arsitektur microservice mengurai aplikasi menjadi serangkaian layanan kecil yang independen. Setiap microservice bersifat mandiri, dengan kode, data, dan dependensi tersendiri. Pendekatan ini menawarkan beberapa potensi keunggulan:
Untuk aplikasi yang belum cukup besar atau kompleks untuk menjustifikasi arsitektur microservice yang terdistribusi sepenuhnya, "monolit modular" adalah opsi yang efektif. Pendekatan ini mempertahankan unit deployment aplikasi tunggal (monolit) tetapi memisahkan codebase aplikasi secara ketat ke dalam modul internal yang sangat kohesif dan dikaitkan secara longgar berdasarkan domain bisnis. Hal ini menawarkan manfaat organisasi dari microservice (batasan yang jelas, pengembangan independen) tanpa overhead penuh dalam mengelola sistem terdistribusi.
Banyak organisasi di berbagai industri telah mengadopsi arsitektur microservice untuk mengatasi tantangan bisnis tertentu dan mendorong inovasi. Berikut adalah beberapa contohnya:
Biasanya, microservice digunakan untuk mempercepat pengembangan aplikasi. Arsitektur microservice yang dibangun menggunakan Java sudah umum, terutama yang menggunakan Spring Boot. Membandingkan microservice dengan arsitektur berorientasi layanan juga merupakan hal yang umum. Keduanya memiliki tujuan yang sama, yaitu memecah aplikasi monolitik menjadi komponen yang lebih kecil. Namun, keduanya memiliki pendekatan yang berbeda. Berikut ini beberapa contoh arsitektur microservice:
Migrasi situs
Situs kompleks yang dihosting di platform monolitik dapat dimigrasikan ke platform microservice berbasis cloud dan berbasis container.
Konten media
Dengan menggunakan arsitektur microservice, aset gambar dan video dapat disimpan dalam sistem penyimpanan objek skalabel dan ditayangkan langsung ke web atau perangkat seluler.
Transaksi dan invoice
Pemrosesan pembayaran dan pemesanan dapat dipisahkan sebagai unit layanan terpisah sehingga pembayaran terus diterima jika invoice tidak berfungsi.
Pemrosesan data
Platform microservice dapat memperluas dukungan cloud untuk layanan pemrosesan data modular yang sudah ada.
Untuk mengelola kompleksitas dan mengoptimalkan performa sistem terdistribusi, arsitek saat ini mengandalkan berbagai pola desain inti.
Mesh layanan
Arsitektur berbasis peristiwa (EDA)
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.