<div dir="ltr"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">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?<br></blockquote><div> </div>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.<br><br><span class="gmail-m_404910529492435397m_5150933670346738096m_8923233556497319312gmail-im"><br></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-m_404910529492435397m_5150933670346738096m_8923233556497319312gmail-im">
</span>Per il momento, come standard, considero Token JWT generati da un
 microservice, l’unico in possesso della chiave privata per firmarli.<br>
La chiave pubblica viene sempre offerta da questo micro service.<br>
Il token dura generalmente da qualche ora ad un giorno.<br></blockquote><div><br></div><div> 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.<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Altra domanda, a livello di database come l’avete risolto?<br>
<br>
Avete scelto una soluzione dogmatica, una database per ogni micro 
service? Una soluzione shared? Database dietro ad un microservice?</blockquote><div><br></div><div>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. <br></div><div class="gmail_extra">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. <br><br></div><div class="gmail_extra">Jacopo<br></div><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 13 ottobre 2017 13:44, Christian Barra <span dir="ltr"><<a href="mailto:barrachri@gmail.com" target="_blank">barrachri@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span><br>
<br>
> On 12 Oct 2017, at 23:31, Jacopo Cascioli <<a href="mailto:jacopocascioli@gmail.com" target="_blank">jacopocascioli@gmail.com</a>> wrote:<br>
><br>
> Ti interessano anche esperienze sulla difficoltà del convincere il team ad usare microservizi? :P<br>
<br>
</span>Assolutamente!<br>
<span><br>
><br>
> 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.<br>
> 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.<br>
<br>
</span>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?<br>
<span><br>
><br>
> 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).<br>
<br>
</span>Per il momento, come standard, considero Token JWT generati da un microservice, l’unico in possesso della chiave privata per firmarli.<br>
La chiave pubblica viene sempre offerta da questo micro service.<br>
Il token dura generalmente da qualche ora ad un giorno.<br>
<br>
<br>
Altra domanda, a livello di database come l’avete risolto?<br>
<br>
Avete scelto una soluzione dogmatica, una database per ogni micro service? Una soluzione shared? Database dietro ad un microservice?<br>
<br>
<br>
Grazie per la risposta!<br>
<div class="gmail-m_404910529492435397HOEnZb"><div class="gmail-m_404910529492435397h5"><br>
——<br>
Christian Barra<br>
Python Freelancer // Consultant // Trainer<br>
Board member of the EuroPython Society<br>
<a href="http://www.chrisbarra.xyz" rel="noreferrer" target="_blank">www.chrisbarra.xyz</a><br>
______________________________<wbr>_________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailma<wbr>n/listinfo/python</a><br>
</div></div></blockquote></div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 13 ottobre 2017 13:44, Christian Barra <span dir="ltr"><<a href="mailto:barrachri@gmail.com" target="_blank">barrachri@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
> On 12 Oct 2017, at 23:31, Jacopo Cascioli <<a href="mailto:jacopocascioli@gmail.com">jacopocascioli@gmail.com</a>> wrote:<br>
><br>
> Ti interessano anche esperienze sulla difficoltà del convincere il team ad usare microservizi? :P<br>
<br>
</span>Assolutamente!<br>
<span class=""><br>
><br>
> 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.<br>
> 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.<br>
<br>
</span>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?<br>
<span class=""><br>
><br>
> 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).<br>
<br>
</span>Per il momento, come standard, considero Token JWT generati da un microservice, l’unico in possesso della chiave privata per firmarli.<br>
La chiave pubblica viene sempre offerta da questo micro service.<br>
Il token dura generalmente da qualche ora ad un giorno.<br>
<br>
<br>
Altra domanda, a livello di database come l’avete risolto?<br>
<br>
Avete scelto una soluzione dogmatica, una database per ogni micro service? Una soluzione shared? Database dietro ad un microservice?<br>
<br>
<br>
Grazie per la risposta!<br>
<div class="HOEnZb"><div class="h5"><br>
——<br>
Christian Barra<br>
Python Freelancer // Consultant // Trainer<br>
Board member of the EuroPython Society<br>
<a href="http://www.chrisbarra.xyz" rel="noreferrer" target="_blank">www.chrisbarra.xyz</a><br>
______________________________<wbr>_________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/<wbr>mailman/listinfo/python</a><br>
</div></div></blockquote></div><br></div>