Ciao Alessandro, grazie per i suggerimenti, mi saranno di molto aiuto, almeno ho le idee un po' più chiare e so da dove partire!
Se non ti serve il server-side-rendering o l'isomorfismo puoi anche servire > direttamente il frontend tramite apache o nginx. Non hai bisogno di node.js > In effetti oggi ho fatto qualche test e, facendo un po' di attenzione sulla configurazione iniziale, ho visto che è possibile (ottimo il comando "build --prod" di angular, ad esempio) Noi in azienda, per esempio, dockerizziamo tutto e pubblichiamo tramite un > load balancer (nginx) dentro kubernetes. Io, per roba personale, faccio una > cosa simile: dockerizzo, pusho su un repo privato, deployo con ansible e ho > traefik configirato per integrarsi con il daemon docker per "trovare" il > pod. > Concentrato sui vari framework e su come farli girare su web server avevo completamente dimenticato Docker!!!! Ansible l'ho usato qualche volta per il deploy e per la gestione delle repliche di postgresql, non avevo pensato di usarlo anche per "automatizzare" le operazioni di github! Kubernetes è nella lista delle robe che volevo imparare ad usare ... mi sa che è arrivato il momento! Consigli su come affrontarlo? 😁 ti consiglio di usare qualcosa tipo nodemon che restarta node nel caso muoia > Certo, pensavo di usare "Forever" [0], mi sembra buono...no? Grazie ancora per i consigli e buona giornata -beppe- [0] https://expressjs.com/it/advanced/pm.html#forever Il giorno ven 24 mag 2019 alle ore 12:06 Alessandro Pellizzari < [email protected]> ha scritto: > On 24/05/2019 09:30, Giuseppe Naponiello wrote: > > > Dopo anni di utilizzo di php ho avuto la possibilità di sviluppare una > > Progressive Web App...e mi si è aperto un mondo! > > Per interesse personale avevo già smanettato con qualche framework tipo > > angular, react e vue, ed ho iniziato a studiarmi i service worker e > workbox. > > Se non ti serve il server-side-rendering o l'isomorfismo puoi anche > servire direttamente il frontend tramite apache o nginx. Non hai bisogno > di node.js > > > Ma se volessi mettere in produzione app basate su node? > > Ho visto che fare il deploy su server remoto (apache o nginx) è > > possibile con proxy pass, e diversi tutorial consigliano di > > "demonizzare" node per renderlo sempre attivo. > > Ma nel caso di più app qual'è, secondo la vostra esperienza, il modo > > migliore per gestire il tutto? Creando un demone per ogni app che voglio > > pubblicare, questa cosa come incide sulle prestazioni di apache? > > Dipende cosa hai a disposizione. > > Noi in azienda, per esempio, dockerizziamo tutto e pubblichiamo tramite > un load balancer (nginx) dentro kubernetes. Io, per roba personale, > faccio una cosa simile: dockerizzo, pusho su un repo privato, deployo > con ansible e ho traefik configirato per integrarsi con il daemon docker > per "trovare" il pod. > > In alternativa puoi sempre lanciare node.js anche più volte (su porte > interne diverse) e puntare il reverse proxy (apache, nginx, traefik, > quello che preferisci) in base al dominio. > > In questo caso ti consiglio di usare qualcosa tipo nodemon che restarta > node nel caso muoia. Di solito muore a causa di memory leak nel codice > js o a causa di bug in qualche pacchetto npm che compila codice nativo. > > Tieni conto che di default node.js usa un solo core, quindi in base a > quello che vuoi fare potrebbe anche essere utile lanciare n istanze > (n=numero di core) e avere un load balancer davanti anche su una sola > macchina. :) > > Bye. > > -- *Giuseppe Naponiello* *A**rc-**T**eam srl* piazza Navarrino, 13 - 38023Cles (TN) C.F. e P. IVA IT-01941600221 cell. +393476846599 mail: [email protected] pec: [email protected] 101 | www.arc-team.com 110 | http://arc-team-open-research.blogspot.it/ 000 | https://independent.academia.edu/GiuseppeNaponiello

