Penerapan Arsitektur Microservices dalam Integrasi Sistem

Oleh Ahmad Nurul Fajar

Perubahan proses bisnis yang dinamis dan cepat berdampak terhadap perubahan sistem terintegrasi eksisting yang digunakan oleh organisasi/perusahaan. Sering sekali, perubahan sistem eksisting yang terkait dengan penyesuaian kebutuhan ini memerlukan effort, waktu dan biaya dalam mengakomodirnya. Apabila arsitektur sistem eksisting tidak bisa mengakomodir perubahan tersebut secara cepat, agile dan fleksibel, berdampak kepada proses pengambilan keputusan strategis organisasi/perusahaan. Di sisi lain, Sistem Informasi Terintegrasi adalah hal yang penting bagi Organisasi/Perusahaan untuk menghasilkan informasi dan keputusan strategis Kehandalan, kecepatan, kemudahan dan fleksibilitas dalam merespon penyesuaian kebutuhan proses bisnis mesti didukung oleh arsitektur sistem terintegrasi yang handal. Service Oriented Architecture (SOA) dan Arsitektur Microservices adalah salah satu pendekatan yang dapat digunakan untuk mengintegrasikan sistem yang berbeda platform.

Organisasi/perusahaan terdiri sejumlah aktor yang terlibat dalam proses bisnis. Proses bisnis ini dapat dibuat otomatisasinya kedalam sejumlah services yang memiliki kemampuan fungsionalitas untuk menggantikan aktor (Erl, T, 2016). Services dapat digabungkan kedalam suatu wadah untuk mengotomatisasi Proses Bisnis. Sementara, para aktor memiliki ketergantungan atau relasi dengan aktor lainya dalam berinteraksi yang dalam konteks fungsional sistem dalam pertukaran data dibsebut kontrak data (Erl, T, 2016).

Meningkatnya kebutuhan integrasi sistem dalam mendukung pertukaran data yang cepat adalah hal yang mengubah integrasi menjadi bagian penting dari pengembangan sistem. Mengukur investasi dari solusi sistem terintegrasi merupakan faktor penting dalam menentukan seberapa efektif biaya aplikasi atau sistem yang sebenarnya (Erl, T, 2016). Semakin besar keuntungannya, semakin banyak manfaat bagi organisasi dari solusi sistem. Namun, semakin rendah pengembaliannya, semakin banyak biaya solusi sistem terintegrasi (Erl, T, 2016). Dari pengembangan solusi sistem ini perlu diperhitungkan lama pengerjaan, dan biaya operasional lainnya. Hal ini dapat menjadi sia-sia jika terjadi pengulangan secara fungsional dalam pengembangan sistem. Contohnya, adanya pengembangan fitur pada aplikasi A dan kemudian pada aplikasi B fitur ini dikembangkan lagi, terjadi peningkatan jumlah pembuatan fitur yang berulang dari masing-masing aplikasi. Kondisi ini terjadi karena tidak memperhatikan jangka panjang dalam pengembangan sistem.

Penerapan Arsitektur Microservices dalam konteks ini dapat mengatasi peningkatan jumlah fungsi logika yang dapat digunakan kembali, dimana services yang telah dibuat dapat digunakan pada proses bisnis yang berbeda (Erl, T, 2016). Contohnya dengan cara meningkatkan jumlah fungsi logika yang tidak spesifik hanya untuk satu aplikasi atau proses bisnis saja. Kemudian, pengurangan volume dan kuantitas fungsi logika secara keseluruhan, karena fungsi logika yang sama dapat digunakan kembali untuk mengotomatiskan banyak proses bisnis.

Dengan demikian, Arsitektur Microsrevices dapat mewujudkan lingkungan sistem terintegrasi yang fleksibel dalam mendukung terwujudnya seamless integration (Richardson, 2019). Dalam menerapkan arsitektur microservice, pendekatan yang dapat digunakan adalah Domain-driven Design (DDD). (Wasson, 2019). Pendekatan DDD dapat membantu pengembang sistem dalam mendesain microservice sehingga setiap service memiliki kecocokan dengan kebutuhan fungsioanlitas bisnis. Tahapan DDD dimulai dengan memodelkan domain bisnis dan membuat model domain, yaitu model abstrak dari domain bisnis yang menyaring dan mengatur domain knowledge, dan menyediakan common language untuk developer dan pakar domain (Wasson, 2019).

 

Daftar Pustaka

  1. Chris Richardson, “Microservices Pattern”, 2019, Manning Publications
  2. Erl, Thomas., “Service-Oriented Architecture: Analysis and Design for Services and Microservices (2nd edition)”, 2016, Prentice Hall
  3. Wasson, M., & Schonning, N. (2019). Build microservices on Azure.