Czy ktoś może wyjaśnić prawdziwy krajobraz wdrożenia Rails vs. PHP, szczególnie w kontekście hostingu opartego na Resellerach (np. Hostgator)?

15

Obecnie mam konto sprzedawcy w firmie HostGator. Projektuję strony internetowe, które do tej pory były czasami pakowane w Wordpress CMS i tym podobne (aplikacje PHP). Następnie sprzedaję hosting (strony, którą zaprojektowałem) klientowi, co jest dość proste, ponieważ mogę po prostu kliknąć przycisk i dodać nowe wspólne konto / witrynę hostingową z dowolnymi ustawieniami. Ponadto wykorzystuję WHMCS do automatyzacji rozliczeń i zarządzania kontem.

To ładna paczka i całkiem prosta. Płacę około 25 USD miesięcznie i mogę w tym celu sprzedać sto kont (ponieważ wymagania moich klientów dotyczące przepustowości są niskie).

Teraz widzę potrzebę opracowania bardziej spersonalizowanych aplikacji, w tym minimalistycznego CMS i kilku zastrzeżonych rzeczy. Wkrótce spodziewam się również opracowania tych aplikacji dla klientów. Tak więc spędziłem kilka ostatnich miesięcy ucząc się Railsów, i teraz wszystko idzie dobrze.

Tym, co mnie jednak dręczyło, jest problem z wdrożeniem. Nie mogę się tym zająć. Wygląda na to, że wszystkie popularne opcje (Heroku itp.) Mają niezłą automatyzację z git i są ustawione w „Rails Way”. Rozumiem (w pewnym sensie). Ale to jest strasznie drogie ... pojedyncza hamownia, pomocnik i najtańsza baza danych (która, jak mówią, nadaje się głównie do testowania), która nie jest ograniczona do 5 MB, kosztuje 51 USD. To jest dla jednej aplikacji !!! Wrzuć „produkcyjną” bazę danych, a masz ponad 200 USD. To jak ... takie same ceny, jak gdzieś za serwer, prawda?

Tymczasem wracając do tego, co, jak sądzę, jest „tradycyjnym” środowiskiem hostingowym z Hostgatorem, ich serwer ma tylko Ruby 1.8.7 i Rails 2.3.5 ... Brak Rails 3. ORAZ brak Pasażera (nie to, że naprawdę rozumiem różnicę w CGI lub mod_rails lub czymkolwiek, ale mówią, że Passenger jest najprostszy). Więc rozumiem, że jeśli zbuduję aplikację w Rails 3, to w ogóle nie będzie działać na tym hoście? Ale cholera, mam już te konta na moim koncie sprzedawcy, wszystkie obsługują statyczne pliki HTML i / lub PHP, prawda? Co teraz? Jak uzyskać to wszystko pod jednym prostym (i niedrogim) dachem?

Wybacz moją niewiedzę, ale po prostu jej nie rozumiem. Zarządzanie VPS jest fajne, ale wymaga nauki administrowania serwerami i bezpieczeństwa ... I jest drogie. Rozumiem, że współużytkowany i / lub odsprzedawca „oparty na serwerze” (wybaczmy terminologię) może być nieodpowiedni dla aplikacji na dużą skalę, które używają dużej przepustowości ... Ale co z tymi z nas, którzy budują prawdziwe (ale małe) aplikacje o niskiej przepustowości) (z Railsami) i kto chce je wdrażać w prosty, tani sposób, stosując takie samo koncepcyjne podejście jak PHP? Nawet po tym, jak poznałem wszystkie te Ruby i Railsy od miesięcy, zastanawiam się, czy warto, jeśli chodzi o wdrożenie. Chcę zbudować małą aplikację, załadować ją do mojego katalogu domowego na koncie serwera współdzielonego i po prostu uruchomić. Dlaczego to takie trudne? Czy wybieram niewłaściwy język / strukturę?

Wybacz mi moją niewiedzę w temacie; pytania te nie są retoryczne; próbuję się tutaj nauczyć.

