Ai đó có thể giải thích cảnh quan thực sự của Rails so với triển khai PHP, đặc biệt là trong bối cảnh lưu trữ web dựa trên Reseller (ví dụ: Hostgator) không?


15

Hiện tại, tôi có tài khoản người bán lại với công ty HostGator. Tôi thiết kế các trang web, cho đến nay thỉnh thoảng được gói trong Wordpress CMS và những thứ tương tự (ứng dụng PHP). Sau đó tôi bán hosting (của trang web tôi đã thiết kế) cho khách hàng, điều này khá đơn giản, ở chỗ tôi chỉ cần nhấp vào nút và thêm tài khoản / trang web lưu trữ được chia sẻ mới với bất kỳ cài đặt nào tôi muốn. Hơn nữa, sau đó tôi sử dụng WHMCS để tự động hóa quản lý tài khoản và thanh toán.

Đó là một gói đẹp và khá đơn giản. Tôi trả khoảng 25 đô la một tháng và có thể bán hàng trăm tài khoản theo điều này (vì yêu cầu băng thông của khách hàng của tôi thấp).

Bây giờ tôi đang tìm thấy nhu cầu phát triển các ứng dụng tùy biến hơn, bao gồm một CMS tối giản và một số thứ độc quyền. Tôi cũng sớm dự đoán việc phát triển các ứng dụng này cho khách hàng. Vì vậy, tôi đã dành vài tháng qua để học Rails, và giờ nó cũng xuất hiện.

Tuy nhiên, điều khiến tôi khó chịu là vấn đề triển khai. Tôi không thể bọc bộ não của mình xung quanh nó. Có vẻ như tất cả các tùy chọn phổ biến (Heroku, v.v.) đều có tự động hóa tốt với git và được thiết lập trong "Rails Way". Tôi hiểu điều đó (loại). Nhưng nó cực kỳ tốn kém ... một dyno, một người trợ giúp và cơ sở dữ liệu rẻ nhất (mà họ nói là chủ yếu phù hợp để thử nghiệm) không giới hạn ở 5MB chạy $ 51. Đây là cho MỘT ứng dụng !!! Ném vào một DB "sản xuất" và bạn có hơn 200 đô la. Điều này giống như ... giá tương tự như nhận được một máy chủ ở đâu đó, phải không?

Trong khi đó, quay trở lại với những gì tôi đoán là môi trường lưu trữ "truyền thống" với Hostgator, máy chủ của họ chỉ có Ruby 1.8.7 và Rails 2.3.5 ... Không có Rails 3. VÀ, không có Hành khách (không phải tôi thực sự hiểu sự khác biệt trong CGI hoặc mod_rails hoặc bất cứ điều gì, nhưng họ nói Hành khách là đơn giản nhất). Vì vậy, tôi hiểu rằng nếu tôi xây dựng một ứng dụng trong Rails 3, nó sẽ không chạy trên máy chủ này? Nhưng chết tiệt, tôi đã có những tài khoản này trong tài khoản người bán lại của mình ở đó, tất cả đều chạy html tĩnh và / hoặc công cụ PHP, phải không? Giờ thì sao? Làm thế nào để tôi có được tất cả những điều này dưới một mái nhà đơn giản (và giá cả phải chăng)?

Tha thứ cho sự thiếu hiểu biết của tôi, nhưng tôi không nhận được nó. Quản lý VPS là tuyệt vời và tất cả, nhưng đòi hỏi phải học các công cụ quản trị và bảo mật máy chủ ... Và nó rất tốn kém. Tôi hiểu rằng một "dựa trên máy chủ" được chia sẻ và / hoặc đại lý bán lẻ (tha thứ cho thuật ngữ) có thể không đủ cho các ứng dụng quy mô lớn sử dụng nhiều băng thông ... Nhưng đối với những người trong chúng ta đang xây dựng thực sự (nhưng nhỏ và băng thông thấp) các ứng dụng (có Rails) và ai muốn triển khai chúng một cách đơn giản, rẻ tiền, sử dụng cách tiếp cận khái niệm giống như PHP? Ngay cả sau khi tìm hiểu tất cả những thứ về Ruby và Rails này trong nhiều tháng, tôi vẫn tự hỏi liệu nó có xứng đáng khi triển khai hay không. Tôi muốn xây dựng một ứng dụng nhỏ, tải nó lên thư mục chính của mình trên tài khoản máy chủ được chia sẻ và chỉ cần làm cho nó chạy. Tại sao phải khó khăn như vậy? Tôi chỉ chọn sai ngôn ngữ / khung?

Tha thứ cho sự thiếu hiểu biết của tôi trong chủ đề này; những câu hỏi này không khoa trương; chỉ cố gắng học ở đây.

