[Python] Multitenancy and Python Was: (Franx) Zappa

enrico franchi enrico.franchi a gmail.com
Mar 1 Mar 2016 20:41:17 CET


2016-03-01 9:04 GMT-08:00 Carlos Catucci <carlos.catucci a gmail.com>:

>
> Giusto apporofitto dell'occasione per chiedere un parere.
> Stiamo realizzando un vecchio progetto, un prodotto da far provare online
> ai potenziali clienti per qualche mese, e se poi interessa loro lo
> acquistano.
>

Ok.

Per farlo provare non posso fare una VM apposta per ciascuno. Non potrei
> neppure automatizzare la creazione on-the-fly dell VM e non e' pensabile un
> processo del tipo "invia una richiesa e ti ricontattiamo noi".
> Resta la multitenancy.
>

Non sono d'accordo. Mi sembra che hai stabilito arbitrariamente che una
soluzione non e' applicabile e quindi hai ristretto lo spazio a quello che
resta.

Per esempio,  "non posso fare una VM per ciascuno". Perche'? Sono 5 vm.
Pescale piccole, costano poco. Davvero. Puoi anche tenerle sempre su... non
succede nulla (again, prendile piccole... se prendi delle bestie da soma
allora beh... no, non costa poco).

"Non potrei automatizzare la creazione"... perche'? Cioe'... non devi
nemmeno automatizzare un gran che'. Hai tipicamente dei tool a linea di
comando che puoi usare per creare vm come ti pare. "Automatizzare" puo'
volere dire avere uno script di 10 linee che raggruppa i parametri, mica
niente di piu' complicato.

Io ho l'impressione che tu non abbia mai guardato nulla di cloud based e
quindi stai assumendo che sia complicato. Non lo e'. E' il motivo per cui
la gente lo usa.

Guardati un minimo i tipi di offerta. Ci sono quelli che ti danno la
macchina e poi ci fai quello che ti pare. Ci sono anche quelli che ti danno
un'infrastruttura di piu' alto livello che tende piu' a ragionare in
termini di applicazioni. Again... evito nomi, ma sono sicuro che altri
possono riempire la lacuna.

Ora io mi chiedo: fino a che punto posso pensare di fare una cosa simile
> con Django/PSQL?
>

Fino al punto che ti serve. Ma il problema e' che e' infinitamente piu'
complicato. Tipo vuoi andare sul cloud? Se vuoi PG non te lo devi manco
smanacciare: lo hai come servizio (o se non vuoi usare PG puoi avere altri
tipi di db non relazionali o relazionali o quello che ti pare).
L'applicazione? Poche vm, o addirittura usi qualcuno che ti da
l'automazione per ragionare in termini di Django e non di macchina.


> Attenzione, che non e' che sia roba HA o comunque con picchi criici; anche
> le basi dati saranno relativamente piccole (un tenant probabilmente non
> gestira' piu' di qualche migliaio di record).
>

Si si... ma ribadisco, cloud vuole dire che hai poche esigenze e paghi
poco. E ti sbatti anche poco.

Aggiungo... capisco non mettere su un sistema HA per questo (anche se...
ribadisco, scrivendo le cose a modo non e' complicato, scrivendole male
vuole dire semplicemente doverle *riscriverle*).

E personalmente se io fossi un tuo cliente e per sfiga il tuo sistema va
giu' mentre lo sto facendo vedere al mio capo o ci sto giocando per
prendere decisioni, la decisione potrebbe cambiare molto.


> Le request fatte dai tenant non saranno a raffica, impostano una serie di
> parametri, fanno la request, torna loro un pacco di dati (una lista di
> articoli diciamo) che poi browsano in locale. AL massimo affinano la
> ricerca e fanno qualche altra chiamata, ma non e' roba continua e ogni
> tenant difficilmente avra' piu' di 3 o4 users, piu' facile ne abbia solo 1
> o 2.
>

ecco...questo invece sembra proprio uno usecase per Lambda o equivalenti
piuttosto che per Django a mano.




-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160301/acec9346/attachment.html>


Maggiori informazioni sulla lista Python