Mengapa Microservice?

Posted by     "Rio Swarawan" on Tuesday, July 2, 2024

Microservice adalah arsitektur pembuatan sistem yang memisahkan beberapa aplikasi yang saling berkomunikasi. Setelah kita membaca banyak tantangan pada microservice, ada beberapa keunggulan yang mungkin bisa menjadi solusi bagi beberapa bisnis.

Karakteristik Microservice

Apa Kelebihan Microservice ?

Beberapa keunggulan tersebut tersirat dari beberapa karakteristik yang dimiliki oleh microservice antara lain:

1. Scalability

Merupakan kemampuan sistem untuk menangani peningkatan beban kerja dengan menambah sumber daya. Dalam konteks arsitektur perangkat lunak, scalability mengacu pada kemampuan aplikasi untuk meningkatkan kapasitasnya guna memenuhi peningkatan permintaan (request). Biasanya pendekatan yang sering dilakukan adalah Horizontal Scalability, dimana kita dapat menjalankan beberapa instance aplikasi yang sama kemudian beban akan diatur oleh Load Balancer.

2. Development Cycle

Dalam konteks pengembangan aplikasi menggunakan microservice, tim kecil sangat cukup untuk pengembangan dan deployment service secara independen atau tidak bergantung pada tim lain. Sehingga memungkinkan iterasi yang lebih cepat dan berkelanjutan dengan memanfaatkan proses CI/CD yang efisien.

Selain itu, dari sisi pengelolaan source code juga lebih mudah. Karena hanya aplikasi kecil dan terpisah-pisah maka lebih mudah untuk dipelihara dan dikembangkan.

3. Reliability

Kegagalan sistem dalam mengolah permintaan adalah hal yang sering terjadi. Apa yang terjadi ketika satu aplikasi gagal beroperasi? Pada arsitektur microservice tidak akan mengganggu kinerja aplikasi lain. Sehingga sistem tidak benar-benar rusak. Misalnya pada e-commerce, apabila aplikasi Saldo sedang mengalami gangguan kita masih bisa membuka aplikasi atau web e-commerce tersebut dan dapat melakukan pembelian. Hanya saja, tidak bisa melakukan proses pengecekan saldo.

4. Variety

Setiap aplikasi yang dikembangkan bisa menggunakan bahasa pemrograman, framework, atau teknologi yang berbeda sesuai dengan kebutuhan dari layanan tersebut. Mungkin ada beberapa aplikasi yang tidak membutuhkan database kalau memang tujuan aplikasi tersebut tidak membutuhkan penyimpanan data.

5. Security

Biasanya keamanan jaringan atau server sudah diatur oleh penyedia cloud service seperti AWS, Google Cloud, Alibaba Cloud, dsb. Maka Firewall dan keamanan lain sudah pasti paten. Pada keamanan sistem biasanya perlu dibuat satu aplikasi khusus untuk mengelola hak akses dan autentikasi. Namun, tidak menutup kemungkinan juga masing-masing aplikasi memiliki mekanisme keamanan dan kontrol akses tersendiri. Sehingga meningkatkan keamanan dan terisolasi.


Kesimpulan

Untuk mengelola arsitektur microservice memang tidak bisa hanya melihat dari satu sisi. Beberapa hal harus diperhatikan, dihitung, dan direncanakan secara matang. Setelah baca artikel ini, coba pahami juga tantangan pada microservice.