Więc:

1) Byłbym wdzięczny, gdyby ktoś dał mi dobry przegląd tego, jak rozumieć wdrożenie w Rails vs. PHP.

2) Byłbym wdzięczny, gdyby ktoś mógł rozwiązać mój problem z prowadzeniem firmy hostingowej / internetowej wokół hostingu dla sprzedawców (Hostgator), jednocześnie będąc w stanie obsługiwać aplikacje Railsowe. Czy da się to zrobić? I w jaki sposób firma taka jak Hostgator może całkowicie ignorować to, co jest obecne w Rails / Ruby?

Dzięki.

rcd
źródło
2
+1 za nie powiedzenie „hej, po prostu wynajmę VPS! Nie zhakuje mnie, bo mam automatyczne aktualizacje, prawda?”
Pekka
4
@closevoters, jeśli musisz zamknąć głosowanie, przynajmniej głosuj, aby przenieść go na błąd serwera lub webmastera. To pytanie jest całkowicie w porządku i wcale nie sprzeczne
Pekka

Odpowiedzi:

9

Chociaż hosting Railsów prawdopodobnie nigdy nie będzie tak tani jak PHP, ponieważ wymagania dotyczące infrastruktury są zawsze wyższe, hostowanie strony Railsowej nie jest drogie.

Potrzeba pewnych umiejętności technicznych, aby poprawnie wdrożyć serwer oparty na systemie Linux i załadować Railsy oraz wszystkie powiązane zaplecze bazy danych, ale nie jest to przeszkoda nie do pokonania. Każdy kompetentny programista może prawdopodobnie przyspieszyć w ciągu kilku tygodni przy zaledwie kilku godzinach dziennie i dobrej książce. Jest to coś, co warto wiedzieć, ponieważ pomaga dostroić środowisko wdrażania.

Wiele gotowych systemów hostingowych Rails jest drogich. EngineYard , Joyent i Heroku są świetnymi tego przykładami, ale w każdym przypadku mają przewagę nad alternatywną wersją hostowaną przez siebie.

Jeśli masz klienta, który może sobie pozwolić na tę premię, warto skorzystać z jego wiedzy. Jeśli masz bardzo napięty budżet, możesz nie być w stanie tego uzasadnić.

Najdroższe rozwiązanie hostingowe Railsów, jakie znam, działa na Linode ze standardową dystrybucją w połączeniu z Passenger . Po kilku podstawowych tuningach, nic szczególnie trudnego, możesz hostować małe i średnie witryny nawet w najtańszej ofercie. Maszyna z 512 MB pamięci może zwykle obsługiwać od dwóch do trzech lekko załadowanych witryn Rails lub jedną zajętą. Przez lekko obciążone mam na myśli setki odwiedzających dziennie. Zajęty to tysiące do tysięcy.

W rzeczywistości miałem tak wiele problemów ze współdzielonym hostingiem PHP, że zrobienie tego w ten sposób nie jest warte oszczędności. Zamiast tego mam kilka systemów VPS na Linode, które są specjalnie przeznaczone do hostingu PHP, zwykle blogi WordPress i działają bardzo dobrze. Chociaż może to być uciążliwe, że musisz od czasu do czasu załatać maszyny i załatać maszyny, przynajmniej możesz to zaplanować i przewidzieć potencjalne problemy zamiast być na łasce swojego dostawcy.

Firmy hostingowe często często psują rzeczy, a przywrócenie usług może być czasochłonnym procesem kłopotliwych biletów i rozmów telefonicznych.

Wdrożenie dowolnej aplikacji, Railsów lub innej, polega na przepływie pracy. Wiele narzędzi zorientowanych na Ruby, takich jak Capistrano i Szef Kuchni może znacznie ułatwić zarządzanie aplikacjami niż podejście ręczne.

Moje zdanie na temat Railsów: może być nieco droższe, ale łatwiej jest nim zarządzać, gdy przyzwyczaisz się do narzędzi i zautomatyzujesz przepływ pracy.

