Stiamo pensando di rompere progressivamente i nostri monolitici mostri in architettura basata su microservizi. Abbiamo 5 team, ogni team con 2-3 sviluppatori di C #, almeno 1 sviluppatore di database e 2 tecnici di controllo qualità. Oltre all'enorme cultura e al cambio di paradigma che passa dall'architettura monolitica ai microservizi, ci sono anche le sfide tecniche. Vorrei chiedere alla comunità qualche consiglio e saggezza in modo da evitare di commettere gli stessi errori.
Esistono validi esempi di settore in cui i microservizi basati su .NET sono stati utilizzati con successo in un sistema di produzione? Qual è stata la strategia per quanto segue?
- Org : come hai organizzato le soluzioni / i progetti .NET?
- Sviluppo pianificazione: in termini di pianificazione dello sviluppo, come hai suddiviso il lavoro tra i team? Qual è stata la strategia complessiva per garantire che la conformità contrattuale tra i microservizi sia stata negoziata tra i vari team?
- Bilanciamento carico / routing / gateway API : qual è stata la strategia per il bilanciamento del carico, la ridondanza e il ridimensionamento? Hai appena seguito un'architettura asincrona completa e hai utilizzato una coda per le comunicazioni con microservizi o hai eseguito il peer-to-peer attraverso un gateway di bilanciamento del carico / API? E perché?
- Automazione del test : come hai gestito l'automazione del test. Questo insieme a un'integrazione continua sembra assolutamente necessario per l'architettura dei microservizi. Come ci sei riuscito?
- Distribuzione : come stai distribuendo? Una VM / microservice o un container / microservice o qualcosa del tutto altrimenti? Come hai gestito il fatto che ora hai decine di database se non di più considerando che ogni microservizio avrebbe il suo archivio dati, che cosa ha fatto alla tua infrastruttura e come sono stati gestiti dai tuoi amministratori di database?
- Infrastruttura : in che modo la tua infrastruttura è stata adattata a questa architettura. E 'stato super loquace e dovevi sintonizzarlo o la rete l'ha gestita senza problemi? Sono auto-ospitati o nel cloud?
- Monitoraggio : qual è la tua strategia di monitoraggio? Come stai tenendo d'occhio decine o addirittura centinaia di microservizi? È principalmente attraverso la registrazione e il monitoraggio centrale?