Здравствуйте Уважаемый Посетитель!

Чтобы ваше посещение было максимально эффективным, пользуйтесь активнее возможностями портала. Без стеснения присылайте ваши вопросы и предложения. Голосуйте в опросах. Обращайтесь за консультациями. Ваши потребности явлюятся основой развития материалов сайта и если вы сегодня не нашли здесь то, что искали, то завтра ситуация может измениться. Мы ведь стараемся для вас, а не для себя. Мы все это уже знаем :-).

Для закрытия этого окна просто кликните по нему или перейдите на другую страницу и оно перестанет вас беспокоить.

Последняя редакция: 2016-01-17 17:37:40

Как выбирать хостинг для сайта интернет-магазина?

Так как выбрать подходящий хостинг для сайта интернет-магазина? Чтобы найти правильный ответ на этот вопрос, прежде всего нужно всегда учитывать следующие базовые правила:

  • хостинг должен соответствовать техническим требованиям платформы, выбранной для создания сайта интернет-магазина (платформа должна выбираться,исходя из параметров автоматизируемого торгового процесса, о чем подробнее написано в статье «Основы организации выбора программной платформы для интернет-магазина» в разделе «Основы организации создания интернет-магазина»);

  • если не удается найти хостинга, полностью соответствующего требованиям платформы, то нужно найти такой хостинг, который позволит вам самостоятельно провести необходимые настройки и создать основу для сайта, полностью соответствующую требованиям платформы, которая будет на нем эксплуатироваться.

Помните! Каждый хост-провайдер устанавливает свою техническую политику, которая обусловлена схемой его бизнеса. Согласно этой политике он устанавливает определенный типовой набор программ и расширений к ним, а также правила распределения полномочий системного администрирования между собственными службами и пользователем. Чтобы создать оптимальный хостинг для эффективной эксплуатации определенной платформы в определенных условиях с определенной нагрузкой, надо точно понимать, можно ли добиться этого в условиях, предлагаемых хост-провайдером. Если нет, то лучше отказаться от такого провайдера, поскольку несоответствие хостинга требованиям платформы приведет к сбоям в работе сайта интернет-магазина, а значит к финансовым потерям, не только из-за ушедших с сайта посетителей, недовольных обслуживанием, но и из-за переезда на другую площадку.

Основные понятия

Для начала определимся с основными понятиями:

  • интернет-сайт;

  • хост;

  • сервер,

и их отношениями между собой.

Под сайтом будем понимать совокупность скриптов, отвечающих за формирование HTML-кода его страниц (или готовых файлов с таким кодом), которые определяют функциональные особенности любого интернет-сайта вообще и сайта интернет-магазина в частности. Сайт имеет свой уникальный идентификатор — доменное имя (домен), отправление к которому запросов приводит к получению HTML-кода страниц сайта.

Под хостом понимается нечто, отвечающее на запросы по определенному IP адресу в Сети. В общем случае хостом может быть как некоторое устройство, так и программа. Применительно к нашему случаю хостом является такая программа, как веб-сервер (Apache, Nginx и им подобные), работающая совместно с другими программами (интерпретаторами языка программирования, системами управления базами данных) в процессе формирования ответов на поступающие запросы от клиентов (в общем случае - интернет-браузеров ).

Под сервером понимается вычислительное устройство, на котором располагается операционная система и комплекс программ, исполняющих функции хоста (см. выше).

Между явлениями, обозначаемыми этими терминами имеются следующие взаимоотношения:

  • на одном хосте может размещаться много сайтов. Программное обеспечение хоста, при поступлении запроса на его IP-адрес, выявляет на какое доменное имя был отправлен запрос и передает запрос на исполнение скриптам того сайта, который связан с этим доменным именем и находится на этом хосте (запрос передается скриптам, лежащим в определенной директории, находящейся под управлением WEB-сервера);

  • на одном сервере может размещаться много хостов. Базовые функции вычислительного устройства и установленной на нем операционной системы позволяют обеспечить одновременную работу нескольких программных комплексов, принимающих и обрабатывающих запросы по разным IP-адресам;

  • на одном физическом сервере может размещаться несколько виртуальных серверов (о физических и виртуальных серверах см. далее).