Vì thế:

1) Tôi đánh giá cao nếu ai đó có thể cho tôi một bản tóm tắt tốt về cách hiểu triển khai trong Rails so với PHP.

2) Tôi đánh giá cao nếu ai đó có thể giải quyết vấn đề của tôi khi điều hành một doanh nghiệp lưu trữ / web xung quanh dịch vụ lưu trữ của người bán lại (Hostgator) trong khi cũng có thể lưu trữ ứng dụng Rails. Nó có thể được thực hiện? Và làm thế nào một công ty như Hostgator hoàn toàn bỏ qua những gì hiện tại trong Rails / Ruby?

Cảm ơn.


2
+1 vì không nói "này, tôi sẽ thuê VPS! Tôi sẽ không bị hack vì tôi đã cập nhật tự động, phải không?"
Pekka hỗ trợ GoFundMonica

4
@closevoters nếu bạn phải đóng, ít nhất là bỏ phiếu để di chuyển nó sang serverfault hoặc webmaster. Đó là một câu hỏi hoàn toàn tốt, và không có gì phải bàn cãi cả
Pekka hỗ trợ GoFundMonica

Câu trả lời:


9

Mặc dù lưu trữ Rails có thể sẽ không bao giờ rẻ như PHP, vì các yêu cầu về cơ sở hạ tầng luôn cao hơn, nên việc lưu trữ một trang Rails không tốn kém.

Cần phải có một số kỹ năng kỹ thuật nhất định để triển khai đúng máy chủ dựa trên Linux và tải trên Rails và tất cả các công cụ hỗ trợ cơ sở dữ liệu liên quan, nhưng đây không phải là trở ngại không thể vượt qua. Bất kỳ lập trình viên có năng lực nào cũng có thể đạt được tốc độ trong vòng vài tuần chỉ với vài giờ mỗi ngày và một cuốn sách tham khảo tốt. Đây là loại điều có giá trị để biết dù sao vì nó giúp bạn điều chỉnh môi trường triển khai của mình.

Nhiều hệ thống lưu trữ Rails "ngoài luồng" rất tốn kém. EngineYard , JoyentHeroku là những ví dụ tuyệt vời về điều đó, nhưng trong mọi trường hợp, chúng đều mang giá cao hơn so với giải pháp thay thế tự lưu trữ.

Nếu bạn có một khách hàng có thể chi trả phí bảo hiểm này, bạn nên tận dụng chuyên môn của họ. Nếu bạn có ngân sách rất eo hẹp, bạn có thể không thể biện minh cho việc này.

Giải pháp lưu trữ Rails đắt tiền nhất mà tôi biết về công việc đó là sử dụng Linode với phân phối tiêu chuẩn kết hợp với Hành khách . Với một số điều chỉnh cơ bản, không có gì đặc biệt khó khăn, bạn có thể lưu trữ một trang web quy mô nhỏ đến trung bình ngay cả khi cung cấp rẻ nhất của họ. Một máy có bộ nhớ 512MB thường có thể lưu trữ hai đến ba trang Rails được tải nhẹ hoặc một trang bận. Bằng cách tải nhẹ tôi có nghĩa là hàng trăm khách truy cập mỗi ngày. Bận rộn là hàng ngàn đến xu hướng của hàng ngàn.

Trong thực tế, tôi đã gặp rất nhiều rắc rối với việc lưu trữ PHP được chia sẻ đến mức không đáng để tiết kiệm chi phí để làm theo cách đó. Thay vào đó, tôi có một số hệ thống VPS trên Linode dành riêng cho lưu trữ PHP, blog WordPress, và chúng hoạt động rất tốt. Mặc dù bạn có thể thấy phiền toái khi bạn phải đi vào và vá máy một lần, ít nhất bạn có thể lên lịch cho điều đó và lường trước các vấn đề tiềm ẩn thay vì thương xót nhà cung cấp của bạn.

Các công ty lưu trữ hàng hóa thường sẽ phá vỡ mọi thứ một cách tình cờ và phục hồi dịch vụ có thể là một quá trình tốn thời gian của vé rắc rối và các cuộc gọi điện thoại.

Triển khai bất kỳ ứng dụng nào, Rails hay nói cách khác là tất cả về quy trình làm việc. Nhiều công cụ định hướng Ruby như CapistranoChef có thể giúp quản lý các ứng dụng dễ dàng hơn nhiều so với cách tiếp cận thủ công.

My Take on Rails: Nó có thể đắt hơn một chút, nhưng việc quản lý sẽ dễ dàng hơn rất nhiều khi bạn đã quen với các công cụ và tự động hóa quy trình làm việc của bạn.


