*Đã lưu trữ* = Dịch vụ lưu trữ đám mây tốt nhất? = Xin chào các bạn, Vì vậy, tôi muốn triển khai API phụ trợ Django của mình nhưng không phải để sản xuất, để phát triển. Dịch vụ đám mây ưa thích của bạn để làm điều đó là gì? Vì vậy, cho đến nay, tôi đã tìm thấy dịch vụ Ngrok và Amazon AWS, đồng thời Jenkins và tôi hiểu sâu về từng dịch vụ để so sánh. Tôi muốn biết từ kinh nghiệm của bạn, dịch vụ ưa thích của bạn là gì P.S: gần đây tôi đã nhận được phản hồi rất thù địch vì thiếu kinh nghiệm và chỉ cố gắng giúp đỡ - Tôi thấy phụ này dần trở nên thù địch và hung hăng như các trang web khác (hình như chỉ cần nhắc đến tên của các trang web khác là bài đăng của bạn bị xóa) Vì vậy, xin thứ lỗi cho bất kỳ sự thiếu kinh nghiệm nào bạn tìm thấy trong bài đăng của tôi (hoặc các bài đăng/bình luận trong tương lai) CHỈNH SỬA: Tôi không mong đợi nhiều phản hồi như vậy, cảm ơn tất cả các bạn đã phản hồi, tôi sẽ cố gắng trả lời mọi người Nếu nó được triển khai cho một máy chủ từ xa thì việc nó có được sản xuất hay không thực sự không quan trọng - hầu hết mọi thứ sẽ giống nhau. Để triển khai miễn phí và tương đối dễ dàng, hãy thử Pythonanywhere hoặc Heroku. Nếu bạn muốn kiểm soát nhiều hơn, hãy thử Digital Ocean. Tôi đã viết một hướng dẫn (tôi nghĩ là khá toàn diện) để triển khai *đầu tiên* Ứng dụng Django cho Digital Ocean tại đây Vâng, đại dương kỹ thuật số chắc chắn là một viên ngọc quý nếu bạn muốn kiểm soát, chắc chắn bạn sẽ không triển khai trong nửa phút nhưng nó chắc chắn vượt trội so với hầu hết các tùy chọn khác nếu bạn muốn kiểm soát nhiều hơn Pythonanywhere dường như phù hợp với nhu cầu của tôi 90% thời gian, không quá nhiều kiểm soát, không quá nhiều tự động hóa và cầm tay, đâu đó ở giữa Tôi có rất nhiều kinh nghiệm với cả AWS Lambda và Django. Tôi không thể nghĩ ra một lý do chính đáng nào để thực hiện Django trên AWS Lambda. Giống như, không phải là một lý do duy nhất. Cực kỳ phức tạp để thu được rất ít lợi nhuận, đặc biệt là khi các phụ thuộc của bạn thậm chí còn nhiều hơn tầm thường một chút. Bạn không muốn chơi trò chơi tối ưu hóa phụ thuộc với giới hạn kích thước tệp 250 MB. Nếu bạn thực sự gặp vấn đề về khả năng mở rộng cho một dự án django, tôi có thể nói rằng giải pháp có thể là sự kết hợp giữa ECS, cần tây và nền tảng đám mây Heroku rất dễ triển khai, miễn phí cho đến khi bạn đạt đến một giới hạn nhất định, pythonanywhere cũng giống như vậy nhưng khó hơn một chút vì bạn phải thiết lập một số thứ bằng tay, yêu cầu hiểu biết cơ bản về các lệnh Linux (không có gì nâng cao) Cả hai đều có tùy chọn khóa trang web bằng mật khẩu nếu bạn không muốn mọi người truy cập hoặc kết nối với trang đó trừ khi họ được ủy quyền Tôi đã sử dụng Heroku được vài năm. DB của tôi là tầng postgres miễn phí. Nó hoạt động rất tốt và tôi trả tổng cộng 7 đô la mỗi tháng. Hãy cho tôi biết nếu bạn có câu hỏi cụ thể hơn. Tài liệu của họ rất tốt và tôi gặp ít vấn đề. Tôi có một URL tùy chỉnh, https, toàn bộ Tôi triển khai tất cả các dự án Django của mình trong Google Cloud Run. Tôi thực sự yêu thích nó Đây là cách tôi giải quyết nó: Tôi bắt đầu bằng cách triển khai cơ sở dữ liệu dành cho nhà phát triển của mình trong Google Cloud SQL. Tôi sử dụng cùng một phiên bản mySQL trên đám mây này để thử nghiệm và dàn dựng đám mây và nhà phát triển cục bộ ** Nhà phát triển địa phương Tôi chạy 3 bộ chứa docker với docker-compose: - ứng dụng Django của tôi. Container đã bao gồm nginx. DB trỏ đến vùng chứa proxy SQL - hình ảnh proxy Google SQL tiêu chuẩn. Yêu cầu tài khoản dịch vụ của Google json - bộ chứa phpmyadmin tiêu chuẩn. Chủ yếu để khắc phục sự cố mySQL ** Triển khai đám mây. dàn dựng và sản xuất - Tôi có tệp cloudbuild.yaml cho ứng dụng Django của mình. Điều đó mô tả cách xây dựng và triển khai ứng dụng Django cho Google Cloud Run - Trong Google Cloud Run, tôi đã đặt trình kích hoạt để xây dựng/triển khai ứng dụng của mình dựa trên cam kết git cho ứng dụng của tôi. Thao tác này đọc cloudbuild.yaml và tự động triển khai các thay đổi của tôi trên đám mây - Tôi đặt tất cả các biến ENV của mình trong trình kích hoạt để được chuyển đến cloudbuild.yaml và cuối cùng là các phiên bản Cloud Run. Tất nhiên chúng khác nhau về dàn dựng và sản phẩm. **Tại sao tôi thích nó** - Thiết lập ban đầu không đơn giản, nhưng khả năng tự động hóa mà nó mang lại cho tôi thật tuyệt vời - Chi phí cho phiên bản nhà phát triển thực sự thấp. Google Cloud Run chỉ tính phí cho những giây đã sử dụng. Vì vậy, một vài đô la mỗi tháng Hiện tại, phiên bản Cloud SQL là nơi có chi phí, vì điều đó kích hoạt một máy ảo luôn chạy. Con nào CPU thấp thì xuống dưới 10$/tháng - Đối với các phiên bản prod của bạn, bạn sẽ có được toàn bộ sức mạnh của Google Cloud Platform. Chia tỷ lệ ngang vô hạn (miễn là ứng dụng web của bạn không trạng thái). Cloud Run sẽ tự động mở rộng quy mô. Bạn cũng có thể mở rộng Cloud SQL theo chiều ngang và/hoặc theo chiều ngang - Google Cloud Run đi kèm với các điểm cuối http/https mà bạn có thể ánh xạ tới miền của mình. Không gặp rắc rối với cấu hình chứng chỉ SSL. tôi yêu cái này Hãy cho tôi biết nếu bạn quan tâm, tôi có thể cung cấp thêm chi tiết. Bây giờ tôi nghĩ rằng tôi nên viết một bài chi tiết về cách làm điều này Và đây là ứng dụng web Django cuối cùng của tôi, được triển khai trong Google Cloud Run Nếu bạn đang thực hiện một số nghiên cứu về các dịch vụ lưu trữ đám mây khác nhau, thì bạn nên kiểm tra Engine Yard. Tôi đã sử dụng engine yard cho các triển khai ứng dụng khác nhau trên đám mây và tôi muốn nói rằng đó là một nền tảng rất năng động và thân thiện với người dùng cho triển khai ứng dụng của bạn trên đám mây Engine Yard Cloud (EYC) là Nền tảng dưới dạng Dịch vụ (PaaS) được ưa thích rộng rãi để lưu trữ ứng dụng Ruby, Node và PHP. Nó có một cơ sở hạ tầng mạnh mẽ, được quản lý đầy đủ cùng với sự hỗ trợ đẳng cấp thế giới. Nó có một cơ sở hạ tầng khá an toàn và các bản vá luôn được cập nhật để thuận tiện cho bạn. Bạn không có chi phí quản lý toàn bộ ngăn xếp, bao gồm cơ sở dữ liệu và bộ cân bằng tải. Tất cả điều này được chăm sóc của. Các bản sao lưu xảy ra tự động. Theo tôi thấy, Engine yard là một nền tảng tiết kiệm thời gian và chi phí Bạn cũng có thể khám phá Engine Yard Kontainers (EYK). Đó là một nền tảng thế hệ tiếp theo. Tôi đã thử nó và thấy đó là một sự di chuyển xứng đáng. Nó hỗ trợ nhiều ngăn xếp, tự động mở rộng theo thời gian thực và nhiều tính năng khác. Bạn có thể tra cứu cả Engine Yard Cloud và Engine Yard Kontainers Tôi khuyên bạn nên sử dụng Nền tảng ứng dụng trên Digital Ocean. Nó tương tự như Heroku, nhưng cung cấp nhiều năng lượng hơn với một phần nhỏ chi phí của Heroku Nó không có tất cả các tính năng mà Heroku có, nhưng ít nhất đối với tôi, nó có đủ để hoạt động Tôi không phải là DevOps, vì vậy tôi không biết cách định cấu hình Droplet bình thường theo cách an toàn. Đây là lý do tại sao Nền tảng ứng dụng hoạt động tốt hơn nhiều - tôi không cần phải suy nghĩ về việc mất các biện pháp an toàn ngoài ứng dụng của mình Tất cả các dự án cá nhân của tôi được đóng gói trong bộ chứa docker và được triển khai trong một cụm nút kubernetes duy nhất trên Scaleway.com. Nó khá thú vị và ít phải bảo trì, và nếu một cái đạt đến một quy mô nhất định, tôi có thể dễ dàng chuyển chúng sang cụm lớn hơn hoặc dịch vụ triển khai vùng chứa khác (chẳng hạn như ECS hoặc thậm chí tự triển khai chúng trên một phiên bản chỉ với thời gian chạy vùng chứa được cài đặt ) Trước đây, tôi đã triển khai dịch vụ django trên AWS Lambda với Zappa, nhưng bạn mất rất nhiều quyền kiểm soát và có một số điều nhỏ bạn cần tìm hiểu và triển khai (ví dụ: sử dụng khung serverless, quản lý phiên bản, giữ nguyên lambdas "ấm", v.v.).