Disadvantages of microservices
Last Update:

2024-08-16 13:59:45

Ketika beralih dari sejumlah kecil basis kode monolitik ke banyak sistem dan layanan terdistribusi yang mendukung produk, kompleksitas yang tidak diinginkan muncul. Awalnya akan kesulitan untuk menambahkan kapabilitas baru dengan kecepatan dan keyakinan yang sama seperti yang telah dilakukan di masa lalu. Layanan mikro dapat menambah kompleksitas yang mengarah pada pengembangan yang tidak terkendali, atau pertumbuhan yang cepat dan tidak terkelola. Mungkin sulit untuk menentukan bagaimana berbagai komponen saling berhubungan, siapa yang memiliki komponen perangkat lunak tertentu, atau cara menghindari gangguan pada komponen yang bergantung.

Berikut kekurangan dari arsitektur microservices:

  • Pengembangan yang meluas – Layanan mikro menambah kompleksitas dibandingkan dengan arsitektur monolit, karena ada lebih banyak layanan di lebih banyak tempat yang dibuat oleh banyak tim. Jika pengembangan yang meluas tidak dikelola dengan baik, hal itu mengakibatkan kecepatan pengembangan yang lebih lambat dan kinerja operasional yang buruk.
  • Biaya infrastruktur eksponensial – Setiap layanan mikro baru dapat memiliki biaya sendiri untuk rangkaian pengujian, buku pedoman penerapan, infrastruktur hosting, alat pemantauan, dan banyak lagi.
  • Beban organisasi yang bertambah – Tim perlu menambahkan tingkat komunikasi dan kolaborasi lain untuk mengoordinasikan pembaruan dan antarmuka.
  • Tantangan debugging – Setiap layanan mikro memiliki kumpulan log sendiri, yang membuat debugging lebih rumit. Ditambah lagi, satu proses bisnis dapat berjalan di beberapa mesin, yang semakin mempersulit debugging.
  • Kurangnya standarisasi – Tanpa platform umum, dapat terjadi proliferasi bahasa, standar pencatatan, dan pemantauan.
  • Kurangnya kepemilikan yang jelas – Seiring dengan semakin banyaknya layanan yang diperkenalkan, demikian pula jumlah tim yang menjalankan layanan tersebut. Seiring waktu, menjadi sulit untuk mengetahui layanan yang tersedia yang dapat dimanfaatkan oleh tim dan siapa yang harus dihubungi untuk mendapatkan dukungan.