8 modi per assicurarsi che si ha realmente bisogno microservices

0
129

Microservices — oggi la service oriented architecture du jour — sono grandi, ma non per tutti. Ci sono molte situazioni in cui si possono fare più male che bene.

designs-from-cebit-cropped-march-2016-photo-by-joe-mckendrick.jpg
Foto: Joe McKendrick

Che è la parola di Adam Drake, una tecnica di trasformazione del business di esperti, che ha recentemente pubblicato alcune parole di cautela circa microservices. Egli avverte di un aumento di costi, problemi di prestazioni, e i problemi di scalabilità.

Drake offre passaggi chiave per la valutazione di un’impresa, necessario per microservices architettura. Una volta che i primi due passaggi, egli esorta “quindi prendere in considerazione di nuovo se microservices sono la giusta direzione per l’organizzazione. Le probabilità sono, un sacco di problemi che hai avuto in precedenza semplicemente di scomparire”.

    Rimuovere l’applicazione. Questo include la garanzia che il sistema ha un buon test automatizzati e utilizza le versioni correnti di tutte le librerie, framework e linguaggi,” Drake dice.Fare uso di Api. “Il refactoring l’applicazione in moduli con chiara Api,” Drake dice. “Non consentire il bit di codice per raggiungere in moduli direttamente. L’interazione dovrebbe essere tramite l’Api ha presentato il modulo.”Separare i servizi: un modulo Separato dalla sua applicazione, ma tenerlo sullo stesso host, dice Drake. “Questo inizia a dare qualche utilità di totalmente separato microservices, ma con un numero minore di operazioni di mal di testa”, dice Drake. Ci saranno ancora problemi di comunicazioni a che fare con, ma senza l’accompagnamento sfide che arriverà una volta che i componenti separati sono in esecuzione su reti distribuite.Spostare il separato modulo di un nuovo ospite. “Ora avrete a che fare con i problemi relativi alla comunicazione in rete, ma si avrà comprato un po ‘meno di accoppiamento tra i due sistemi, il” Drake dice.Separare la capacità di archiviazione. Infine, Drake dice, “se possibile, il refactoring del sistema di archiviazione dei dati, in modo che il modulo su un altro host, ora, ha la totale responsabilità per la memorizzazione dei dati all’interno del proprio contesto.”Considerate la vostra prontezza organizzativa. Un microservices esperti di enterprise ha squadre che possono fornire risorse in un momento di preavviso, con poco o nessun aiuto esterno, Drake dice. “Se la vostra organizzazione ha solo una o poche persone nell’intera dev team, che può impostare nuovi servizi, virtuale o in caso contrario, non si è pronti per microservices.” Essere pronti a monitorare. “Se non monitorare il sistema e le prestazioni di applicazione il monolite, quindi si avrà un miserabile tempo con microservices”, dice Drake. Metriche chiave includono “a livello di sistema metriche (CPU e RAM), a livello di applicazione metriche (ad esempio la richiesta di latenza per gli endpoint, o errori per endpoint), e i criteri di misurazione (ad esempio le transazioni al secondo, o di entrate per secondo) per capire le prestazioni dei vostri sistemi.”Essere ben attrezzato per continuous integration e continuous deployment. Drake mette prospettiva: Se il monolite è privo di una buona CI/CD approccio, quindi un microservices architettura sta per essere cento volte più impegnativo, “Immaginate di avere 10 squadre e 100 servizi, che richiedono il manuale del test di integrazione e di distribuzione. Ora immaginate lo stesso lavoro manuale, ma con solo un monolite. In quanti modi si può le cose vanno male con 100 servizi? Quanti modi con un monolite?”