2009-04-06 24 views
12

Tôi là người mới bắt đầu phát triển trang web của Django. Tôi chạy các trang web thảo luận nhỏ tương tự như SO.Google App Engine có tốt hơn Webfaction cho người mới bắt đầu trong Django dev không?

Tôi có một tài khoản tại Bluehost vốn là một cơn ác mộng trong việc phát triển bởi Django. Tôi nhận thấy rằng Webfaction và Google App Engine có vẻ là lựa chọn tốt nhất cho Django.

Tuy nhiên, tôi không chắc cái nào là tốt nhất cho tôi.

Google App Engine có tốt hơn Webfaction khi chạy các trang web nhỏ không?

+0

Webfaction và Google App Engine là "sự lựa chọn tốt nhất cho Django "? Kể từ khi? Tôi tìm thấy VPS của tôi thực hiện một công việc tuyệt vời với tính linh hoạt cao hơn nhiều so với WebFaction hoặc GAE cung cấp cho bạn. – Oli

+2

Vâng, nhưng VPS là đắt hơn đáng kể so với máy chủ chia sẻ. Đối với một ứng dụng nhỏ sử dụng WebFaction, bạn có thể giảm xuống 102 đô la cộng với chi phí của một miền và bạn tốt trong một năm. Ngay cả một VPS giá rẻ cũng đắt gấp đôi cho một kế hoạch tương tự. – LeafStorm

Trả lời

14

Webfaction:

