127 messaggi dal 06 giugno 2011
ciao a tutti, sono per la prima volta alle prese con azure, mi sono un po documentato e sono riuscito a far funzionare la parte server side con azure.

Adesso mi sorgono dei dubbi, sui costi, sull' utilizzo. volevo capire se ero nella giusta strada oppure ci sono strade piu semplici o economiche.

Ho creato un software (saas) gestionale (fattura,magazzino,contabilita,fattura elettornica) multi tenant ogni tenant ha un proprio db e un proprio sottodominio nel senso che se mi registro come Pippo avro un sotto dominio pippo.mywebapp.com, e cosi via....
il mio software è sviluppato asp net core (lato server) e angular 5 (lato client), come db sto utilizzando ms sql.

per adesso è ospitato su un cloud server di aruba, quindi l'infrastruttura hardware la devo gestire tutta io.

Ora sto migrando su un azure( volevo veder anche aws), ho scelto azure per adesso XD.
Come dicevo sono riuscito a far funzionare la parte server side (asp net core) su azure con la creazione dei db in base ad ogni tenant upload/downlaod di file etc...

ho creato una sottoscrizione azure gratuita con 170 euro di credito per 30 giorni. di seguito un immagine con le mie risorse che ho attivato:


https://drive.google.com/open?id=1e7Efhugjk4vTQ2RrUX-5g8gwUciiSnGM

ho creato un servizio app ( per ospitare la mi app asp net core)
un sql server (per far funzionare i database)
un database sql (adminDb) poi tutti gli altri tipo test7 sono i db creatai automaticamente in base ai tenant, inseriti in un elastic pool visto che devo gestire piu database.
e infine un account di archiviazione blob per la gestione degli upload download di file.



I miei dubbi sono i seguenti:
1)i servizi che ho attivato sono corretti per il tipo di app?
2)il servizio di archiviazione blob è corretto oppure c'è la possibilita di poter gestire i file come filesystem con cartelle 3)etc.. cosi come funziona in un normale hhd. Anche perche ho fatto un bel po di modifiche per poter sfruttare le api e gestire i blob invece di file.
4) per la parte client devo creare un altro servizio app , quindi pagare in piu , oppure posso inserire tutto nello stesso servizio app che ospita la mia app lato server (asp net core)?
5) il punto piu importante è capire i costi e le prestazioni in base al carico. ho allegato le imagine dei rispettivi costi facendo la stima con il calcolatore dei prezzi di azure:

costo sql (un po caruccio per le cose che mi danno) 62¤:

https://drive.google.com/open?id=1-UbBzp33UfFdcuwj4yAek04sI14K7ZQ5


quindi massimo posso creare 100 db, e tutti e 100 db possono raggiungere 5gb di spazio, non 5gb a db giusto?

costo app service 46¤:

https://drive.google.com/open?id=1bTuLRqMSsL9acFQfg4fyca_Quh2miTSC

1 core , 1.75 gb ram e 10gb di archiviazione per quanti utenti possono andare? a me sembrano troppo pochi e i 10 gb di archiviazione per cosa servono? in piu devo considerare che se l'app lato client non la posso inserire in questo servizio sono costretto a pagare un altro uguale,giusto?


costo account archiviaizone 18 ¤:

https://drive.google.com/open?id=1kzcTF1DgzyqlIXo9jokkJjRF4G0Pqk3g


1tb per tutti i file che carico giusto?


Per un totale di 130 ¤ volevo capire se i base alle risorse che ho utilizzato manca qualche serivzio che non ho aggiunto nella stima dei costi e con queste impostazioni quanti utenti possono utilizzare lapp per un uso medio, so che è difficle dare una stima se non si conosce il carico di lavoro dell'app ma è per capire se questa configurazione è solo una configurazione per uso test oppure no. e sopratutto quanti utenti posso utilizzare il software ad esempio 10/20 al mese.

spero che qualcuno posso chiarirmi un po le idee....
624 messaggi dal 13 novembre 2008
Contributi
ciao, per SqlServer non ho grande esperienza per configurazioni particolari su Azure, sicuramente non è economico, quindi dove ho potuto ho utilizzato le tabelle di Storage; ma ciò cambia tutto, avrai una struttura NOSql, semi strutturata e flessibile, molto veloce, ma devi ripensare completamente lo schema dello storage, il vantaggio è che costa molto meno.

Per i file puoi scegliere tra Blob, File di Azure, o dischi, trovi qualche indicazione qui
https://docs.microsoft.com/it-it/azure/storage/common/storage-decide-blobs-files-disks?toc=%2fazure%2fstorage%2ffiles%2ftoc.json
Oltre al costo dell'archiviazione, paghi lo spazio utilizzato, devi considerare il costo delle operazioni

La parte client la pubblichi nello stesso servizio app, io trovo conveniente usare VS Team Services, avere un repository GIT, creare una build (server e client) e pubblicare, in rete ci sono vari esempi
https://offering.solutions/blog/articles/2018/03/08/create-build-pipeline-for-angular-and-aspnetcore-app-with-visual-studio-team-services/

10Gb è lo spazio disco che hai a disposizione per ospitare i file della tua app, nel piano Basic; dal sito Azure è esplicitato che
'Il piano di servizio Basic è stato progettato per app con requisiti di traffico ridotti e che non richiedono funzionalità avanzate di scalabilità automatica e gestione del traffico'
alcune domande:
quanto traffico pensi avrà la tua app?
10,100,1000 utenti in contemporanea?
esegui delle operazioni che impegnano la CPU?
puoi spostare le operazioni onerose per esempio nel servizio Funzioni di Azure o in un WebJob?

considera la possibilità di eseguire test di carico, che possono aiutarti a decidere, quindi puoi aumentare le istanze, o passare al piano Standard, ma ovviamente i costi aumentano

Così a spanne manca sicuramente la stima della Larghezza di Banda, eventualmente se lo utilizzi il servizio Identità AD e un CDN se intendi usarlo per la distribuzione dei contenuti
127 messaggi dal 06 giugno 2011
grazie per le info approfondire i link, comunque io penso di iniziare con un 10 utenti(10 db) contemporanemanete, la configurazione che ho fatto per adesso supergiu? fino a quanti utenti puo gestire contemporaneamente? ovviamente poi andrà scalata ma era all'inizio per capire i costi e quanti utenti possono lavorare
624 messaggi dal 13 novembre 2008
Contributi
non conoscendo l'app è difficile fare una stima, dipende da quale consumo mettono in atto gli utenti che potrebbero essere connessi contemporaneamente e consumare parecchie risorse; stiamo comunque parlando di pochi utenti, ma se 10 utenti in contemporanea fanno un upload di una serie di immagini da 10Mb l'una di cui poi la mia app genera 5 thumb per ogni immagine....
Io farei dei test e sposterei eventuali operazioni nelle functions o jobs, in modo da spostare i picchi di carico fuori dall'app
Per i database non so che esigenze di sicurezza hai, ma potresti anche optare per una app multi-tenant con database multi-tenant in modo da risparmiare qualcosa

https://docs.microsoft.com/it-it/azure/sql-database/saas-tenancy-app-design-patterns

ciao
Modificato da teo prome il 17 maggio 2018 18.23 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.