Saya telah meneliti arsitektur layanan mikro yang mencoba mendapatkan gambaran tingkat tinggi dari semua pro dan kontra, kapan dan mengapa, dll. Banyak informasi yang saya baca / tonton berasal dari ThoughtWorks (Martin Fowler, Neal Ford, et Al).
Sebagian besar karya Martin Fowler mengenai hal ini berusia beberapa tahun, ketika Microservices (sebagai nama rumah tangga dalam pemrograman, jika tidak dalam praktik umum) masih muda, jadi saya mengambil banyak dari itu dengan sebutir garam.
Satu hal khusus adalah ini:
Ketika saya mendengar cerita tentang tim yang menggunakan arsitektur layanan mikro, saya telah memperhatikan pola umum.
- Hampir semua kisah microservice yang sukses telah dimulai dengan sebuah monolith yang terlalu besar dan hancur
- Hampir semua kasus di mana saya pernah mendengar tentang sistem yang dibangun sebagai sistem microservice dari awal, itu berakhir dengan masalah serius.
Pola ini telah membuat banyak kolega saya berpendapat bahwa Anda seharusnya tidak memulai proyek baru dengan layanan mikro, bahkan jika Anda yakin aplikasi Anda akan cukup besar untuk membuatnya berharga. .
(ref: https://martinfowler.com/bliki/MonolithFirst.html - beri penekanan pada mereka)
Sekarang, 3 tahun kemudian dan dengan layanan microser istilah yang lebih umum, apakah secara umum disetujui bahwa sistem baru biasanya lebih baik dilayani dengan memiliki potongan layanan yang lebih besar (-dari-layanan-mikro-tetapi-lebih kecil dari-monolith) untuk memulai, dan membuat mereka lebih terperinci sebagai bagian dari ukuran evolusi?
Atau, adakah norma untuk memulai proyek dari awal dengan arsitektur microservice granular, berbeda dengan pernyataan di atas?
Sepertinya pendekatan umum yang waras, tetapi penasaran dengan pemikiran masyarakat.