Таким образом, на одном физическом сервере (компьютере) может работать несколько виртуальных серверов, на каждом из которых может работать несколько хостов, на каждом из которых может находиться несколько интернет-сайтов.

Основные типы хостинга

Существует 3 основных схемы организации площадок для интернет-сайтов:

  • виртуальный хостинг (его еще называют шаред хостингом, от английского shared — совместно используемый);

  • виртуальный сервер (в рассматриваемом случае будем подразумевать, что на одном сервере располагается один хост);

  • физический сервер (в рассматриваемом случае также будем подразумевать, что на одном сервере располагается один хост) .

Виртуальный хостинг

Это наиболее дешевая схема, при которой много сайтов совместно используют программное обеспечение одного хоста (web-сервера, СУБД, интерпретатора скриптов платформы, то есть PHP, Perl и т.п.). За счет чего достигается эта дешевизна?

Для регулирования совместного использования сайтами ресурсов хоста с помощью настроек совместно используемого программного обеспечения вводятся определенные ограничения, единые для всех сайтов-пользователей. Эти ограничения срабатывают в тот момент, когда на сайты приходится пиковая активность посетителей. И эти ограничения могут быть настроены по одной из двух схем:

  • предполагается, что все сайты на хосте будут работать с пиковыми нагрузками или возникновение ситуации, когда все сайты на хосте будут работать в пиковых нагрузках очень вероятна. В этом случае лимиты устанавливаются так, чтобы в таких условиях каждому сайту доставалась равная доля физически имеющихся на хосте ресурсов. Но в этом случае в режиме высокой интенсивности работы всех сайтов, ресурсов, выделенных по низкому тарифному плану, для нормальной работы сайтов не будет хватать;

  • предполагается, что вероятность полной загрузки всех сайтов хоста одновременно маловероятна. Например, лимиты задаются исходя из того, что в среднем по статистике на хосте интенсивно загружено например 5 сайтов из 10. Тогда есть возможность каждому хосту выделить 1/5, а не 1/10 ресурсов хоста, ведь остальные сайты все равно их не используют. Это означает, что при полной нагрузке одновременно смогут работать не больше 5 сайтов. Если возникнет ситуация одновременной пиковой нагрузки на все сайты на хосте, то каждый сайт будет запрашивать для своей работы ресурсы в соответствие с установленными лимитами, но суммарное требование ресурсов от всех сайтов в этом случае будет в 2 раза превышать физически имеющуюся, а, значит, кому-то будет отказано в доступе к ресурсам вообще, и эти сайты просто не будут работать (это будет выглядеть как периодический сбой в работе сайта, если сайт не успел занять необходимые ресурсы для обслуживания конкретного посетителя, то этому посетителю будет выдано сообщение о сбое в работе сайта).

Распределение физических ресурсов для сайтов по схеме 2 для тарифов виртуального хостинга очень распространенное явление и называется оверселлинг (многократная продажа одних и тех же физических вычислительных ресурсов). Именно за счет повторной перепродажи реальных вычислительных мощностей разным пользователям и достигается очень низкая цена хостинга.

В таких условиях отсутствует даже минимальная возможность внести изменения в настройки хостинга, поэтому хост-провайдеры вынуждены полностью запрещать действия с настройками, поскольку это повлияет на работу всех сайтов, расположенных на одном хосте.

Виртуальный сервер (VPS/VDS)

VPS - Virtual Private Server, VDS - Virtual Dedicated Server. VPS - это термин из англоязычного интернета, VDS - рунетовский термин, образовавшийся от некогда популярной "отечественной" виртуализации/панели VDSmanager (поэтому вы не встретите этой аббревиатуры у зарубежных хост-провайдеров). По сути VPS и VDS - разные названия одного и того же.

Виртуальный сервер - это программная эмуляция (повторение всех функциональных возможностей) обычного компьютера в среде (программно-аппаратной) физического сервера и установленной на нем операционной системы (которая в этом случае называется материнской операционной системой), но с меньшими вычислительными возможностями по сравнению с физическим сервером.

