*Archiviato* = Miglior servizio di cloud hosting? = Ciao ragazzi, quindi voglio distribuire la mia API di backend Django ma non alla produzione, per lo sviluppo. Qual è il tuo servizio cloud preferito per farlo? Finora ho trovato il servizio Ngrok e Amazon AWS, e Jenkins e io sto capendo ciascuno a fondo per fare un confronto. Voglio sapere dalla tua esperienza, qual è il tuo servizio preferito P.S: ultimamente ho ricevuto risposte molto ostili per la mia mancanza di esperienza e per aver solo cercato di aiutare - Vedere questo sottotitolo diventare lentamente ostile e aggressivo come altri siti Web (a quanto pare basta menzionare i nomi di altri siti Web per eliminare il tuo post) Quindi per favore scusa qualsiasi mancanza di esperienza che trovi nel mio post (o post / commenti futuri) EDIT: non mi aspettavo così tante risposte, grazie a tutti per la risposta, cercherò di rispondere a tutti Se viene distribuito su un server remoto, non importa se è per la produzione o meno: la maggior parte delle cose sarà la stessa. Per una distribuzione gratuita e relativamente semplice, prova Pythonanywhere o Heroku. Se vuoi più controllo, prova Digital Ocean. Ho scritto una guida (quella che penso sia piuttosto completa) per la distribuzione del tuo *prima* app Django per Digital Ocean qui Sì, l'oceano digitale è sicuramente un gioiello se vuoi il controllo, certo non lo distribuirai in mezzo minuto ma è decisamente superiore alla maggior parte delle altre opzioni se vuoi più controllo Pythonanywhere sembra soddisfare le mie esigenze il 90% delle volte, non troppo controllo, non troppa automazione e tenuta della mano, da qualche parte nel mezzo Ho un sacco di esperienza sia con AWS Lambda che con Django. Non riesco a pensare a un solo buon motivo per fare Django su AWS Lambda. Tipo, non un solo motivo. Enormemente complicato per così poco ritorno, specialmente quando le tue dipendenze diventano anche un po'più che banali. Non vuoi giocare al gioco dell'ottimizzazione delle dipendenze con il limite della dimensione del file di 250 MB. Se hai davvero problemi di scalabilità per un progetto Django, direi che la soluzione è probabilmente una combinazione di ECS, sedano e cloudfront Heroku è molto facile da implementare, gratuito fino a quando non raggiungi un certo limite, pythonanywhere è lo stesso ma un po 'più difficile poiché devi impostare alcune cose a mano che richiedono una conoscenza di base dei comandi di Linux (niente di avanzato) Entrambi hanno un'opzione per bloccare il sito utilizzando una password se non si desidera che le persone lo visitino o si colleghino ad esso a meno che non siano autorizzati Sto usando Heroku da un paio d'anni. Il mio DB è il livello gratuito di postgres. Funziona alla grande e pago un totale di $ 7 al mese. Fammi sapere se hai domande più specifiche. La loro documentazione è molto buona e ho avuto problemi minimi. Ho un URL personalizzato, https, il tutto Distribuisco tutti i miei progetti Django in Google Cloud Run. lo amo davvero Ecco come lo risolvo: Inizio distribuendo il mio database di sviluppo in Google Cloud SQL. Uso questa stessa istanza cloud mySQL per lo sviluppo locale e lo staging e il test del cloud **Sviluppatore locale eseguo 3 contenitori docker con docker-compose: - la mia app Django. Il contenitore include nginx. DB punta al contenitore proxy SQL - immagine proxy standard di Google SQL. Richiede un account di servizio Google json - contenitore phpmyadmin standard. Principalmente per risolvere i problemi di mySQL **Distribuzione cloud. messa in scena e prod - Ho un file cloudbuild.yaml per la mia app Django. Descrive come creare e distribuire l'app Django su Google Cloud Run - In Google Cloud Run, ho impostato un trigger per creare/distribuire la mia app in base ai commit git nella mia app. Questo legge il cloudbuild.yaml e automatizza la distribuzione delle mie modifiche nel cloud - Ho impostato tutte le mie variabili ENV nei trigger da passare a cloudbuild.yaml e infine alle istanze Cloud Run. Ovviamente si differenziano per messa in scena e prod **Perchè mi piace** - La configurazione iniziale non è semplice, ma l'automazione che mi offre è fantastica - Il costo per le istanze di sviluppo è davvero basso. Google Cloud Run addebita solo i secondi utilizzati. Quindi pochi $ al mese Ora, l'istanza Cloud SQL è dove il costo è, poiché attiva una VM sempre in esecuzione. Quelli a bassa CPU scendono sotto i 10 $/mese - Per le tue istanze di produzione, ottieni tutta la potenza di Google Cloud Platform. Ridimensionamento orizzontale infinito (a condizione che l'app Web sia stateless). Cloud Run scalerà automaticamente. Puoi anche ridimensionare Cloud SQL verso l'alto e/o orizzontalmente - Google Cloud Run viene fornito con endpoint http/https che puoi mappare al tuo dominio. Nessun problema con le configurazioni dei certificati SSL. Adoro questo Fammi sapere se sei interessato, posso fornire maggiori dettagli. Ora penso che dovrei scrivere un articolo dettagliato su come farlo Ed ecco le mie ultime app web Django, distribuite in Google Cloud Run Se stai già facendo delle ricerche sui vari servizi di cloud hosting, potrebbe anche essere una buona idea dare un'occhiata a Engine Yard. Ho utilizzato engine yard per varie distribuzioni di app sul cloud e direi che è una piattaforma molto dinamica e intuitiva per distribuendo le tue app sul cloud Engine Yard Cloud (EYC) è una Platform as a Service (PaaS) ampiamente preferita per l'hosting di applicazioni Ruby, Node e PHP. Dispone di un'infrastruttura robusta e completamente gestita insieme a un supporto di livello mondiale. Ha un'infrastruttura abbastanza sicura e le patch sono aggiornate per tua comodità. Non hai il sovraccarico di gestire l'intero stack, inclusi database e bilanciatori di carico. Tutto questo è curato. I backup avvengono automaticamente. Per come la vedo io, Engine Yard è una piattaforma che consente di risparmiare tempo e denaro Puoi anche esplorare Engine Yard Kontainers (EYK). È una piattaforma di nuova generazione. L'ho provato e l'ho trovato una migrazione degna. Supporta più stack, ridimensionamento automatico in tempo reale e molte altre funzionalità. Puoi cercare sia Engine Yard Cloud che Engine Yard Kontainer Consiglio di utilizzare App Platform su Digital Ocean. È simile a Heroku, ma fornisce molta più potenza per una frazione dei costi di Heroku Non ha tutte le funzionalità di Heroku, ma almeno per me ha abbastanza per lavorare Non sono un DevOps, quindi non so come configurare il normale Droplet in modo sicuro. Questo è il motivo per cui App Platform funziona molto meglio: non ho bisogno di pensare alla perdita di misure di sicurezza diverse dall'interno della mia app Tutti i miei progetti personali sono raggruppati in contenitori docker e distribuiti in un cluster kubernetes a nodo singolo su Scaleway.com. È piuttosto interessante e richiede poca manutenzione, e se uno raggiunge una certa scala, posso facilmente spostarli su un cluster più grande o su un altro servizio di distribuzione di container (come ECS, o persino distribuirli io stesso su un'istanza con solo un runtime di container installato ) In passato, ho distribuito un servizio Django su AWS Lambda con Zappa, ma perdi molto controllo e ci sono alcune piccole cose che devi imparare e implementare (ad es. utilizzando un framework serverless, gestendo le versioni, mantenendo il tuo lambda "caldo", ecc.).