Nah pada kali ini gue mau jelasin sedikit nih kenapa kita harus pake Microservices di Production aplikasi kita, apalagi jika kamu berencana membuat startup skala besar.
Jadi microservices adalah potongan-potongan kecil dari bagian service yang difokuskan terhadap satu modul.

Itu bahasa gue, nah sekarang bahasa teoritis.

Dikutip dari WhatIs.com

Microservices is an approach to application development in which a large application is built as a suite of modular services. Each module supports a specific business goal and uses a simple, well-defined interface to communicate with other sets of services.

Kaga ngarti kan? ngaku aja luh, yaudah gua translet pake bahasa Indonesia ala gue.

Microservices adalah pendekatan pengembangan aplikasi dalam skala besar yang dibangun sebagai rangkaian dari modul layanan. Setiap modul mendukung tujuan bisnis yang spesifik dan digunakan secara mudah, yang dibangun dengan tampilan yang baik untuk berkomunikasi dengan set layanan yang lain.

Contohnya kalo ditumpuk dalam satu RESTful API

Contohnya ada di gambar ini kalo pake teknik Microservices

Kalau kita perhatikan gambar diatas, tentunya kalian paham dong kalo microservices diatas akan memecah microservices produk, transaksi, pegawai, gaji pegawai.

Pertanyaannya, KENAPA HARUS KAYA GITU ? KAN RIBET MECAH-MECAH.

When you’re newbietol (baca newbie tolol), you’ll ask somes question like that, ya saya juga dulunya tolol dan bertanya pertanyaan yang sama, namun ilmu itu seiring menjawab pertanyaan saya.

Logikanya seperti ini, saya mengutip perkataan salah satu dosen saya di CCIT — Fakultas Teknik Universitas Indonesia (Pak Dudy Fathan Ali). Beliau berkata, kualitas request PHP Kosongan (PHP Native yang tidak dibuat framework dan tidak dioptimalisasi) adalah sekitar 200–300 requests/second. Kualitas request Laravel Kosongan, 600–800 requests/second. Sedangkan kualitas request Lumen kosongan disebut sampai 1900 requests/second.

LOH MASALAHNYA DIMANA?

Misalnya seperti ini, dari gambar diatas, jika aplikasi minimarket tersebut adalah aplikasi android, dan dibuat dalam satu modul yang sama (tidak menggunakan microservices). Jika satu user melakukan request (anggap saja login), itu sudah termasuk 1 request. Bayangkan jika facebook tidak membuat microservices, dalam detik ini saja saat kamu membaca tulisan ini, mungkin facebook sudah melayani requests berbagai hal seperti membuka profil seseorang, mengadd teman, mengubah setting, menambah foto, mengupdate status, DIDALAM DETIK YANG SAMA (MUNGKIN GAK SIH? YA PASTI MUNGKIN LAH !). Bayangkan saja user Facebook berapa banyak? kita anggap dalam detik ini, facebook mendapat 5.000.000 requests/second. Apa jadinya jika ia tidak memecah menggunakan microservices? tentunya server akan meledak bro! Meledak dalam arti ini adalah kepenuhan request dan bakalan down API nya. Bukan boom, or something like that.

Masih engga ngerti? ibarat gini, kamu beli bakso, yang layanin cuma satu, tapi disaat itu juga ada 25 orang yang beli, bayangkan kalo tuh yang jualan cuma satu, seberapa cepet dia nanganin semuanya dari nganterin mangkok, belom ada yang bayar, belom dengerin ada yang pesen, belom ada ibu-ibu bawel ngomong gini “JANGAN PAKE DAUN BAWANG YA MAS, AWAS LUH !” *typical emak emak.

Tapi jika itu yang jualan bakso satu orang, namun dibantu 5 orang lainnya mulai dari mengambil mangkok, minuman, bantu menyajikan, bantu layanin tuh baso, bantu ngitung duit. Semua akan jadi lebih cepat kan? bayangkan kamu ngantre berapa lama kalo yang jualan cuma satu?

Okeh paham dong pengertian microservices dan kenapa sih harus dibuat Microservices?

Kalau kamu Backend Developer, engga ada alasan lagi untuk engga ngebuat Microservices, tujuannya ya untuk memperingan API lo, biar gak down, kalo ngedown nanti gak bisa diakses lagi (server juga butuh istirahat cuy).

AYO BELAJARRRRRR !