Quali configurazioni server utilizzate nei vostri progetti? Dovreste fare affidamento su Amazon Web Services per tutto? EC2, S3, RDS e Cloudfront? O è meglio utilizzare servizi separati, come Amazon solo per S3, mentre Digital Ocean per Discourse e magari Fastly come CDN?
Vorrei sapere come gestite questo forum, ma anche altre community esistenti, per capire cosa si dovrebbe fare.
Eseguire tutto su un droplet da 5$ è ottimo e sufficiente per la maggior parte delle community di hobbisti. Ci sono siti Discourse molto grandi che funzionano su una singola macchina, scalando verticalmente secondo necessità.
I siti enterprise e business potrebbero optare per una configurazione più complessa utilizzando servizi di cloud pubblico per ottenere un SLA rigoroso, oppure esternalizzare l’hosting a un provider professionale come Discourse pricing | Discourse - Civilized Discussion
Sto usando un droplet DO da $20 per il mio sito, Cloudflare davanti a quello e storage S3 sul backend. Il mio sito ha circa 400.000 post totali con circa 10.000 sessioni/giorno in media secondo Google Analytics.
Sono nuovo in questa community ma ho avuto esperienze nello sviluppo web in passato. Tuttavia, sono una persona a cui piace fare le cose bene e gestire tutto nel miglior modo possibile. Penso in grande! E trovo che l’idea di gestire separatamente il database e gli upload sia davvero buona. Ma ho difficoltà a decidere se gestire tutto con AWS utilizzando i loro prodotti o meno. Ad esempio, il Vendor Lock-In. Ovviamente, se si utilizza EC2 con una distribuzione Linux standard come Ubuntu e RDS per il database PostgreSQL, non c’è problema, ma con S3 o magari utilizzando altri standard e funzionalità del fornitore come Lambda, questo potrebbe essere un problema quando si desidera migrare verso qualsiasi altro hosting di server.
Da quello che hai detto, ti consiglierei di iniziare con una singola EC2 per capire le cose. Se in seguito vorrai passare a RDS (e elasticache) e S3, potrai farlo in base alle tue esigenze e al tuo budget.
Ultima domanda. Per usare S3 serve una CDN, giusto? Ma la stessa CDN usata per il sito o si deve configurare un’altra CDN appositamente per i dati che vengono caricati su S3?
Userei Cloudfront o Fastly per entrambi. Utilizzare più fornitori per lo stesso identico prodotto in una singola istanza sembra inutilmente complicato.
Quando diciamo “un altro CDN” intendiamo un’altra “distribuzione CDN” o “istanza CDN”. Non letteralmente un’altra azienda CDN.
Non mi affido ad Amazon per nulla.
Non utilizzerei mai una soluzione che non sia considerata uno standard e che quindi non possa essere facilmente migrata altrove.
Un server virtuale tradizionale fa un ottimo lavoro. Posso facilmente cambiare provider in futuro se lo desidero.
Ho gestito web app su tutti e tre (AWS, Linode e Digital Ocean). Preferisco Linode e DO. Li ho trovati economici, solidissimi e, soprattutto, più semplici da gestire. Ero l’unica persona tecnica in una piccola azienda, quindi questi erano fattori davvero importanti per me.
Non è davvero difficile spostare Discourse su una piattaforma diversa, anche se si utilizzano tutti quegli strumenti AWS, è possibile eseguire un backup e ripristinarlo in qualsiasi installazione di Discourse.
DO e Linode (insieme a centinaia di provider di servizi cloud concorrenti a prezzi simili) sono molto più convenienti (circa il 10% del costo, secondo la mia esperienza) rispetto ad AWS o MS Azure per servizi equivalenti, e molto meno propensi a richiedere la creazione di cose utilizzando le loro API e interfacce proprietarie che inibiscono il passaggio a un altro provider di hosting generico. Consiglio vivamente di rimanere neutrali rispetto ai fornitori e di stare lontani da AWS e MS Azure.