Pendahuluan
Microservices bukanlah hanya terkait teknologi/arsitektur baru, tetapi pendekatan dan budaya baru dalam membuat sebuah produk aplikasi di era digital disruption.
Microservice menjadi hype sejak beberapa tahun belakangan ini.
Hampir semua perusaan rintisan (startup) menjadikan microservices sebagai standar arsitektur aplikasi mereka. Dan perusahaan yang sudah mapan pun kemudian banyak yang mengubah aplikasi mereka ke arsitektur microservices.
Apa sebenarnya microservice ini ?
Microservices adalah komponen kecil aplikasi yang mandiri yang bisa dipanggil fungsinya. Dari dulu praktek membuat komponen kecil ini sudah diterapkan oleh programmer profesional. Apalagi programmer profesional dengan skala aplikasi yang besar dan kompleks.
Lalu kenapa sekarang menjadi terkenal ?
Era sekarang adalah era digital disruption . Atau kalau di-Indonesiakan adalah gangguan digital.
Banyak sekali produk-produk berbasis digital yang diperkenalkan ke umum oleh perusahaan rintisan, dan produk ini banyak yang menarik masyarakat luas.
Misalkan Goj**, Gr*b, O*O, dan produk-produk lainnya. Mereka berhasil menarik minat masyarakat karena inovasi dan pembaruan fasilitas yang ditawarkan.
Dan tentu saja itu bagus bagi pengguna yang dimanjakan.
Tetapi hal ini juga menuntut inovasi terus menerus dari perusahaan rintisan tersebut. Inovasi ini membutuhkan kelincahan dan kecepatan perusahaan dalam memberikan fitur-fitur baru kepada masyarakat
Agar tidak kalah bersaing dengan perusahaan rintisan lain atau perusahaan lama yang sadar kalau bisnisnya sudah mulai terganggu.
Karena kalau tidak, maka akan keduluan oleh pesaing lain yang lebih cepat.
Hal inilah yang membuat beberapa istilah dan metode menjadi terkenal di dunia IT semenjak itu, seperti Agile, Microservices, Organisasi Flat Hierarchy, Most Viable Product (MVP) dll.
Semuanya mengacu kepada metoda baru yang diusahakan untuk bisa beradaptasi dengan kebutuhan bisnis era sekarang yang cepat, segera, dan lincah.
Lalu peran microservice apa ?
Microservice menjadi salah satu alat yang ada didalamnya. Membantu beradaptasi terhadap kelincahan dan kecepatan yang diperlukan dalam era digital disruption ini.
Apakah microservice akan membuat sebuah produk menjadi lincah dan dideploy dengan cepat ?
Bisa jadi, karena sifat microservice yang kecil, terpisah, mandiri, dan scalable. Sebuah microservice adalah sebuah komponen kecil, cukup kecil untuk satu kebutuhan bisnis, cukup mudah untuk diganti, diperbarui atau dibuang tanpa mengganggu operasional aplikasi.
Mengganti, memperbarui, dan membuang microservice secara cepat adalah fitur yang cocok bagi perusahaan rintisan tadi. Karena kalau fitur A di microservices microA saja yang berubah, maka fitur lain tidak perlu diganggu dan diotak-atik lagi.
Cuma itu sajakah ?
Ada lagi, hal ini akan memudahkan dalam koordinasi team.
Kembali kepada konsep cepat dan lincah tadi.
Dengan microservice yang kecil, terpisah, dan mandiri tersebut, maka tiap microservice bisa ditugaskan kepada tim yang berbeda.
Team yang berbeda bisa bekerja secara paralel dan tidak perlu khawatir kalau kerjaannya akan berakibat pada tim yang lain.
Lalu apakah dengan menerapkan microservices, semua akan jadi lebih mudah ?
Bisa saja tidak, ada harga yang harus dibayar untuk itu, dikarenakan banyaknya microservice yang dibuat.
Banyaknya jumlah microservice berarti harus ada alat/tools untuk mengawasi semuanya, mana yang hidup, mana yang mati, atau mana yang nge-hang.
Harus ada juga cara yang disepakati untuk berkomunikasi antar microservices tersebut,
Harus bisa untuk auto recover kalau ada kesalahan sistem di sebuah microservice, begitu juga harus ada mekanisme handling failure.
Membuat produk dengan pendekatan microservice tidaklah semudah itu Ferguso !
– Tom & Jerry