Kami berencana memecah monster monolitik kami menjadi arsitektur berbasis layanan mikro secara progresif. Kami memiliki 5 tim, masing-masing tim berisi 2-3 pengembang C #, setidaknya 1 pengembang basis data, dan 2 insinyur QA. Selain perubahan budaya dan paradigma yang besar dari arsitektur monolitik ke layanan mikro ada juga tantangan teknis. Saya ingin meminta kebijaksanaan dan saran kepada komunitas agar kita dapat menghindari kesalahan yang sama.
Apakah ada contoh industri yang bagus di mana layanan Microsoft berbasis .NET telah berhasil digunakan dalam sistem produksi? Apa strategi untuk yang berikut ini?
- Org : bagaimana Anda mengatur solusi / proyek .NET?
- Perencanaan pengembangan : dalam hal perencanaan pembangunan, bagaimana Anda memecah pekerjaan lintas tim? Apa strategi keseluruhan untuk memastikan kepatuhan kontrak di seluruh layanan mikro dinegosiasikan di seluruh tim?
- Load balancing / routing / gateway API : apa strategi untuk load balancing, redundansi, dan penskalaan? Apakah Anda baru saja pergi dengan arsitektur async lengkap dan menggunakan antrian untuk komunikasi microservice atau apakah Anda melakukan peer-to-peer melalui load balancer / API gateway? Dan mengapa?
- Otomatisasi uji : bagaimana Anda menangani otomasi uji. Ini bersama dengan integrasi berkesinambungan tampaknya sangat diperlukan untuk arsitektur layanan microsoft. Bagaimana Anda melakukannya?
- Penempatan : bagaimana cara Anda menyebarkan? Satu VM / microservice atau satu wadah / microservice atau yang lainnya? Bagaimana Anda menangani fakta bahwa sekarang Anda memiliki puluhan database jika tidak lebih mempertimbangkan setiap layanan mikro akan menyimpan datanya, apa yang dilakukan terhadap infrastruktur Anda dan bagaimana DBA Anda menanganinya?
- Infrastruktur : bagaimana infrastruktur Anda ditingkatkan dengan arsitektur ini. Apakah itu super cerewet dan Anda harus menyelaraskannya atau apakah jaringan menanganinya tanpa masalah? Apakah di-hosting sendiri atau di cloud?
- Pemantauan : apa strategi pemantauan Anda? Bagaimana Anda mengawasi puluhan jika tidak ratusan layanan microser? Apakah sebagian besar melalui logging dan pemantauan pusat?