Plus:

  1. lớn truy cập shell. Khả năng cài đặt các mô-đun python, hoặc bất cứ điều gì khác bạn có thể cần. Bạn sẽ thích kiểm tra mã nguồn từ trình bao để cập nhật sản phẩm của mình (không cần phải FTP bất kỳ thứ gì nữa!)
  2. Hiệu suất và độ tin cậy rất tốt
  3. Hỗ trợ tuyệt vời + thông tin trợ giúp trên cơ sở kiến ​​thức và diễn đàn. (FORGET bluehost hoặc bất kỳ thứ gì khác bạn đã từng thử). Tôi đã ngạc nhiên bởi số lượng câu trả lời tôi tìm thấy những gì tôi nghĩ sẽ là câu hỏi khó.
  4. Bạn có thể sử dụng cơ sở dữ liệu thường xuyên và bạn có thể làm tham gia (xem công cụ ứng dụng âm # 2)

Trừ:

  1. Thiết lập triển khai ban đầu có thể là một chút khó khăn trong vài lần đầu tiên xung quanh (như được mong đợi từ trình bao).
  2. Trồng gỉ có thể tốn kém và có thể bạn sẽ không sống sót beign "slashdotted"

App Engine

Plus:

  1. miễn phí để bắt đầu với
  2. cơ sở dữ liệu ban đầu dễ thiết lập hơn.
  3. Triển khai thật dễ dàng
  4. Thực thi nguyên tắc thiết kế "tốt" ngay từ đầu giúp bạn # 5. (Chẳng hạn như giới hạn cứng, db không chuẩn hóa, vv)
  5. Khả năng mở rộng (nhưng điều này không đến miễn phí - bạn cần suy nghĩ trước).
  6. Không bảo trì: sao lưu tự động, bảo mật đến miễn phí, ghi nhật ký + bảng điều khiển tập trung, cập nhật phần mềm là tự động.

Trừ:

  1. Thiết lập Django trên App Engine không phải là quá đơn giản, cũng như làm quen với thiết lập này. Khung công cụ webapp từ google yếu.
  2. Mô hình cơ sở dữ liệu mất một chút thời gian để quấn quanh đầu bạn. Đây không phải là máy chủ SQL của mẹ bạn. Ví dụ bạn phải chuẩn hóa DB của bạn ngay từ đầu và bạn không thể tham gia (trừ khi chúng tự tham gia)
  3. Những thứ thông thường bạn thường không ở đó. Một số thứ như kiểm tra và nhập dữ liệu không còn dễ dàng như vậy nữa.
  4. Bạn bị ràng buộc với App Engine và di chuyển dữ liệu của bạn sang một máy chủ hoặc máy chủ khác, trong khi không phải là không thể, không phải là dễ dàng. (Không phải là bạn thường xuyên di chuyển dữ liệu! Có lẽ không bao giờ)
  5. Giới hạn cứng trong các yêu cầu, phản hồi và kích thước tệp (lần cuối tôi nghe khoảng 1MB).
  6. Máy ứng dụng hiện chỉ hỗ trợ Python 2.5.

Không thể nghĩ ra bất kỳ điều gì khác cho đến thời điểm này. Tôi hiện đang có Webfaction và đang thử nghiệm App Engine. Tôi không gặp khó khăn gì từ Django-Webfaction đến cách suy nghĩ của App-Engine. Tuy nhiên, tôi không chắc liệu AppEngine -> Standalone servers route có dễ dàng không.

Tài liệu tham khảo

Talks:

3

Tôi không thể nói cho Google App Engine, nhưng với tư cách là người dùng Django gần đây, gần đây tôi đã chuyển trang web phát triển của mình sang máy chủ WebFaction và tôi phải nói rằng tôi vô cùng ấn tượng. Họ rất thân thiện với Django thiết lập (trong số những người khác) và nhân viên hỗ trợ trả lời bất kỳ vấn đề nhỏ tôi đã kịp thời. Tôi chắc chắn sẽ khuyên họ.

Đối với các máy chủ thân thiện với Django khác, hãy xem Djangofriendly.com.

2

Tôi là nhà phát triển công cụ ứng dụng của Google, vì vậy tôi không thể nói nhiều về webfaction, nhưng theo như tôi đã sử dụng thì việc thiết lập ứng dụng web với công cụ ứng dụng khá đơn giản ¹. Các nhân viên hỗ trợ tuy nhiên không phải là khá tốt.

1- http://code.google.com/appengine/articles/django.html

+0

@Diones: Bạn có thể xem các tệp Django của mình trong terminal trong Google App Engine không? Tôi muốn xem các tệp nào nằm trong dự án của tôi trong Google App Engine trong thiết bị đầu cuối. –

+0

Theo như tôi biết, không. Nhưng tôi chưa bao giờ thử. – Diones

+1

Có thư viện người xem nguồn mà mọi người đã viết. Nhưng App Engine không kiểm soát nguồn - nếu bạn cần làm điều này, UR Doin It Sai. –

1

Điều cần nhớ về GAE là nó hoạt động khác với một con trăn tiêu chuẩn cài đặt và ứng dụng bạn có thể không hoạt động tốt (hoặc ở tất cả) trong môi trường đó. Sự khác biệt lớn nhất là cơ sở dữ liệu. Mặc dù có những lợi thế cho cơ sở dữ liệu không quan hệ có sẵn với GAE, bạn cần phải xử lý nó một cách khác nhau và có rất nhiều điều mà mã của bạn có thể mong đợi cơ sở dữ liệu của bạn có thể làm điều đó nó không thể.

Nếu bạn đang bắt đầu từ đầu trên một ứng dụng, một trong hai nền tảng sẽ hoạt động tốt. Nếu bạn có một ứng dụng python hiện có, làm cho nó hoạt động trên GAE sẽ mất nhiều công sức.

4

Nếu bạn đã viết ứng dụng django của mình, có thể sẽ rất khó cài đặt ứng dụng này trên Google App Engine, vì bạn sẽ phải điều chỉnh mô hình dữ liệu của mình. GAE sử dụng bảng lớn, một kho lưu trữ (khóa, dữ liệu), thay vì một mô hình quan hệ truyền thống. Nó là tuyệt vời cho hiệu suất nhưng làm cho lập trình của bạn khó khăn hơn (ví dụ như không có trình xử lý quan hệ nhiều-nhiều).

Hơn nữa, hầu hết các ứng dụng có sẵn cho django sẽ không hoạt động trên GAE vì các ứng dụng này sử dụng mô hình dữ liệu quan hệ. Vấn đề rõ ràng nhất là ứng dụng quản trị tuyệt vời của django sẽ không hoạt động. Hơn nữa, GAE có xu hướng làm cho bạn sử dụng tài khoản google để nhận dạng. Điều này có thể được phá vỡ nhưng một lần nữa, không sử dụng các ứng dụng django sẵn có. Điều này có thể là tuyệt vời cho bạn, nhưng nó có thể là một rắc rối (ví dụ, rất nhiều tên người dùng đã được thực hiện tại google).

Vì vậy, lời khuyên cuối cùng của tôi là, nếu bạn là người mới bắt đầu, bạn nên tránh GAE.

Nếu bạn sống ở châu Âu, djangohosting.ch cũng là một lựa chọn tốt, thay vì webfaction.

+0

Có tốt hơn khi sử dụng dịch vụ lưu trữ ở Châu Âu nếu đối tượng mục tiêu của tôi là Châu Âu? Lợi ích của việc có một máy chủ gần khách hàng của tôi là gì? –

+0

Bạn sẽ có thời gian phản hồi tốt hơn, cho bạn, mà còn cho người dùng của bạn. Hãy thử truy cập các trang web ở Úc (ví dụ như các trường đại học), bạn sẽ cảm thấy đau. – madewulf

+0

@madewulf: Bạn có biết cách lưu trữ khác nhau giữa Webfaction và djangohosting.ch không? –

3

Một chút muộn với câu trả lời của tôi, nhưng tuy nhiên ... Tôi là người mới bắt đầu Django và có first Django App của tôi và chạy tại GAE. Đó là App Engine Patch đã làm cho nó xảy ra. Sử dụng nó, bạn có quản trị django và một số ứng dụng khác có sẵn trong hộp. Nếu bạn muốn thử nó, đi cho phiên bản thân cây. Dự án này được tài liệu hợp lý và có cộng đồng đáp ứng tốt.

+0

@Alexander: Câu trả lời tuyệt vời không bao giờ là quá muộn :) Cảm ơn bạn đã trả lời! –

+0

@Alexander: Bạn đã sử dụng mã Django hiện có chưa? Có vẻ như tuyên bố của Madewulf "hầu hết các ứng dụng có sẵn cho django sẽ không hoạt động trên GAE vì các ứng dụng này sử dụng mô hình dữ liệu quan hệ" không còn đúng nữa. –

+0

Tôi đã tự mã hóa ứng dụng của mình. Madewulf là đúng: porting ứng dụng Django hiện có để AE đòi hỏi nỗ lực, ngay cả với sự giúp đỡ của AEP. Chỉ cần nhìn vào nhóm thảo luận của dự án. Một số khung công tác đã được chuyển và một số khung được viết từ đầu như http://gae-full-text-search.appspot.com/ từ các tác giả AEP. Tác giả sẽ xây dựng một cổng gốc của Django thành AEP, xem http://code.djangoproject.com/wiki/AppEngine Thật không may, đây không phải là nhiệm vụ ngắn hạn. –

Các vấn đề liên quan