*Archiviert* = Bester Cloud-Hosting-Service? = Hey Leute, also möchte ich meine Django-Backend-API bereitstellen, aber nicht für die Produktion, für die Entwicklung. Was ist Ihr bevorzugter Cloud-Service dafür? Bisher habe ich Ngrok und Amazon AWS gefunden, und Jenkins und ich verstehen beide so gut, dass ich einen Vergleich anstellen kann. Ich möchte aus Ihrer Erfahrung wissen, was Ihr bevorzugter Service ist P.S.: In letzter Zeit erhielt ich sehr feindselige Antworten wegen meiner mangelnden Erfahrung und weil ich nur versucht habe zu helfen - Ich sehe, wie dieses Sub langsam feindselig und aggressiv wird, da andere Websites (anscheinend wird Ihr Beitrag gelöscht, wenn Sie nur die Namen anderer Websites erwähnen) Bitte entschuldigen Sie daher den Mangel an Erfahrung, den Sie in meinem Beitrag (oder zukünftigen Beiträgen/Kommentaren) finden. EDIT: Ich habe nicht mit so vielen Antworten gerechnet, danke euch allen für eure Antworten, ich werde versuchen, allen zu antworten Wenn es auf einem Remote-Server bereitgestellt wird, spielt es keine Rolle, ob es für die Produktion ist oder nicht - die meisten Dinge werden gleich sein. Versuchen Sie für eine kostenlose und relativ einfache Bereitstellung Pythonanywhere oder Heroku. Wenn Sie mehr Kontrolle wünschen, versuchen Sie es mit Digital Ocean. Ich habe eine (was meiner Meinung nach ziemlich umfassende) Anleitung für die Bereitstellung Ihres geschrieben *erste* Django-App für Digital Ocean hier Ja, Digital Ocean ist definitiv ein Juwel, wenn Sie Kontrolle wünschen. Sie werden sicher nicht in einer halben Minute bereitgestellt, aber es ist den meisten anderen Optionen definitiv überlegen, wenn Sie mehr Kontrolle wünschen Pythonanywhere scheint in 90 % der Fälle meinen Bedürfnissen zu entsprechen, nicht zu viel Kontrolle, nicht zu viel Automatisierung und Händchenhalten, irgendwo dazwischen Ich habe eine Menge Erfahrung mit AWS Lambda und Django. Mir fällt kein einziger guter Grund ein, Django über AWS Lambda zu machen. Nicht einen einzigen Grund. Enorm überkompliziert für so wenig Rendite, besonders wenn Ihre Abhängigkeiten sogar ein bisschen mehr als trivial werden. Sie möchten nicht das Abhängigkeitsoptimierungsspiel mit der Dateigrößenbeschränkung von 250 MB spielen. Wenn Sie wirklich Skalierbarkeitsprobleme für ein Django-Projekt haben, würde ich sagen, dass die Lösung wahrscheinlich eine Kombination aus ECS, Sellerie und Cloudfront ist Heroku ist sehr einfach bereitzustellen, kostenlos, bis Sie ein bestimmtes Limit erreichen, pythonanywhere ist dasselbe, aber etwas schwieriger, da Sie einige Dinge von Hand einrichten müssen, was ein grundlegendes Verständnis der Linux-Befehle erfordert (nichts für Fortgeschrittene). Beide haben die Möglichkeit, die Website mit einem Passwort zu sperren, wenn Sie nicht möchten, dass Personen sie besuchen oder sich mit ihr verbinden, es sei denn, sie sind autorisiert Ich benutze Heroku seit ein paar Jahren. My DB ist die kostenlose Stufe von Postgres. Es funktioniert super und ich zahle insgesamt 7 $ pro Monat. Lassen Sie mich wissen, wenn Sie spezifischere Fragen haben. Ihre Dokumentation ist sehr gut und ich hatte minimale Probleme. Ich habe eine benutzerdefinierte URL, https, das Ganze Ich stelle alle meine Django-Projekte in Google Cloud Run bereit. Ich liebe es wirklich So arbeite ich es aus: Ich beginne damit, meine Entwicklungsdatenbank in Google Cloud SQL bereitzustellen. Ich verwende dieselbe Cloud-mySQL-Instanz für lokale Entwicklungs- und Cloud-Staging und -Tests **Lokaler Entwickler Ich betreibe 3 Docker-Container mit docker-compose: - meine Django-App. Container enthält nginx. DB verweist auf den SQL-Proxy-Container - Standard-Google SQL-Proxy-Image. Erfordert ein Google-Dienstkonto json - Standard-phpmyadmin-Container. Hauptsächlich zur Fehlerbehebung bei mySQL **Cloud-Bereitstellung. Inszenierung und Prod - Ich habe eine cloudbuild.yaml-Datei für meine Django-App. Darin wird beschrieben, wie die Django-App für Google Cloud Run erstellt und bereitgestellt wird - In Google Cloud Run habe ich einen Trigger zum Erstellen/Bereitstellen meiner App basierend auf Git-Commits für meine App festgelegt. Dies liest die cloudbuild.yaml und automatisiert die Bereitstellung meiner Änderungen in der Cloud - Ich habe alle meine ENV-Variablen in den Triggern so eingestellt, dass sie an cloudbuild.yaml und schließlich an Cloud Run-Instanzen übergeben werden. Natürlich unterscheiden sie sich für Inszenierung und Prod **Warum ich es mag** - Die anfängliche Einrichtung ist nicht einfach, aber die Automatisierung, die sie mir bietet, ist großartig - Die Kosten für Entwicklungsinstanzen sind wirklich niedrig. Google Cloud Run berechnet nur die verbrauchten Sekunden. Also ein paar $ pro Monat. Nun, die Cloud SQL-Instanz ist dort, wo die Kosten liegen, da das eine VM startet, die immer läuft. Low-CPU-Modelle kommen auf unter 10 $ / Monat - Für Ihre Produktinstanzen erhalten Sie die gesamte Leistung der Google Cloud Platform. Unbegrenzte horizontale Skalierung (solange Ihre Web-App zustandslos ist). Cloud Run wird automatisch skaliert. Sie können Cloud SQL auch nach oben und/oder horizontal skalieren - Google Cloud Run enthält http/https-Endpunkte, die Sie Ihrer Domain zuordnen können. Kein Ärger mit SSL-Zertifikatskonfigurationen. ich liebe es Bei Interesse einfach melden, ich kann mehr Details liefern. Ich denke, ich sollte jetzt einen ausführlichen Artikel darüber schreiben, wie man das macht Und hier meine letzten Django-Web-Apps, bereitgestellt in Google Cloud Run Wenn Sie bereits über die verschiedenen Cloud-Hosting-Dienste recherchieren, ist es möglicherweise eine gute Idee, sich Engine Yard anzusehen. Ich habe Engine Yard für verschiedene App-Bereitstellungen in der Cloud verwendet, und ich würde sagen, dass es sich um eine sehr dynamische und benutzerfreundliche Plattform handelt Bereitstellung Ihrer Apps in der Cloud Engine Yard Cloud (EYC) ist eine weithin bevorzugte Platform as a Service (PaaS) für Ruby-, Node- und PHP-Anwendungshosting. Es verfügt über eine robuste, vollständig verwaltete Infrastruktur sowie erstklassigen Support. Es hat eine ziemlich sichere Infrastruktur und die Patches werden für Ihre Bequemlichkeit auf dem neuesten Stand gehalten. Sie müssen nicht den gesamten Stack verwalten, einschließlich Datenbanken und Load-Balancer. Für all das ist gesorgt. Die Sicherungen erfolgen automatisch. Meiner Meinung nach ist Engine Yard eine zeit- und kostensparende Plattform Sie können auch Engine Yard Kontainers (EYK) erkunden. Es ist eine Plattform der nächsten Generation. Ich habe es versucht und fand es eine würdige Migration. Es unterstützt mehrere Stapel, automatische Skalierung in Echtzeit und viele andere Funktionen. Sie können sowohl zu Engine Yard Cloud als auch zu Engine Yard Kontainers nachschlagen Ich empfehle die Verwendung der App Platform auf Digital Ocean. Es ähnelt Heroku, bietet aber viel mehr Leistung für einen Bruchteil der Heroku-Kosten Es hat nicht alle Funktionen, die Heroku hat, aber zumindest für mich hat es genug, um damit zu arbeiten Ich bin kein DevOps, also weiß ich nicht, wie man das normale Droplet sicher konfiguriert. Aus diesem Grund funktioniert die App-Plattform viel besser – ich muss nicht über Sicherheitsmaßnahmen bei Verlust nachdenken, außer in meiner App Alle meine persönlichen Projekte werden in Docker-Containern gebündelt und in einem Kubernetes-Cluster mit einem Knoten auf Scaleway.com bereitgestellt. Es ist ziemlich cool und wartungsarm, und wenn einer eine bestimmte Größenordnung erreicht, kann ich ihn problemlos entweder auf einen größeren Cluster oder einen anderen Container-Bereitstellungsdienst (z. B. ECS) verschieben oder ihn sogar selbst auf einer Instanz bereitstellen, auf der nur eine Container-Laufzeitumgebung installiert ist ) In der Vergangenheit habe ich mit Zappa einen Django-Service auf AWS Lambda bereitgestellt, aber Sie verlieren viel Kontrolle, und es gibt einige kleine Dinge, die Sie lernen und implementieren müssen (z. B. entweder ein serverloses Framework verwenden, Versionen verwalten, Ihre Lambdas "warm"usw.).