В зависимости от типа виртуализации, на каждом виртуальном компьютере может быть установлена:

  • собственная операционная система, отличная от материнской, или клон материнской операционной системы;

  • собственное программное обеспечение (web-сервер, СУБД, языки программирования и т.п.).

Таким образом, в рамках одного физического компьютера может быть создана целая компьютерная сеть из нескольких виртуальных компьютеров,на каждом из которых может быть построена индивидуальная вычислительная среда.

Виртуализация может быть аппаратного и программного типов. Первая возможна только при использовании процессоров, поддерживающих технологии Intel VT (Virtualization Technology), для процессоров Intel, или AMD SVM (Secure Virtual Machine), которая также обозначается как AMD-V (такое обозначение имеет опция в BIOS материнских плат для процессоров AMD) для процессоров AMD соответственно (процессоры, поддерживающие аппаратную виртуализацию, имеют дополнительные инструкции для управления виртуальными машинами, а также два режима работы: root-mode и nonroot-mode). Вторая возможна на любом компьютере, поскольку реализуется только в пределах операционной системы.

На серверах с аппаратной виртуализацией используются такие средства управления виртуальными машинами как:

  • KVM

  • Microsoft Virtual PC

  • Microsoft Virtual Server

  • Parallels Workstation,

  • VirtualBox (от компании Oracle),

  • Virtual Iron,

  • VMware Workstation и VMware Server,

  • Xen.

У хост-провайдеров наиболее популярны KVM и XEN.

KVM (или Kernel-based Virtual Machine) — это программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию как Intel VT так и AMD SVM.

XEN поддерживает технологии:

  • паравиртуализация для запуска специально доработанных (паравиртуализованных) операционных систем;

  • аппаратной виртуализации (VT-x и AMD-V) для поддержки немодифицированных версий ОС в виртуальных машинах.

Для программной виртуализации часто используются такие средства как:

  • OpenVZ;

  • Virtuozzo.

OpenVZ — реализует технологию виртуализации на уровне операционной системы, которая базируется на ядре Linux. OpenVZ позволяет на одном физическом сервере запускать несколько изолированных копий операционной системы, которые и принято называть «виртуальными частными серверами» (Virtual Private Servers, VPS) или «виртуальными средами» (Virtual Environments, VE). В OpenVZ, в отличие от виртуальных машин (например VMware, Parallels Desktop) или паравиртуализационных технологий (например Xen), в роли «гостевых» операционных систем могут выступать только дистрибутивы Linux.

Parallels Virtuozzo Containers - также реализует виртуализацию на уровне операционной системы с соответствующими ограничениями, поэтому были созданы версии Parallels Virtuozzo Containers для работы не только в Linux, но и в Windows средах. Версия для Linux основывается на проекте OpenVZ.

VPS/VDS, в отличие от виртуального хостинга, позволяет обеспечить практически неограниченные возможности по настройке своего хоста под требования платформы интернет-магазина (выбора web-сервера, СУБД, интерпретаторов языков программирования, средств кэширования и т.п.), потому что в этом случае речь идет, пусть и о виртуальном, но практически полноценном самостоятельном компьютере.

Следует иметь ввиду, что наибольшие возможности настройки имеются в случае, если речь идет о сервере с аппаратной виртуализацией и при использовании программных средств виртуализации, которые ее поддерживают (KVM, XEN). Программная виртуализация имеет некоторые недостатки:

  • ограниченность выбора используемой на хосте операционной системы;

  • более высокая вероятность того, что хост-провайдер будет использовать оверселлинг со всеми вытекающими отсюда негативными последствиями.

Физический сервер (dedicated/collocated).

В данной схеме хост пользуется всеми вычислительными ресурсами, физически имеющимися у компьютера, на котором он базируется (если пользователь сервера создал на нем только один хост).

