*Zarchiwizowane* = Najlepsza usługa hostingu w chmurze? = Hej, więc chcę wdrożyć moje API zaplecza Django, ale nie do produkcji, do programowania. Jaka jest Twoja preferowana usługa w chmurze, aby to zrobić? Tak więc znalazłem usługę Ngrok i Amazon AWS, a Jenkins i ja rozumiemy się dogłębnie, aby dokonać porównania. Chcę wiedzieć z twojego doświadczenia, jaka jest twoja preferowana usługa P.S: ostatnio otrzymałem bardzo wrogą odpowiedź za mój brak doświadczenia i po prostu próbę pomocy - widzę, że ten sub powoli staje się wrogi i agresywny, podobnie jak inne strony (najwyraźniej samo wymienienie nazw innych stron powoduje usunięcie twojego posta) Więc proszę wybaczyć brak doświadczenia, który znajdziesz w moim poście (lub przyszłych postach/komentarzach) EDIT: Nie spodziewałem się tylu odpowiedzi, dziękuję wszystkim za odpowiedź, postaram się odpowiedzieć wszystkim Jeśli jest wdrażany na zdalnym serwerze, nie ma znaczenia, czy jest przeznaczony do produkcji, czy nie - większość rzeczy będzie taka sama. Aby uzyskać bezpłatne i stosunkowo łatwe wdrożenie, wypróbuj Pythonanywhere lub Heroku. Jeśli chcesz mieć większą kontrolę, wypróbuj Digital Ocean. Napisałem (co moim zdaniem jest dość obszerne) przewodnik dotyczący wdrażania twojego *pierwsza* aplikacja Django do Digital Ocean tutaj Tak, cyfrowy ocean to zdecydowanie klejnot, jeśli chcesz mieć kontrolę, na pewno nie wdrożysz go w pół minuty, ale zdecydowanie przewyższa większość innych opcji, jeśli chcesz mieć większą kontrolę Pythonanywhere wydaje się pasować do moich potrzeb w 90% przypadków, niezbyt duża kontrola, niezbyt duża automatyzacja i trzymanie ręki, gdzieś pomiędzy Mam mnóstwo doświadczenia zarówno z AWS Lambda, jak i Django. Nie mogę wymyślić ani jednego dobrego powodu, aby zrobić Django zamiast AWS Lambda. Jak, ani jednego powodu. Ogromnie przekomplikowany za tak mały zwrot, zwłaszcza gdy twoje zależności stają się nawet trochę bardziej niż trywialne. Nie chcesz grać w grę optymalizacji zależności z limitem rozmiaru pliku 250 MB. Jeśli naprawdę masz problemy ze skalowalnością projektu Django, powiedziałbym, że rozwiązaniem jest prawdopodobnie kombinacja ECS, selera i cloudfront Heroku jest bardzo łatwy do wdrożenia, bezpłatny, dopóki nie osiągniesz określonego limitu, pythonanywhere jest taki sam, ale nieco trudniejszy, ponieważ musisz ustawić niektóre rzeczy ręcznie, co wymaga podstawowej znajomości poleceń Linuksa (nic zaawansowanego) Oba mają opcję zablokowania witryny za pomocą hasła, jeśli nie chcesz, aby ludzie ją odwiedzali lub łączyli się z nią, chyba że są upoważnieni Używam Heroku od kilku lat. Moja baza danych to bezpłatna warstwa Postgres. Działa świetnie i płacę w sumie 7 USD miesięcznie. Daj mi znać, jeśli masz bardziej szczegółowe pytania. Ich dokumentacja jest bardzo dobra i miałem minimalne problemy. Mam niestandardowy adres URL, https, całość Wszystkie moje projekty Django wdrażam w Google Cloud Run. Naprawdę to kocham Oto jak to rozpracować: Zaczynam od wdrożenia mojej dev-database w Google Cloud SQL. Używam tej samej instancji MySQL w chmurze do lokalnego tworzenia i testowania w chmurze **Lokalny programista Uruchamiam 3 kontenery dokerów z docker-compose: - moja aplikacja Django. Kontener zawiera nginx. DB wskazuje na kontener proxy SQL - standardowy obraz proxy Google SQL. Wymaga konta usługi Google json - standardowy kontener phpmyadmin. Głównie do rozwiązywania problemów z mySQL **Wdrażanie w chmurze. inscenizacja i prod - Mam plik cloudbuild.yaml dla mojej aplikacji Django. Opisuje, jak zbudować i wdrożyć aplikację Django w Google Cloud Run - W Google Cloud Run ustawiłem wyzwalacz do budowania/wdrażania mojej aplikacji na podstawie zatwierdzeń git do mojej aplikacji. To odczytuje plik cloudbuild.yaml i automatyzuje wdrażanie moich zmian w chmurze - Ustawiłem wszystkie moje zmienne ENV w wyzwalaczach, aby były przekazywane do cloudbuild.yaml i ostatecznie do instancji Cloud Run. Oczywiście różnią się inscenizacją i prod **Dlaczego lubię to** - Początkowa konfiguracja nie jest prosta, ale automatyzacja, którą daje, jest niesamowita - Koszt instancji dev jest naprawdę niski. Google Cloud Run nalicza opłaty tylko za wykorzystane sekundy. A więc kilka dolarów miesięcznie. Instancja Cloud SQL jest tam, gdzie jest koszt, ponieważ uruchamia ona zawsze działającą maszynę wirtualną. Te z niskim procesorem spadają poniżej 10 $ / miesiąc - W swoich instancjach produkcyjnych masz pełną moc Google Cloud Platform. Nieskończone skalowanie w poziomie (o ile Twoja aplikacja internetowa jest bezstanowa). Cloud Run skaluje się automatycznie. Możesz też skalować Cloud SQL w górę i/lub w poziomie - Google Cloud Run zawiera punkty końcowe http/https, które możesz mapować na swoją domenę. Bez kłopotów z konfiguracją certyfikatów SSL. Uwielbiam to Daj znać jeśli jesteś zainteresowany, mogę podać więcej szczegółów. Teraz myślę, że powinienem napisać szczegółowy artykuł o tym, jak to zrobić A oto moje ostatnie aplikacje webowe Django, wdrożone w Google Cloud Run Jeśli już prowadzisz badania na temat różnych usług hostingowych w chmurze, dobrym pomysłem może być sprawdzenie Engine Yard. Używałem silnika stoczni do różnych wdrożeń aplikacji w chmurze i powiedziałbym, że jest to bardzo dynamiczna i przyjazna dla użytkownika platforma do wdrażanie aplikacji w chmurze Engine Yard Cloud (EYC) to powszechnie preferowana platforma jako usługa (PaaS) dla hostingu aplikacji Ruby, Node i PHP. Ma solidną, w pełni zarządzaną infrastrukturę wraz ze światowej klasy wsparciem. Ma dość bezpieczną infrastrukturę, a łatki są aktualizowane dla Twojej wygody. Nie masz narzutu związanego z zarządzaniem całym stosem, w tym bazami danych i systemami równoważenia obciążenia. Wszystko to jest pod opieką. Kopie zapasowe są wykonywane automatycznie. Moim zdaniem, Engineyard to platforma oszczędzająca czas i koszty Możesz także eksplorować kontenery Engine Yard (EYK). To platforma nowej generacji. Spróbowałem i stwierdziłem, że jest to godna migracji. Obsługuje wiele stosów, automatyczne skalowanie w czasie rzeczywistym i wiele innych funkcji. Możesz przeglądać zarówno Engine Yard Cloud, jak i Engine Yard Kontainers Polecam korzystanie z App Platform na Digital Ocean. Jest podobny do Heroku, ale zapewnia znacznie większą moc za ułamek kosztów Heroku Nie ma wszystkich funkcji, które ma Heroku, ale przynajmniej dla mnie ma wystarczająco dużo do pracy Nie jestem DevOpsem, więc nie wiem, jak bezpiecznie skonfigurować zwykły Droplet. Dlatego App Platform działa znacznie lepiej - nie muszę myśleć o utracie środków bezpieczeństwa innych niż w mojej aplikacji Wszystkie moje osobiste projekty są pakowane w kontenery Docker i wdrażane w jednym węźle klastra Kubernetes na Scaleway.com. Jest całkiem fajny i nie wymaga konserwacji, a jeśli ktoś osiągnie określoną skalę, mogę łatwo przenieść go do większego klastra lub innej usługi wdrażania kontenerów (takiej jak ECS, a nawet wdrożyć je samodzielnie w instancji z zainstalowanym tylko środowiskiem wykonawczym kontenera ) W przeszłości wdrożyłem usługę Django na AWS Lambda z Zappą, ale tracisz dużo kontroli i jest kilka drobnych rzeczy, których musisz się nauczyć i wdrożyć (np. korzystanie z frameworka bezserwerowego, zarządzanie wersjami, utrzymywanie lambdy „ciepłe” itp.).