*보관됨* = 최고의 클라우드 호스팅 서비스? = 여러분, 개발을 위해 프로덕션이 아닌 Django 백엔드 API를 배포하고 싶습니다. 이를 위해 선호하는 클라우드 서비스는 무엇입니까? 지금까지 Ngrok 및 Amazon AWS 서비스를 찾았고 Jenkins와 저는 비교를 위해 각각을 깊이 이해하고 있습니다. 귀하의 경험을 통해 알고 싶습니다. 귀하가 선호하는 서비스는 무엇입니까 P.S: 최근에 나는 경험이 부족하고 도움을 주려는 것에 대해 매우 적대적인 반응을 받았습니다. 이 서브가 다른 웹사이트처럼 천천히 적대적이고 공격적으로 변하는 것을 보고 싶습니다(분명히 다른 웹사이트의 이름을 언급하는 것만으로도 귀하의 게시물이 삭제됩니다) 따라서 내 게시물(또는 향후 게시물/댓글)에서 발견한 경험 부족에 대해 양해해 주십시오. 편집: 이렇게 많은 답변을 기대하지 않았습니다. 답변해 주셔서 감사합니다. 모두에게 답변하도록 노력하겠습니다. 원격 서버에 배포되는 경우 프로덕션용인지 아닌지는 중요하지 않습니다. 대부분의 사항은 동일합니다. 비교적 쉬운 무료 배포를 위해 Pythonanywhere 또는 Heroku를 사용해 보십시오. 더 많은 제어를 원한다면 Digital Ocean을 사용해 보십시오. 저는 (내 생각에 꽤 포괄적이라고 생각하는) 배포 가이드를 작성했습니다. *처음* Django 앱에서 Digital Ocean으로 이동 예, 디지털 바다는 제어를 원할 경우 확실히 보석입니다. 확실히 30초 안에 배포하지는 않지만 더 많은 제어를 원할 경우 대부분의 다른 옵션보다 확실히 우수합니다. Pythonanywhere는 90%의 시간 동안 내 요구 사항에 맞는 것 같습니다. 너무 많은 제어, 너무 많은 자동화 및 핸드 홀딩이 아닌 중간 어딘가에 있습니다. 저는 AWS Lambda와 Django에 대해 많은 경험을 가지고 있습니다. AWS Lambda보다 Django를 사용해야 하는 단 하나의 타당한 이유가 생각나지 않습니다. 한 가지 이유가 아닙니다. 특히 종속성이 사소한 것보다 조금 더 커질 때 반환이 거의 없기 때문에 엄청나게 복잡합니다. 250MB 파일 크기 제한으로 종속성 최적화 게임을 하고 싶지 않을 것입니다. 장고 프로젝트에 대한 확장성 문제가 실제로 있는 경우 해결책은 아마도 ECS, 셀러리 및 클라우드프론트의 조합일 것입니다. Heroku는 배포하기 매우 쉽고 특정 제한에 도달할 때까지 무료입니다. pythonanywhere는 동일하지만 Linux 명령에 대한 기본적인 이해가 필요한 몇 가지 사항을 수동으로 설정해야 하기 때문에 조금 더 어렵습니다(고급 없음). 둘 다 승인되지 않은 사람들이 사이트를 방문하거나 연결하는 것을 원하지 않는 경우 암호를 사용하여 사이트를 잠그는 옵션이 있습니다. 저는 몇 년 동안 Heroku를 사용해 왔습니다. 내 DB는 Postgres의 프리 티어입니다. 그것은 훌륭하게 작동하며 한 달에 총 $ 7을 지불합니다. 더 구체적인 질문이 있으면 알려주세요. 그들의 문서는 매우 훌륭하고 최소한의 문제만 있었습니다. 맞춤 URL, https, 전체가 있습니다. 모든 Django 프로젝트를 Google Cloud Run에 배포합니다. 나는 그것을 정말로 좋아한다 내가 해결하는 방법은 다음과 같습니다. 먼저 Google Cloud SQL에 내 dev-database를 배포합니다. 로컬 개발 및 클라우드 스테이징과 테스트에 동일한 클라우드 mySQL 인스턴스를 사용합니다. **로컬 개발자 나는 docker-compose로 3개의 도커 컨테이너를 실행합니다. - 내 장고 앱. 컨테이너에는 nginx가 포함되어 있습니다. DB는 SQL 프록시 컨테이너를 가리킴 - 표준 Google SQL 프록시 이미지. Google 서비스 계정 json이 필요합니다. - 표준 phpmyadmin 컨테이너. 주로 mySQL 문제 해결 **클라우드 배포. 준비 및 자극 - Django 앱용 cloudbuild.yaml 파일이 있습니다. Django 앱을 빌드하고 Google Cloud Run에 배포하는 방법을 설명합니다. - Google Cloud Run에서 내 앱에 대한 git 커밋을 기반으로 내 앱을 빌드/배포하는 트리거를 설정했습니다. 이것은 cloudbuild.yaml을 읽고 클라우드에서 내 변경 사항의 배포를 자동화합니다. - 트리거의 모든 ENV 변수를 cloudbuild.yaml 및 최종적으로 Cloud Run 인스턴스로 전달하도록 설정했습니다. 물론 스테이징과 프로덕션에 따라 다릅니다. **내가 좋아하는 이유** - 초기 설정은 간단하지 않지만 자동화 기능이 훌륭합니다. - 개발 인스턴스 비용이 정말 저렴합니다. Google Cloud Run은 사용한 초에 대해서만 요금을 청구합니다. 그래서 한 달에 몇 달러 이제 Cloud SQL 인스턴스는 항상 실행되는 VM을 시작하기 때문에 비용이 발생합니다. 낮은 CPU는 월 10$ 미만으로 내려갑니다. - 프로덕션 인스턴스의 경우 Google Cloud Platform의 모든 기능을 활용할 수 있습니다. 무한 수평 확장(웹 앱이 상태 비저장인 경우). Cloud Run은 자동으로 확장됩니다. Cloud SQL을 확장하거나 수평으로 확장할 수도 있습니다. - Google Cloud Run은 도메인에 매핑할 수 있는 http/https 엔드포인트와 함께 제공됩니다. SSL 인증서 구성으로 번거로움이 없습니다. 나는 이것을 좋아한다 관심이 있으시면 알려주세요. 자세한 내용을 알려드릴 수 있습니다. 이제 이 작업을 수행하는 방법에 대한 자세한 문서를 작성해야 한다고 생각합니다. 여기 Google Cloud Run에 배포된 마지막 Django 웹 앱이 있습니다. 다양한 클라우드 호스팅 서비스에 대해 이미 조사하고 있다면 Engine Yard를 확인하는 것이 좋습니다. 저는 클라우드에서 다양한 앱 배포를 위해 Engine yard를 사용해 왔으며 매우 역동적이고 사용자 친화적인 플랫폼이라고 말하고 싶습니다. 클라우드에 앱 배포 EYC(Engine Yard Cloud)는 Ruby, Node 및 PHP 애플리케이션 호스팅을 위해 널리 선호되는 PaaS(Platform as a Service)입니다. 세계적 수준의 지원과 함께 강력하고 완벽하게 관리되는 인프라가 있습니다. 상당히 안전한 인프라를 갖추고 있으며 사용자의 편의를 위해 패치가 최신 상태로 유지됩니다. 데이터베이스 및 로드 밸런서를 포함하여 전체 스택을 관리하는 오버헤드가 없습니다. 이 모든 것이 처리됩니다. 백업은 자동으로 수행됩니다. 제가 보기에 엔진야드는 시간과 비용을 절약해주는 플랫폼입니다. EYK(Engine Yard Kontainers)도 탐색할 수 있습니다. 차세대 플랫폼입니다. 나는 그것을 시도했고 그것이 가치있는 마이그레이션이라는 것을 알았습니다. 다중 스택, 실시간 자동 확장 및 기타 여러 기능을 지원합니다. Engine Yard Cloud와 Engine Yard Kontainers를 모두 조회할 수 있습니다. Digital Ocean에서 App Platform을 사용하는 것이 좋습니다. Heroku와 유사하지만 Heroku 비용의 일부에 대해 훨씬 더 많은 전력을 제공합니다. 그것은 Heroku가 가진 모든 기능을 가지고 있지는 않지만 적어도 나에게는 작업하기에 충분합니다. 나는 DevOps가 아니므로 일반 Droplet을 안전한 방식으로 구성하는 방법을 모릅니다. 이것이 바로 앱 플랫폼이 훨씬 더 잘 작동하는 이유입니다. 내 앱 내에서가 아닌 다른 안전 조치의 손실에 대해 생각할 필요가 없습니다. 모든 개인 프로젝트는 도커 컨테이너에 번들로 제공되며 Scaleway.com의 단일 노드 kubernetes 클러스터에 배포됩니다. 매우 훌륭하고 유지 관리가 적으며 특정 규모에 도달하면 더 큰 클러스터 또는 다른 컨테이너 배포 서비스(예: ECS)로 쉽게 이동할 수 있으며 컨테이너 런타임만 설치된 인스턴스에 직접 배포할 수도 있습니다. ) 과거에는 Zappa를 사용하여 AWS Lambda에 django 서비스를 배포했지만 많은 제어 기능을 상실하고 배우고 구현해야 하는 몇 가지 작은 사항이 있습니다(예: 서버리스 프레임워크 사용, 버전 관리, 람다 "따뜻함"등).