[Python] Microservices: esperienze & feedback

Jacopo Cascioli jacopocascioli a gmail.com
Lun 16 Ott 2017 12:50:11 CEST


> Se posso chiedere quale/i sono stati i motivi per il rifiuto, e cosa ha
> portato poi in pochi mesi a dover rivedere la scelta?
>

Il principale motivo è la poca familiarità con la tecnologia, anche se ne
comprendono il funzionamento. Si tratta di un progetto grande, quindi prima
o poi sarebbe passato comunque ai microservizi: la questione era quando
sarebbe successo.


Per il momento, come standard, considero Token JWT generati da un
> microservice, l’unico in possesso della chiave privata per firmarli.
> La chiave pubblica viene sempre offerta da questo micro service.
> Il token dura generalmente da qualche ora ad un giorno.
>

 Va bene. A me piace calcare la mano sulla sicurezza, OAuth2 + JWT è un po'
più sicuro, ma soprattutto ti risparmi il problema di supportare client
precedenti che non usano Oauth2, semmai dovresti aggiungerlo. Nel mio caso,
so che OAuth2 verrà implementato comunque in futuro.

Altra domanda, a livello di database come l’avete risolto?
>
> Avete scelto una soluzione dogmatica, una database per ogni micro service?
> Una soluzione shared? Database dietro ad un microservice?


Nel mio caso è un po' più problematico, ma ogni microservizio dovrebbe
gestire i suoi dati o finisci per avere un problema di codice doppio. Puoi
scrivere una libreria solo per i modelli condivisi, ma poi hai un sistema
un scomodo da installare e gestire.
Ovviamente se hai un database per ogni microservizio, devi avere un sistema
di eventi con RabbitMQ o simili per non perdere performance sul servizio
che espone i dati, quindi il DB di quest'ultimo di fatto è in sola lettura
e viene modificato dagli altri quando ricevono gli eventi.

Jacopo

Il giorno 13 ottobre 2017 13:44, Christian Barra <barrachri a gmail.com> ha
scritto:

>
>
> > On 12 Oct 2017, at 23:31, Jacopo Cascioli <jacopocascioli a gmail.com>
> wrote:
> >
> > Ti interessano anche esperienze sulla difficoltà del convincere il team
> ad usare microservizi? :P
>
> Assolutamente!
>
> >
> > Posso dire che c'è grande scetticismo, soprattutto da figure di
> responsabilità all'uso di microservizi, nonostante siano indispensabili per
> qualunque progetto complesso, anche solo per alcune parti del sistema.
> > La mia brutta esperienza è averli proposti, vederli rifiutati e dopo
> pochi mesi doverli fare comunque. Se state facendo qualcosa di nuovo e
> sufficientemente grande, fatelo con la cognizione che ad un certo punto
> sarete comunque costretti ad avere microservizi.
>
> Se posso chiedere quale/i sono stati i motivi per il rifiuto, e cosa ha
> portato poi in pochi mesi a dover rivedere la scelta?
>
> >
> > L'ideale è avere un server OAuth2 che produca JWT come access token, ma
> in Python non esiste niente che lo supporti per intero. Quindi dovrete
> scegliere tra usare OAuth2 con l'introspezione (lento), JWT senza OAuth2
> (meno sicuro), scrivere il codice per supportarlo o usare altro (Auth0 o
> server OAuth2 in altri linguaggi).
>
> Per il momento, come standard, considero Token JWT generati da un
> microservice, l’unico in possesso della chiave privata per firmarli.
> La chiave pubblica viene sempre offerta da questo micro service.
> Il token dura generalmente da qualche ora ad un giorno.
>
>
> Altra domanda, a livello di database come l’avete risolto?
>
> Avete scelto una soluzione dogmatica, una database per ogni micro service?
> Una soluzione shared? Database dietro ad un microservice?
>
>
> Grazie per la risposta!
>
> ——
> Christian Barra
> Python Freelancer // Consultant // Trainer
> Board member of the EuroPython Society
> www.chrisbarra.xyz
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>


Il giorno 13 ottobre 2017 13:44, Christian Barra <barrachri a gmail.com> ha
scritto:

>
>
> > On 12 Oct 2017, at 23:31, Jacopo Cascioli <jacopocascioli a gmail.com>
> wrote:
> >
> > Ti interessano anche esperienze sulla difficoltà del convincere il team
> ad usare microservizi? :P
>
> Assolutamente!
>
> >
> > Posso dire che c'è grande scetticismo, soprattutto da figure di
> responsabilità all'uso di microservizi, nonostante siano indispensabili per
> qualunque progetto complesso, anche solo per alcune parti del sistema.
> > La mia brutta esperienza è averli proposti, vederli rifiutati e dopo
> pochi mesi doverli fare comunque. Se state facendo qualcosa di nuovo e
> sufficientemente grande, fatelo con la cognizione che ad un certo punto
> sarete comunque costretti ad avere microservizi.
>
> Se posso chiedere quale/i sono stati i motivi per il rifiuto, e cosa ha
> portato poi in pochi mesi a dover rivedere la scelta?
>
> >
> > L'ideale è avere un server OAuth2 che produca JWT come access token, ma
> in Python non esiste niente che lo supporti per intero. Quindi dovrete
> scegliere tra usare OAuth2 con l'introspezione (lento), JWT senza OAuth2
> (meno sicuro), scrivere il codice per supportarlo o usare altro (Auth0 o
> server OAuth2 in altri linguaggi).
>
> Per il momento, come standard, considero Token JWT generati da un
> microservice, l’unico in possesso della chiave privata per firmarli.
> La chiave pubblica viene sempre offerta da questo micro service.
> Il token dura generalmente da qualche ora ad un giorno.
>
>
> Altra domanda, a livello di database come l’avete risolto?
>
> Avete scelto una soluzione dogmatica, una database per ogni micro service?
> Una soluzione shared? Database dietro ad un microservice?
>
>
> Grazie per la risposta!
>
> ——
> Christian Barra
> Python Freelancer // Consultant // Trainer
> Board member of the EuroPython Society
> www.chrisbarra.xyz
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20171016/d6470409/attachment.html>


Maggiori informazioni sulla lista Python