*Arşivlendi* = En iyi bulut barındırma hizmeti? = Hey millet, Django arka uç API'mi geliştirme için üretime değil dağıtmak istiyorum. Bunu yapmak için tercih ettiğiniz bulut hizmeti nedir? Şimdiye kadar Ngrok ve Amazon AWS hizmetini buldum ve Jenkins ve ben bir karşılaştırma yapmak için her birini derinlemesine anlıyorum. Tecrübelerinize dayanarak tercih ettiğiniz hizmetin ne olduğunu öğrenmek istiyorum. P.S: son zamanlarda deneyim eksikliğim ve sadece yardım etmeye çalıştığım için çok düşmanca yanıtlar aldım - Bu denizaltının diğer web siteleri gibi yavaş yavaş düşmanca ve saldırgan hale geldiğini görüyorum (görünüşe göre sadece diğer web sitelerinin adlarından bahsetmek yayınınızın silinmesine neden oluyor) Bu nedenle, gönderimde (veya gelecekteki gönderilerde/yorumlarda) bulduğunuz deneyim eksikliğini lütfen mazur görün. DÜZENLEME: Bu kadar çok cevap beklemiyordum, cevabınız için hepinize teşekkür ederim, herkese cevap vermeye çalışacağım. Uzak bir sunucuya konuşlandırılıyorsa, üretim için olup olmaması gerçekten önemli değildir - çoğu şey aynı olacaktır. Ücretsiz ve nispeten kolay dağıtım için Pythonanywhere veya Heroku'yu deneyin. Daha fazla kontrol istiyorsanız Digital Ocean'ı deneyin. (Oldukça kapsamlı olduğunu düşündüğüm) bir kılavuz yazdım. *ilk* Django uygulamasından Digital Ocean'a buradan Evet, kontrol istiyorsanız dijital okyanus kesinlikle bir mücevher, yarım dakika içinde devreye girmeyeceğiniz kesin, ancak daha fazla kontrol istiyorsanız kesinlikle diğer birçok seçenekten üstündür. Pythonanywhere, ihtiyaçlarımı %90 oranında karşılıyor, çok fazla kontrol yok, çok fazla otomasyon ve el tutma yok, ikisinin arasında bir yerde Hem AWS Lambda hem de Django ile tonlarca deneyimim var. AWS Lambda üzerinden Django yapmak için tek bir iyi neden düşünemiyorum. Mesela tek bir sebep yok. Özellikle bağımlılıklarınız önemsizden biraz daha fazla hale geldiğinde, çok az getiri için aşırı derecede karmaşık. 250 MB dosya boyutu sınırıyla bağımlılık optimizasyonu oyununu oynamak istemezsiniz. Bir django projesi için gerçekten ölçeklenebilirlik sorunlarınız varsa, çözümün muhtemelen ECS, kereviz ve cloudfront'un bir kombinasyonu olduğunu söyleyebilirim. Heroku'nun dağıtılması çok kolaydır, belirli bir sınıra ulaşana kadar ücretsizdir, pythonanywhere aynıdır, ancak biraz daha zordur, çünkü bazı şeyleri elle ayarlamanız gerekir, bu da Linux komutlarının temel bir şekilde anlaşılmasını gerektirir (ileri düzey hiçbir şey yoktur) Her ikisinin de, yetkilendirilmedikçe insanların siteyi ziyaret etmesini veya siteye bağlanmasını istemiyorsanız, siteyi bir parola kullanarak kilitleme seçeneği vardır. Birkaç yıldır Heroku kullanıyorum. My DB, postgres'in ücretsiz katmanıdır. Harika çalışıyor ve ayda toplam 7 dolar ödüyorum. Daha spesifik sorularınız varsa bana bildirin. Dokümantasyonları çok iyi ve çok az sorun yaşadım. Özel bir URL'm var, https, her şey Tüm Django projelerimi Google Cloud Run'da devreye alıyorum. onu gerçekten seviyorum Bunu şu şekilde çözüyorum: Geliştirici veritabanımı Google Cloud SQL'de dağıtarak başlıyorum. Yerel geliştirme ve bulut hazırlama ve test için aynı bulut mySQL örneğini kullanıyorum **Local dev I, docker-compose ile 3 docker kapsayıcısı çalıştırıyorum: - Django uygulamam. Kapsayıcıda nginx bulunur. DB, SQL proxy kapsayıcısına işaret ediyor - standart Google SQL proxy görüntüsü. Bir Google hizmet hesabı gerektirir json - standart phpmyadmin kabı. Esas olarak mySQL sorunlarını gidermek için **Bulut dağıtımı. evreleme ve prod - Django uygulamam için bir cloudbuild.yaml dosyam var. Bu, Django uygulamasının nasıl oluşturulacağını ve Google Cloud Run'a nasıl dağıtılacağını açıklar. - Google Cloud Run'da, uygulamamı git taahhütlerine dayalı olarak uygulamamı oluşturmak/dağıtmak için bir tetikleyici ayarladım. Bu, cloudbuild.yaml dosyasını okur ve değişikliklerimin buluta dağıtımını otomatikleştirir - Tetikleyicilerdeki tüm ENV değişkenlerimi cloudbuild.yaml'ye ve nihayetinde Cloud Run örneklerine iletilecek şekilde ayarlıyorum. Tabii ki sahneleme ve üretim için farklılık gösterirler. **Neden hoşuma gitti** - İlk kurulum basit değil, ancak bana sağladığı otomasyon harika - Geliştirme bulut sunucularının maliyeti gerçekten düşüktür. Google Cloud Run yalnızca kullanılan saniyeler için ücret alır. Yani ayda birkaç ABD doları Şimdi, maliyetin olduğu yerde Cloud SQL örneği var, çünkü bu her zaman çalışan bir sanal makineyi çalıştırıyor. Düşük CPU'lu olanlar ayda 10 doların altına düşüyor - Prod örnekleriniz için Google Cloud Platform'un tüm gücüne sahip olursunuz. Sonsuz yatay ölçeklendirme (web uygulamanız durum bilgisiz olduğu sürece). Cloud Run otomatik olarak ölçeklenir. Ayrıca Cloud SQL'i yukarı ve/veya yatay olarak ölçeklendirebilirsiniz. - Google Cloud Run, alanınızla eşleyebileceğiniz http/https uç noktalarıyla birlikte gelir. SSL sertifikaları yapılandırmalarıyla uğraşmak yok. bunu seviyorum İlgilenirseniz bana bildirin, daha fazla ayrıntı sağlayabilirim. Şimdi bunun nasıl yapılacağı hakkında ayrıntılı bir makale yazmam gerektiğini düşünüyorum. İşte Google Cloud Run'da dağıtılan son Django web uygulamalarım Halihazırda çeşitli bulut barındırma hizmetleri hakkında biraz araştırma yapıyorsanız, Engine Yard'a göz atmak iyi bir fikir olabilir. Bulutta çeşitli uygulama dağıtımları için makine parkını kullandım ve bunun çok dinamik ve kullanıcı dostu bir platform olduğunu söyleyebilirim. uygulamalarınızı bulutta devreye alma Engine Yard Cloud (EYC), Ruby, Node ve PHP uygulama barındırma için yaygın olarak tercih edilen bir Hizmet Olarak Platformdur (PaaS). Birinci sınıf desteğin yanı sıra sağlam, tam olarak yönetilen bir altyapıya sahiptir. Oldukça güvenli bir altyapısı vardır ve yamalar size kolaylık sağlamak için güncel tutulur. Veritabanları ve yük dengeleyiciler dahil tüm yığını yönetme yüküne sahip değilsiniz. Bunların hepsi halledilir. Yedeklemeler otomatik olarak gerçekleşir. Gördüğüm kadarıyla, Motor sahası zamandan ve maliyetten tasarruf sağlayan bir platform Ayrıca Engine Yard Konteynerlerini (EYK) de keşfedebilirsiniz. Yeni nesil bir platformdur. Denedim ve değerli bir göç olduğunu gördüm. Birden çok yığını, gerçek zamanlı otomatik ölçeklendirmeyi ve diğer birçok özelliği destekler. Hem Engine Yard Cloud'a hem de Engine Yard Konteynerlerine bakabilirsiniz Digital Ocean'da App Platform kullanmanızı tavsiye ederim. Heroku'ya benzer, ancak Heroku maliyetlerinin bir kısmı için çok daha fazla güç sağlar Heroku'nun sahip olduğu tüm özelliklere sahip değil, ama en azından benim için çalışmak için yeterli özelliklere sahip. Ben bir DevOps değilim, bu yüzden normal Droplet'i güvenli bir şekilde nasıl yapılandıracağımı bilmiyorum. Bu nedenle Uygulama Platformu çok daha iyi çalışıyor - Uygulamamın dışında güvenlik önlemlerinin kaybolmasını düşünmeme gerek yok Tüm kişisel projelerim docker kapsayıcılarında paketlenir ve Scaleway.com'da tek düğümlü bir kubernetes kümesinde konuşlandırılır. Oldukça havalı ve az bakım gerektiriyor ve biri belirli bir ölçeğe ulaşırsa, bunları kolayca daha büyük bir kümeye veya başka bir kapsayıcı dağıtım hizmetine (ECS gibi) taşıyabilir veya hatta bunları yalnızca bir kapsayıcı çalışma zamanının yüklü olduğu bir bulut sunucusuna kendim dağıtabilirim. ) Geçmişte, Zappa ile AWS Lambda üzerinde bir Django hizmeti dağıttım, ancak kontrolün çoğunu kaybedersiniz ve öğrenmeniz ve uygulamanız gereken bazı küçük şeyler vardır (ör. sunucusuz bir çerçeve kullanmak, sürümleri yönetmek, lambdalar "sıcak"vb.).