Различия между dedicated и collocated схемами заключается лишь в имущественных правах на сервер как на физический объект. В первом случае, это права аренды имущества провайдера, то есть вы являетесь безраздельным, но лишь пользователем сервера, во втором— права собственности, потому что вы размещаете собственный сервер в среде, предоставляемой провайдером, который в этом случае оказывает вам лишь услуги охраны, энергоснабжения и подключения к информационным сетям.

Системный администратор пользователя может проводить любые программные настройки сервера без ограничений, а, значит, создавать любую программную среду под любые требования любой платформы интернет-магазина.

Основы выбора хостинга.

Так на что же нужно обращать внимание при выборе хостинга для интернет-магазина? Во-первых, на используемую на хосте операционную систему. Платформы для построения сайтов интернет-магазинов разрабатываются с применением различных средств и технологий, которые в свою очередь могут быть неразрывно связаны с определенной операционной системой. Например, если платформа разработана на ASP.NET, которая является частью .NET Framework компании Microsoft, то она соответственно неразрывно связана с операционной системой Windows (использование приложений вроде Wine, Mono, Portable .NET в среде Unix/Linux не будем принимать во внимание, поскольку они предназначены в основном для использования на рабочих станциях, а не на серверах, да и не гарантируют надежной и быстрой работы .NET приложений).

Во-вторых, на предлагаемое в базовом варианте программное обеспечение, устанавливаемое на хостах провайдера по умолчанию. Например, если платформа требует наличия в системе компонентов .NET Framework, то он должен быть установлен. Это относиться и к таким компонентам, как интерпретаторы языков программирования PHP, Python, Perl, Java (например, если их планируется использовать как CGI (Common gateway interface) или FastCGI, то необходимы определенные настройки web-сервера Apache). Или например разные платформы интернет-магазинов используют разные программные сервисы: базы данных, средства кэширования, обеспечения безопасности и т.п. При этом хостинг может включать в себя разные комбинации WEB-серверов (например Apache, Nginx и др.), систем управления базами данных (MySQL, PostgreSQL, MongoDB и др.), серверов кэширования, вроде memcached, и других независимых сервисов.

К тому же, многие из этих сервисов реализованы как базовое программное ядро, которое может расширяться путем добавления к нему различных дополнений (модулей или плагинов). Так построено программное обеспечение WEB-серверов. Некоторые СУБД (Системы Управления Базами Данных) позволяют добавлять различные модули (например MySQL начиная с версии 5.1 или PostgreSQL имеют API для подключения сторонних плагинов и модулей. Для MySQL так реализован полнотекстовый поиск). Так построен интерпретатор языка PHP, где используются расширения:

  • Alternative PHP Cache (или APC), eAccelerator, PhpExpress, Xcache, Windows Cache для PHP, Zend Opcache) для повышения скорости работы приложений;

  • CURL для организации обмена данными с другими WEB-сиситемами;

  • IonCube или ZendOptimizer для работы с закодированными приложениями (как правило, это возникает при использовании коммерческих разработок) и так далее.

В-третьих, на конфигурацию установленных сервисов, то есть на параметры их настроек. Например, программное обеспечение системы управления базами данных MySQL на данный момент поддерживает два типа движков (тип движка связан с разными способами организации хранения данных, в одном большом файле или многих меньшего размера, а также механизмах работы с данными): старый MyISAM и более новый InnoDB. Однако если настройка MySQL проведена неверно, то функционал движка InnoDB будет недоступен. Но некоторые платформы интернет-магазинов, такие как Magento, работают только с InnoDB.

В-четвертых, на предоставляемые провайдером права на системное администрирование, то есть на распределение ответственности по установке и настройке программного обеспечения хоста между его пользователем и владельцем (хост-провайдером). Если не удается найти готовый хостинг, сответствующей конфигурации, то нужно иметь возможность создать его самому или с привлечением стороннего системного администратора. А для этого нужно иметь достаточные права на модификации параметров хоста. Например, чтобы провести необходимые настройки MySQL для обеспечения поддержки InnoDB, нужно иметь доступ к его конфигурационным файлам для редактирования и права на запуск и остановку (перезагрузку) программы.