1
Một tổng quan tốt về cách lưu trữ đường ray, +1. Vấn đề của việc tự lưu trữ là bạn phải có phần giỏi về nó, dành thời gian để chăm sóc hộp của bạn thường xuyên và biết phải làm gì khi điều này xảy ra vào giữa đêm. Đó là điều luôn khiến tôi tránh xa nó
Pekka hỗ trợ GoFundMonica

5

Không phải là một câu trả lời cho câu hỏi của bạn, nhưng thành thật mà nói, sự thúc đẩy ban đầu của tôi khi tôi đọc về thiết lập doanh nghiệp của bạn là: "Tại sao anh ta không chỉ gắn bó với PHP?"

Đừng hiểu sai ý tôi: Tôi chắc chắn rằng Ruby là một ngôn ngữ tuyệt vời và Rails là một khung công tác tuyệt vời và phần lớn nó vượt trội hơn nhiều so với PHP. Nó cũng tuyệt vời cho một nhà phát triển để khám phá các lĩnh vực mới, v.v.

Nhưng từ góc độ kinh doanh thuần túy, PHP được cho là "nơi nó ở" cho ba điều quan trọng tại thời điểm này:

  • Lưu trữ giá rẻ, và

  • Phần mềm CMS cho mọi sở thích, kích cỡ, mức độ kỹ năng và yêu cầu và màu sắc yêu thích. Một số trong số chúng thậm chí có thể sử dụng được một nửa, và

  • Nhà phát triển giá cả phải chăng, một số trong số họ thậm chí có khả năng một nửa.

Vì vậy, nếu tôi là bạn, tôi sẽ xem xét liệu các yêu cầu của bạn có thể được thực hiện với PHP trước hay không.

Mặt khác, +1 để hỏi một câu hỏi rất chu đáo và sẽ rất thú vị khi xem kết quả. Tôi đã thấy lưu trữ đường ray giá cả phải chăng nhưng nó là rất ít.


Âm thanh như PHP là một nửa ở đó trên mỗi tính theo mô tả của bạn. Nó thực sự không tệ đến mức như môi trường, và từ góc độ kinh doanh, mã hóa sang một bên, nó chỉ là một thành phần cho một thứ khác. Những loại nhà phát triển bạn có sẵn có thể là yếu tố thúc đẩy ở đây.
tadman

Cảm ơn. Tôi hy vọng tôi đã không bắt đầu một cuộc chiến với câu hỏi này và nó sẽ không đi sâu vào vấn đề đó. Chỉ cố gắng xoay quanh những thứ này từ quan điểm của một doanh nghiệp và của một nhà phát triển đầy tham vọng (không có sự gắn bó thực sự với bất kỳ ngôn ngữ hoặc mô hình cụ thể nào).

@rcd bạn được chào đón. Điều duy nhất là câu hỏi này có thể tốt hơn trên Serverfault.com hoặc Webmasters.SE - nếu năm người bỏ phiếu tương ứng, nó sẽ được tự động di chuyển đến đó.
Pekka hỗ trợ GoFundMonica

Âm thanh tốt; Tôi sẽ giữ những trang web đó trong tâm trí từ bây giờ; nếu tôi nên làm gì đó để di chuyển nó đến đó (hoặc chỉ nên đăng lại nó ở đó), xin vui lòng cho tôi biết; Tôi có thể không biết về một tính năng như vậy.

3

Tôi đã tìm thấy một máy chủ chia sẻ đường ray rất tốt: webfaction . Tôi rất hài lòng với nó. Kiểm tra nó ra! Giá thấp đáng kinh ngạc, họ cung cấp trình cài đặt một lần nhấp cho đường ray, số lượng trang web bạn có thể lưu trữ là không giới hạn. Phiên bản rails được hỗ trợ cao nhất của họ là 3.0.5 !!! :) Bạn có quyền truy cập ssh vào chia sẻ của mình, vì vậy bạn có toàn quyền kiểm soát, bạn có thể triển khai bằng capistrano hoặc làm công cụ bằng tay trên máy chủ. Thực sự tuyệt vời.

Tài liệu của họ thực sự tốt và họ có một diễn đàn hỗ trợ rất tích cực, cho tất cả các câu hỏi khác.


1

Một giải pháp mới tốt cho vấn đề cũ này là Digital Ocean .

Chúng tôi đã triển khai một ứng dụng Rack và nó không khó lắm. Giá bắt đầu từ $ 5 / tháng / ứng dụng.

Họ có Ứng dụng One-Click cho Rails, điều này sẽ giúp mọi việc dễ dàng hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.