Как рассчитать бюджет проекта e-commerce? Часть 2: инфраструктура

30.04.2014

Если в первой статье речь шла о стоимости лицензий, то вторая посвящена затратам на инфраструктуру. Зачем вам в этом разбираться, если вы директор по маркетингу, логистике или развитию бизнеса, а не ИТ-директор?


Все просто. Поскольку именно вы решаете, каким будет ваш сайт, то хотя бы на поверхностном уровне вам стоит понимать технические требования к вашей площадке e-commerce. Что ни говори, а e-commerce – это в большей степени интернет-технологии, нежели розничные, и здесь специалистам нужно понимать технику. Конечно, это только в том случае, если вы не хотите, чтобы с вами произошло то же, что с некоторыми участниками прошлогодней акции «Черная пятница».


Организаторы не были готовы к огромному наплыву посетителей. За первые 15 минут на сайт акции пришли 2-3 млн посетителей, сайт обрушился, и акцию пришлось продлевать еще на один день. Трафик в момент запуска составил более 1 млн человек, а совокупный — более 5 млн человек.


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

Статья бюджета: «инфраструктура»

Когда мы говорим о создании высоконагруженных сайтов (от 50 тыс. уникальных посетителей в пиковые часы и количеством страниц от 500 тыс.), то здесь нужно сконцентрироваться на двух аспектах:

– канальная инфраструктура;

– сетевая инфраструктура.


Совет №1: привлечь профессионалов в области создания высоконагруженных систем. В нашей стране работает всего несколько компаний, которые очень грамотно помогут вам разработать требования и рекомендации к вашему сайту.

Канальная инфраструктура

Ваша цель – обеспечить безопасность и надежность при доставке контента вашим клиентам. Найдите хороших хостеров или операторов, которые расскажут, как же трафик будет попадать в ваш дата-центр и обратно к клиентам.


Для повышения надежности необходимо обеспечить дублирование каналов связи. Важно понимать, как трафик из вашего дата-центра попадет в точку М9 (точка обмена трафиком — МОСКОВСКИЙ INTERNET EXCHANGE (MSK-XI)). Ваши поставщики услуг обязаны сообщить минимум два маршрута, по которым ваш дата-центр соединен с этой точкой. Зачем? Чтобы финский бульдозерист случайно не переехал оптический кабель, как это случилось в 2006 г., когда ряд петербургских провайдеров и их коммерческих клиентов остались отключенными от сети Интернет.


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


СDN (content delivery network) — географически распределённая сетевая инфраструктура, позволяющая оптимизировать доставку и дистрибуцию контента конечным пользователям в сети Интернет.


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


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

Серверная архитектура

Как мы говорили в первой части статьи, посвященной лицензиям, сначала вам необходимо определить три ключевых параметра вашей будущей площадки для электронной коммерции:

– трафик;

– конверсию;

– глубину просмотра сайта.


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


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


Если же вы не используете CDN, то ваша задача — оптимизировать нагрузку на ваш дата-центр с максимально первой точки входа.


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

Статический контент

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


Для работы со статическим контентом и повышения производительности часто применяется такой российский продукт как nginx. Число сайтов, обслуживаемых nginx, превышает 138 млн.
На основе таких параметров вашего сайта, как каталог, контент и трафик, профессиональные консультанты помогут вам определить потребность в вышеперечисленных технологиях и необходимое аппаратное обеспечение.

Динамический контент

С динамическим контентом сайта работает сервер приложений. Задача консультантов – посчитать объём динамического трафика вашего сайта и определить нагрузку на ваш сервер приложений. В упрощенном виде формула следующая: предполагаемое количество посетителей сайта в пиковый период, умноженное на глубину просмотра (среднее количество страниц, которые посетил пользователь за 1 сеанс).


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


Безусловно, центральный компонент любой информационной системы – это база данных. В высоконагруженных системах необходимо предусматривать кэширующий сервис, который позволяет снизить нагрузку на базу данных. Этот сервис реализуется различными поставщиками, например, Terracotta от Software AG, Redis, MongoDB, Cassandra.


Java-кэш выступает в роли элемента базы данных или замещает ее для тех объектов, к которым нужен постоянный и очень быстрый доступ к серверу приложений. Например, цены на товар в разрезе регионов. Поскольку этот динамический контент должен выводиться очень быстро, то «мучить» базу данных подобными запросами нецелесообразно.


Представьте, вы выводите страничку категории товара, на которой представлено 20-30 цен. При этом у вас 1 млн посетителей в день, а в пиковые часы их количество может доходить до 200 тыс. в час, или 56 в секунду. Таким образом только по 1 страничке у вас может быть более 1000 запросов в секунду к базе!


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


Еще один компонент, который есть в любом интернет-магазине, – поисковый индекс. Как правило, он реализуется в специальной службе. Например, в случае с платформой для электронной коммерции SAP Hybris Commerce — это SOLR. Другой, достаточно популярный продукт для организации поиска – Google Search Appliance. Требования и нагрузка на него рассчитываются по количеству поисковых запросов.


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


Не стоит забывать и про отражение ddos-атак, поскольку ваши конкуренты могут воспользоваться разнообразием хакерских услуг, например, в период новогодних распродаж.
Если вернуться к вопросу выбора решения e-commerce, о котором шла речь в первой части статьи, то стоит отметить, что платформы разных производителей в различной степени приспособлены к интеграции с вышеперечисленными технологиями. Например, стандартная версия SAP Hybris Commerce уже содержит широчайший набор инструментов для интеграции, поскольку предполагает создание площадки для электронной коммерции с высокой производительностью, большими объемами данных и большим объемом трафика.

Вывод: чтобы компетентно рассчитать затраты на канальную инфраструктуру и серверную архитектуру, лучше привлечь грамотных подрядчиков, которые помогут вам тщательно продумать все нюансы и риски исходя из ваших потребностей и финансовых возможностей. А знание о тех технологиях, о которых шла речь в этой статье, поможет вам задать партнерам «правильные» вопросы.

Задайте вопрос
эксперту

Наш специалист поможет подобрать для Вас индивидуальное решение