Когда ваш веб-сайт или веб-приложение переросли вашу учетную запись общего хостинга, пришло время переместить ее в облако или на виртуальный частный сервер (VPS). В настоящее время провайдеры VPS предлагают лучшую стоимость с точки зрения ресурсов ЦП и ОЗУ, чем аналоги общего хостинга. Однако я могу вспомнить, когда несколько лет назад я хотел переместить свой веб-сайт в Amazon Web Services, и мне понадобилось несколько дней, чтобы развернуть сервер и подготовить его к использованию PHP, MySQL и Apache.
К счастью, сегодня это не так, поскольку у нас есть несколько интересных инструментов и сторонних сервисов.
Я взглянул на три похожих сервиса — RunCloud, ServerPilot и Laravel Forge — и сравнил их, чтобы увидеть, какие из них работают лучше всего. Это инструменты SaaS, которые могут помочь в развертывании, настройке, управлении и мониторинге VPS на любых провайдерах облачного хостинга, таких как AWS, Linode, Vultr, Digital Ocean и других.
RunCloud.io
Регистрация прошла легко. Вам не нужна кредитная карта, и вы даже можете использовать свою учетную запись Facebook, Google или GitHub. Если вы не хотите использовать свою учетную запись в социальной сети, просто используйте свой адрес электронной почты.
С RunCloud вам нужно развернуть новую Ubuntu 16.04 LTS VPS практически на любом VPS хостинг-провайдере. В этом уроке я использовал Linode VPS, который стоит 5 долларов в месяц.
Когда ваш сервер готов, вы возвращаетесь в RunCloud и вводите данные вашего сервера, такие как IP-адрес, чтобы получить команду подключения.
Вы получите очень длинную однострочную команду, подобную этой.
Все, что вам нужно сделать, это запустить команду на вашем сервере от имени пользователя root и позволить ей работать. Вероятно, процесс займет около 15-20 минут, и как только вы закончите, вы сможете начать управлять своим сервером из веб-панели.
Управление вашим сервером
Далее вам нужно создать веб-приложение. Это похоже на виртуальный хост на веб-сервере. Когда вы это сделаете, вы можете выбрать свою версию PHP и назначить свое доменное имя веб-приложению. Вы можете назначить более одного.
Пользовательский интерфейс очень удобен и интуитивно понятен, и вы можете найти все, что вам нужно, довольно быстро и легко. Моя основная потребность в том, чтобы иметь возможность создавать виртуальные хосты (веб-приложение), назначать доменные имена и создавать базы данных и, возможно, развертывать мое приложение с GitHub или любого другого сервера Git. Существует также установщик сценариев, который поддерживает WordPress, Joomla, Concrete5, PHPMyAdmin и несколько более распространенных инструментов PHP.
Если вы разрабатываете PHP и используете Git, RunCloud поддерживает развертывание вашего скрипта из GitHub, Bitbucket, Gitlab, а также с вашего собственного пользовательского Git-сервера.
Мы посмотрим на производительность позже.
ServerPilot
ServerPilot.io, вероятно, является старейшим из трех и наиболее продаваемым. Когда я спрашиваю, использует ли кто-нибудь инструмент управления сервером, вероятно, это ServerPilot.io.
ServerPilot.io имеет бесплатную учетную запись, которую вы можете использовать с ограниченными функциями, а также есть планы Coach (10 долларов США в месяц) и Business (49 долларов США в месяц). Имейте в виду, что эти цены указаны для развертываний серверов, а не для каждой учетной записи в ServerPilot.
Coach имеет больше функций, таких как бесплатный SSL через LetsEncrypt, статистика состояния сервера и другие. Бизнес-пакет больше похож на мини-NewRelic или сервис мониторинга производительности приложений. Вы можете увидеть медленный запрос скрипта, статистику ресурсов приложения и многое другое.
Конечно, бесплатный пакет достаточно хорош, но ограничен по сравнению с возможностями Coach и Business.
Подключение сервера
Это похоже на RunCloud. Вам также потребуется новый VPS-сервер Ubuntu 16.04 для запуска. Если у вас есть пароль root на вашем сервере, вам не нужно копировать и вставлять команду установщика через SSH. Вы можете ввести IP-адрес вашего сервера и пароль root, и ServerPilot подготовит ваш сервер через несколько минут.
Однако, если вы не хотите вводить пароль root вашего сервера в ServerPilot, вы можете отказаться от этого. Вы можете получить команду install run, скопировать и вставить ее через SSH на свой сервер.
Честно говоря, процесс развертывания сервера выглядит довольно гладко и быстро. Я был поражен этим. После этого меня сразу же перенаправили на создание приложения. Здесь приложение похоже на виртуальный хост. Как только это будет сделано, есть возможность установить WordPress. Я думал, что попробую. Вы также можете выбрать свою версию PHP, если хотите. Я выбрал PHP 7.1.
Управление вашим сервером
От регистрации до развертывания сервера и его запуска и запуска опыт был действительно хорошим и быстрым. Вы получаете сервер, работающий в кратчайшие сроки.
Когда WordPress является опцией установки, я надеялся увидеть и другие инструменты PHP, такие как Joomla и Concrete5, которые также будут доступны. К сожалению, они отсутствуют, и ServerPilot.io также не дает возможность указать, где ваш веб-корень должен отличаться от /public
Еще одна вещь, которую я надеялся увидеть, это способ развертывания моего приложения из GitHub. Я не могу найти это. И я узнал из документации, что если я захочу развернуть свой скрипт через Git, мне все равно придется делать это через SSH.
Это также относится к планированию или crontab. Если вы знакомы с CPanel, вы надеетесь встроить планирование в веб-панель ServerPilot. К сожалению, это не так. Вы все еще можете управлять своим собственным crontab через SSH.
Laravel Forge
К сожалению, если вы просто хотите попробовать это, у вас нет учетной записи свободного уровня. Цена начинается с 15 долл. / Мес. Для учетной записи Growth и 39 долл. / Мес. Для учетной записи Business. Хорошо то, что для неограниченного количества развертываний серверов. Тем не менее, существует 5-дневная бесплатная пробная версия для любой учетной записи, которую вы выберете. А если вы подпишетесь на годовую подписку, вы получите скидку 40 долларов с учетной записи Growth и 69 долларов с учетной записи Business.
Разница между этими двумя заключается главным образом в добавлении членов команды в вашу учетную запись, чтобы помочь вам в администрировании вашего сервера. Учетная запись «Рост» в основном предназначена для личных пользователей, а учетная запись «Бизнес» позволяет добавлять членов группы, которые могут вам помочь.
Подключение сервера
В отличие от ServerPilot и RunCloud, Laravel Forge будет подключаться к вашему провайдеру облачного хостинга через API и развертывать там серверы от вашего имени. При этом вам не нужно сначала развертывать свой сервер у провайдера облачного хостинга, а затем вводить детали в Laravel Forge. Laravel Forge создаст их для вас. На данный момент Laravel Forge поддерживает Digital Ocean, AWS и Linode.
Для любых провайдеров облачного хостинга, которые в настоящее время не поддерживаются, вы все равно можете добавить их в Laravel Forge под опцией Custom VPS. Там он работает так же, как Server Pilot и RunCloud. Вам понадобится новый 64-битный VPS Ubuntu 16.04, а позже начните процедуру подключения в Laravel Forge. Как и в случае с RunCloud, вам нужно будет ввести команду установки скрипта через SSH.
Управление вашим сервером
Laravel Forge имеет много возможностей для управления вашим сервером. Когда ваш сервер готов, вы создаете сайт (виртуальный хост). Поскольку Laravel Forge создан PHP-разработчиком, Git на самом деле является основным методом развертывания ваших файлов. Или вы можете начать с установки WordPress.
При создании сайта вам предоставляется возможность добавить ваше доменное имя. И вы можете указать, будет ли включена опция поддомена поддомена. Тем не менее, нет возможности для нескольких доменных имен для одного сайта.
Существует также планирование, управление базами данных MySQL и другие. Вы также можете интегрировать свой сервер с Blackfire.io для мониторинга производительности приложений и Papertrail (https://papertrailapp.com/) для анализа журналов.
Там не было много информации о здоровье сервера, хотя.
В целом, Laravel Forge был изначально разработан для развертывания PHP-приложений на основе Laravel с поддержкой других PHP-фреймворков и скриптов, добавленных позже.
Тестирование производительности
Поскольку я развернул три сервера с использованием этих трех инструментов, я решил протестировать их друг против друга. И просто, чтобы сделать вещи интересными, я решил добавить еще один стек LAMP, который я развернул с помощью Ubuntu 16.04 и tasksel lamp-server
Я знаю, что на самом деле я не подталкиваю серверы к их пределам, но я думаю, что это хороший показатель, чтобы увидеть, насколько хорошо они работают друг против друга.
Чтобы протестировать серверы, я установил WordPress с его темой и данными по умолчанию. Затем я установил Siege на отдельном сервере, чтобы узнать, сколько запросов и попаданий могут принять серверы. My Siege был настроен с 25 одновременными настройками клиентов и одной (1) минутой тестирования.
В качестве дополнительного примечания я развернул четыре VPS с Linode по 1 ГБ, по одному для каждого инструмента. Все они имеют одинаковую спецификацию и находятся в одном центре обработки данных. Осада находится на пятом сервере.
Итак, вот результаты тестов:
Первый забег
Результаты | RunCloud | ServerPilot | Laravel Forge | Tasksel LAMP |
---|---|---|---|---|
Транзакции (хиты) | 17710 | 12304 | 18278 | 10703 |
Доступность (%) | 100,00 | 100,00 | 100,00 | 100,00 |
Истекшее время (сек) | 59,45 | 59,85 | 59,11 | 59,30 |
Переданные данные (МБ) | 632,61 | 439,57 | 652,97 | 198,14 |
Время отклика (сек) | 0,06 | 0,10 | 0,06 | 0,11 |
Скорость транзакций (транс / сек) | 297,90 | 205,58 | 309,22 | 180,49 |
Пропускная способность (МБ / с) | 10,64 | 7,34 | 11,05 | 3,34 |
совпадение | 16,95 | 19,66 | 17,26 | 20,42 |
Успешные транзакции | 17710 | 12304 | 18278 | 10703 |
Неудачные транзакции | 0 | 0 | 0 | 0 |
Самые длинные транзакции | 1,36 | 1,83 | 1,57 | 1,66 |
Кратчайшие транзакции | 0,00 | 0,00 | 0,00 | 0,00 |
Второй прогон
Результаты | RunCloud | ServerPilot | Laravel Forge | Tasksel LAMP |
---|---|---|---|---|
Транзакции (хиты) | 17820 | 13110 | 18386 | 10077 |
Доступность (%) | 100,00 | 100,00 | 100,00 | 100,00 |
Истекшее время (сек) | 59,50 | 59,63 | 59,57 | 59,55 |
Переданные данные (МБ) | 636,64 | 468,41 | 656,72 | 186,57 |
Время отклика (сек) | 0,06 | 0,09 | 0,05 | 0,12 |
Скорость транзакций (транс / сек) | 299,50 | 219,86 | 308,65 | 169,22 |
Пропускная способность (МБ / с) | 10,70 | 7,86 | 11,02 | 3,13 |
совпадение | 17,18 | 19,31 | 16,97 | 20,54 |
Успешные транзакции | 17822 | 13110 | 18386 | 10077 |
Неудачные транзакции | 0 | 0 | 0 | 0 |
Самые длинные транзакции | 1,33 | 1,77 | 0,95 | 2,38 |
Кратчайшие транзакции | 0,00 | 0,00 | 0,00 | 0,00 |
Laravel Forge — лучшая возможность получить более 18000 обращений к серверу за минуту при 25 одновременных клиентах. RunCloud занимает второе место с 17000 обращений к серверу. ServerPilot находится на третьем месте, где он совершил около 13000 просмотров. Но это все еще улучшение по сравнению с обычной установкой сервера Tasksel LAMP, которая могла принять около 10000 обращений к серверу за 1 минуту.
Результат производительности
- Laravel Forge
- RunCloud
- ServerPilot
- Tasksel LAMP-сервер
Выводы
Я считаю, что у каждого есть свои сильные и слабые стороны.
RunCloud
RunCloud имеет лучшую веб-панель, которая поставляется со всем, что вам нужно для управления вашим сервером. Это почти как ваш старый CPanel для учетных записей общего хостинга. Существует вариант развертывания Git, информация о работоспособности сервера, несколько доменов на виртуальный хост, ключ SSH, параметры брандмауэра, управление базами данных, файловый менеджер и редактор, и этот список можно продолжить. Очевидно, что по характеристикам RunCloud — лучший.
Это также самый дешевый вариант с огромной отдачей. Всего $ 10 / мес для неограниченного развертывания сервера.
Чего не хватает, так это членов команды. Кроме того, когда речь идет о производительности, Laravel Forge лучше, чем RunCloud, но некоторые могут с этим смириться, поскольку разница не так уж велика.
ServerPilot
Я надеялся, что ServerPilot будет работать хорошо, так как они некоторое время присутствуют на рынке, но оказывается, что он может быть на 25-30% лучше, чем Tasksel, и находится на третьем месте после RunCloud.
Их интерфейс веб-панели тоже немного разочаровывает. Он не предлагает много функций, которые помогут вам управлять вашим сервером.
Для меня отсутствие развертывания и планирования Git (Crontab) — это два больших отрицательных момента для управления сервером.
По цене, после бесплатного уровня, ServerPilot стоит от 10 долларов за сервер, что является самым дорогим вариантом среди трех.
Одна вещь, за которую я могу похвалить ServerPilot — это скорость развертывания сервера.
Laravel Forge
Лучшая вещь о Laravel Forge — это их производительность сервера. Если это то, что вы хотите, то это ваш выбор. Их сервер превзошел остальных!
Интеграция API также помогает в развертывании сервера без особого труда. Как только ваша учетная запись Forge подключена к AWS, DigitalOcean или Linode через API, вам не нужно возвращаться к провайдеру облачного хостинга, чтобы запустить и запустить сервер.
Однако веб-панель и ее функции довольно просты, но лучше, чем ServerPilot. У вас есть развертывание и планирование Git, но нет информации о работоспособности сервера. Хотя вы получаете простую реализацию поддомена с подстановочными знаками, ваш сайт в Forge не предоставляет вам возможность для нескольких доменных имен.
Для большей мощности и дополнительной полезной информации вы можете интегрировать сторонние опции, такие как Blackfire.io и Papertrail. Однако это будет стоить вам больше.
Какой из этих провайдеров вы используете? Или нет вообще? Почему?