Общие рекомендации по выбору хостинга

Нежелательно приобретать виртуальный хостинг для сайта интернет-магазина. Если бизнес будет расти, то очень скоро вы столкнетесь с проблемой нехватки вычислительных ресурсов для сайта. И вас либо будет отключать хост-провайдер за попытки превышения лимитов, либо стабильность работы вашего магазина будет страдать от роста популярности сайтов - соседей по общему хосту.

Не рекомендуется приобретать VPS с программной виртуализацией, потому что в подавляющем большинстве случаев там будет иметь место оверселлинг (при аппаратной виртуализации оверселлинг почти невозможен в силу ряда объективных причин, а, значит, больше гарантия получить именно то, за что заплатил).

Виртуальный сервер имеет целый ряд преимуществ по сравнению с виртуальным хостингом, однако нужно иметь ввиду, что для системного администрирования такого хоста нужны специальные знания, а, значит, у вас должен быть квалифицированный сисадмин, способный правильно выполнить все настройки (такие услуги можно получить и от техподдержки хост-провайдера, но за дополнительную плату и при этом нужно еще суметь сформулировать требования по этой настройке).

Виртуальный сервер, предпочтительно с аппаратной виртуализацией, практически обязателен, если вам нужно обеспечить повышенную производительность и отказоустойчивость вашего магазина, путем организации репликаций баз данных и кластеризации обработки запросов пользователей. Только в этом случае у вас будут необходимые административные полномочия для проведения необходимых специфических настроек в первую очередь СУБД.

Нужно обязательно проверять на каких условиях предлагается виртуальный сервер, какие типы (технологии и инструменты) виртуализации используются и какие полномочия для администрирования представляются пользователю хост-провайдером. Некоторые провайдеры сильно ограничивают права пользователей самостоятельного администрирования виртуальных серверов. Это скорее всего обусловлено тем, что они используют программную виртуализацию, но не афишируют это, упирая в своей рекламе на низкие цены. Так что не давайте себя обмануть. Но, главное, в этом случае не будет возможности донастроить выбранный хостинг до нужного уровня самостоятельно, даже силами техподдержки самого хост-провайдера.

Данные рекомендации верны прежде всего для магазинов с посещаемостью под 1000 посетителей в сутки и больше при средней конверсии в 1.5 — 2% и количеством персонала, работающего в админке магазина от 3-х человек. Для магазинов с 1-2 заказами в день и малой номенклатурой товара достаточно и виртуального хостинга, поскольку для создания таких сайтов использовать сложные многофункциональные, а значит ресурсоемкие платформы не целесообразно, и не требуется повышенной стабильности функционирования.

Главная рекомендация - выбирайте прежде всего условия и параметры хостинга. Большинство совершает ошибку, выбирая именно хост-провайдера, а не предлагаемый им услуги.

Комментарии (5)

  1. andras:

    Для новичков отличная статья.

  2. Сергей:

    Да статья полезная, но для тех, что уже получил некоторый опыт в работе с разными хостингами. Если опыта совсем нет, то берите простой бесплатный движок вроде Opencart ставьте его на первый понравившися шаред хостинг и начинайте работать чтобы шишек набить. Иначе все эти рекомендации не усвоить.

  3. Михаил:

    Спасибо за информацию, как раз это мне и нужно было. Получается я правильно выбрал хостинг, спасибо ещё раз!

  4. Михаил:

    Спасибо огромное, соглашусь с Сергеем, если нет опыта, то можно выбрать простую CMS, например Wordpress и работать с ней.

  5. admin:

    Я не совсем с вами согласен Михаил. Выбирать нужно не простую CMS, а ту, которая подходит под конкретные задачи. Согласитесь прежде чем брать для еды вилку или ложку, нужно понять, что вы будете есть, суп-пюрэ или спагетти. А то так можно и голодным остаться :-).







Разрешённые теги: <b><i><strong><em><s><ul><li><ol>Добавить новый комментарий:




Какая проблема беспокоит вас в данный момент больше всего?

Всего голосов: 37