tadman
źródło
1
Dobry przegląd hostowania szyn, +1. Samo-hosting polega na tym, że musisz być w tym trochę dobry, zarezerwować trochę czasu, aby często dbać o swoje urządzenie i wiedzieć, co robić, gdy dzieje się to w środku nocy. To zawsze trzymało mnie z dala od tego
Pekka
5

Nie jest to odpowiedź na twoje pytanie, ale szczerze mówiąc, moim początkowym impulsem, kiedy przeczytałem o twojej konfiguracji biznesowej, było: „Dlaczego on nie trzyma się PHP?”.

Nie zrozumcie mnie źle: jestem pewien, że Ruby jest pięknym językiem, a Rails to świetny framework, a jego duża część jest pod wieloma względami lepsza niż PHP. Świetnie nadaje się także dla programistów do odkrywania nowych pól itp.

Ale z czysto biznesowego punktu widzenia PHP jest prawdopodobnie „gdzie jest” w przypadku trzech ważnych rzeczy:

  • Tani hosting i

  • Oprogramowanie CMS dla każdego smaku, wielkości, poziomu umiejętności i wymagań oraz ulubionego koloru. Niektóre z nich są nawet w połowie użyteczne, i

  • Przystępni deweloperzy, niektórzy z nich nawet w połowie drogi.

Więc gdybym był tobą, sprawdziłbym, czy twoje wymagania mogą zostać spełnione w PHP.

W przeciwnym razie +1 za zadanie bardzo przemyślanego pytania, a rezultaty będą interesujące. I nie widać niedrogie szyn hostingu ale nieliczne.

Pekka
źródło
Wygląda na to, że PHP jest w połowie drogi pod każdym względem według twojego opisu. Z punktu widzenia środowiska nie jest to wcale takie złe, a z punktu widzenia biznesu, poza kodowaniem, jest to tylko jeden element dla drugiego. Czynniki, które masz do dyspozycji, mogą być tutaj motorem napędowym.
tadman
Dzięki. Mam nadzieję, że nie rozpocząłem wojny z tym pytaniem i że nie rozwinie się w to. Po prostu próbuję owinąć głowę tymi rzeczami z perspektywy biznesu i aspirującego programisty (bez prawdziwego przywiązania do konkretnego języka lub paradygmatu).
@rcd nie ma za co. Jedyną rzeczą jest to, że lepiej odpowiedzieć na to pytanie na Serverfault.com lub Webmasters.SE - jeśli pięć osób zagłosuje odpowiednio, zostanie tam automatycznie migrowane.
Pekka
Brzmi dobrze; Odtąd będę pamiętać o tych witrynach; jeśli powinienem coś zrobić, aby przenieść go tam (lub po prostu tam go opublikować), proszę dać mi znać; Mogę nie wiedzieć o takiej funkcji.
3

Znalazłem bardzo dobry wspólny host szyn: webfaction . Jestem z tego bardzo zadowolony. Sprawdź to! Ceny są zadziwiająco niskie, oferują instalatory do szyn jednym kliknięciem, liczba witryn, które możesz hostować, jest nieograniczona. Ich najwyższa obsługiwana wersja szyn to 3.0.5 !!! :) Masz dostęp ssh do swojego udziału, więc masz pełną kontrolę, możesz wdrażać za pomocą capistrano lub robić rzeczy ręcznie na serwerze. Naprawdę niesamowite.

Ich dokumentacja jest naprawdę dobra i mają bardzo aktywne forum wsparcia dla wszystkich innych pytań.


źródło
1

Dobrym nowym rozwiązaniem tego starego problemu jest Digital Ocean .

Wdrożyliśmy aplikację Rack i nie jest to takie trudne. Ceny zaczynają się od 5 USD / miesiąc / aplikację.

Mają aplikację One-Click dla Railsów, która powinna ułatwić.

B Seven
źródło