Re: [Python] Microservices: esperienze & feedback

2017-10-16 Per discussione Jacopo Cascioli
> 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  ha
scritto:

>
>
> > On 12 Oct 2017, at 23:31, Jacopo Cascioli 
> 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@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>


Il giorno 13 ottobre 2017 13:44, Christian Barra  ha
scritto:

>
>
> > On 12 Oct 2017, at 23:31, Jacopo Cascioli 
> 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 

Re: [Python] Microservices: esperienze & feedback

2017-10-13 Per discussione Christian Barra


> On 12 Oct 2017, at 23:31, Jacopo Cascioli  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@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Microservices: esperienze & feedback

2017-10-12 Per discussione Jacopo Cascioli
Ti interessano anche esperienze sulla difficoltà del convincere il team ad
usare microservizi? :P

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.

In questo caso, o nel caso in cui stiate partendo da qualcosa di già
esistente, il problema principale non sarà tanto strutturare i
microservizi, quanto cambiare il sistema di autenticazione per gli utenti,
a meno che non stiate già usando OAuth2 o JWT.

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).

Jacopo

Il giorno 9 ottobre 2017 20:59, Christian Barra  ha
scritto:

> Hello ML,
> sto buttando giu’ un paio di idee per un workshop ((Micro)Services with
> Asyncio and Docker) che vorrei preparare.
>
> Esperienze e feedback riguardanti l’implementazione di Microservices?
>
> Sia partendo da zero che il refactoring di applicazioni esistenti.
>
> Sia belle che brutte, quelle brutte solitamente sono più’ interessanti :p
>
> Saluti,
> ——
> Christian Barra
> Python Freelancer // Consultant // Trainer
> Board member of the EuroPython Society
> www.chrisbarra.xyz
>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] Microservices: esperienze & feedback

2017-10-09 Per discussione Christian Barra
Hello ML,
sto buttando giu’ un paio di idee per un workshop ((Micro)Services with Asyncio 
and Docker) che vorrei preparare.

Esperienze e feedback riguardanti l’implementazione di Microservices?

Sia partendo da zero che il refactoring di applicazioni esistenti.

Sia belle che brutte, quelle brutte solitamente sono più’ interessanti :p

Saluti,
——
Christian Barra
Python Freelancer // Consultant // Trainer
Board member of the EuroPython Society
www.chrisbarra.xyz

___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python