Виталий Баум, директор бизнес-направления hybris компании NOVARDIS:
Вторая важная статья бюджета на создание площадки для электронной коммерции — это инфраструктура. Зачем вам в этом разбираться, если вы директор по маркетингу, логистике или развитию бизнеса, а не ИТ-директор?
Все просто. Поскольку именно вы решаете, каким будет ваш сайт, то хотя бы на поверхностном уровне вам стоит понимать технические требования к вашей площадке e-commerce. Что ни говори, а e-commerce – это в большей степени интернет-технологии, нежели розничные, и здесь специалистам нужно понимать технику. Конечно, это только в том случае, если вы не хотите, чтобы с вами произошло то же, что с некоторыми участниками прошлогодней акции "Черная пятница".
Организаторы не были готовы к огромному наплыву посетителей. За первые 15 минут на сайт акции пришли 2-3 млн посетителей, сайт обрушился, и акцию пришлось продлевать еще на один день. Трафик в момент запуска составил более 1 млн человек, а совокупный — более 5 млн человек.
Недостатки архитектуры при создании площадки e-commerce могут обернуться для вас потраченными в пустую рекламными бюджетами, репутационными рисками и, главное, упущенной прибылью. Итак, как рассчитать статью бюджета "инфраструктура" и какие требования стоит учесть, чтобы в следующую "Черную пятницу" ваш сайт не рухнул.
Статья бюджета: "инфраструктура"
Когда мы говорим о создании высоконагруженных сайтов (от 50 тыс. уникальных посетителей в пиковые часы и количеством страниц от 500 тыс.), то здесь нужно сконцентрироваться на двух аспектах:
— канальная инфраструктура (сетевая);
— серверная архитектура.
Совет №1: привлечь профессионалов в области создания высоконагруженных систем. В нашей стране работает всего несколько компаний, которые очень грамотно помогут вам разработать требования и рекомендации к вашему сайту.
1. Канальная инфраструктура
Ваша цель – обеспечить безопасность и надежность при доставке контента вашим клиентам. Найдите хороших хостеров или операторов, которые расскажут, как же трафик будет попадать в ваш дата-центр и обратно к клиентам.
Для повышения надежности необходимо обеспечить дублирование каналов связи. Важно понимать, как трафик из вашего дата-центра попадет в точку М9 (точка обмена трафиком — МОСКОВСКИЙ INTERNET EXCHANGE (MSK-XI)). Ваши поставщики услуг обязаны сообщить минимум два маршрута, по которым ваш дата-центр соединен с этой точкой. Зачем? Чтобы финский бульдозерист случайно не переехал оптический кабель, как это случилось в 2006 г., когда ряд петербургских провайдеров и их коммерческих клиентов остались отключенными от сети Интернет.
Если вы планируете сделать сайт с высококачественным контентом (например, картинки в высоком разрешении, видео или каталог с очень большим количеством наименований продукции) и рассчитываете на высокий трафик посетителей, то, возможно, вам стоит включить в бюджет проекта услуги СDN-провайдеров.
СDN (content delivery network) — географически распределённая сетевая инфраструктура, позволяющая оптимизировать доставку и дистрибуцию контента конечным пользователям в сети Интернет.
Проще говоря, провайдеры услуг обеспечивают размещение вашего контента ближе к пользователям. Допустим, ваш клиент находится во Владивостоке и запрашивает видео о вашем продукте. В этом случае, наверное, нет смысла перегонять ролик из Москвы по спутниковым или оптическим каналам через всю страну. Значительно эффективнее разместить подобный контент непосредственно вблизи клиента. Для этого у операторов во Владивостоке ставят сервера с хранилищами, куда записывают всю необходимую информацию.
С точки зрения стоимости, CDN-технологии сейчас не очень дороги. Ими уже активно пользуются многие операторы в области видеопродукции и интернет-ритейлеры, чтобы увеличить скорость загрузки страниц.
2. Серверная архитектура
Как мы говорили в первой части статьи, посвященной лицензиям, сначала вам необходимо определить три ключевых параметра вашей будущей площадки для электронной коммерции:
— трафик;
— конверсию;
— глубину просмотра сайта.
При планировании бюджета в части серверной архитектуры добавляются такие параметры, как качество контента и объем каталога. Теперь давайте разберемся, на что они влияют, какие риски вам стоит оценить и какие требования учесть. Ваша цель – оптимизировать нагрузку на ваш сервер и найти баланс потребностей/финансовых возможностей/здравого смысла.
Если вы используете CDN-технологии, то таким образом уже разгружаете свой сервер, поскольку большая часть контента передается на серверы того самого провайдера из Владивостока.
Если же вы не используете CDN, то ваша задача — оптимизировать нагрузку на ваш дата-центр с максимально первой точки входа.
Как правило, первая точка – это балансировщик нагрузки, про который многие забывают. И хотя в большинстве случаев посетитель вашего сайта считает, что с ним работает один сервер, по факту это могут быть десятки и даже сотни серверов. Этот компонент дата-центра обеспечивает балансировку нагрузки на различные серверы приложений.
Статический контент
Для работы со статическим контентом используется reverse proxy, или обратный прокси. В этот компонент загружается кэш статического контента (например, изображения товара). От количества SKU в вашем каталоге и качества вашего контента зависит нагрузка на процессор и оперативную память. На его производительность также влияет трафик – количество заходов на ваш сайт и обращений к вашему дата-центру.
Для работы со статическим контентом и повышения производительности часто применяется такой российский продукт как nginx. Число сайтов, обслуживаемых nginx, превышает 138 млн.
На основе таких параметров вашего сайта, как каталог, контент и трафик, профессиональные консультанты помогут вам определить потребность в вышеперечисленных технологиях и необходимое аппаратное обеспечение.
Динамический контент
С динамическим контентом сайта работает сервер приложений. Задача консультантов – посчитать объём динамического трафика вашего сайта и определить нагрузку на ваш сервер приложений. В упрощенном виде формула следующая: предполагаемое количество посетителей сайта в пиковый период, умноженное на глубину просмотра (среднее количество страниц, которые посетил пользователь за 1 сеанс).
Эти параметры можно получить, посмотрев статистику вашего текущего сайта, или изучив статистику конкурентов, или обратившись к профессиональным консультантам в этой области, которые просчитают их для вашего сайта.
Безусловно, центральный компонент любой информационной системы – это база данных. В высоконагруженных системах необходимо предусматривать кэширующий сервис, который позволяет снизить нагрузку на базу данных. Этот сервис реализуется различными поставщиками, например, Terracotta от Software AG, Redis, MongoDB, Cassandra.
Java –кэш выступает в роли элемента базы данных или замещает ее для тех объектов, к которым нужен постоянный и очень быстрый доступ к серверу приложений. Например, цены на товар в разрезе регионов. Поскольку этот динамический контент должен выводиться очень быстро, то "мучить" базу данных подобными запросами нецелесообразно.
Представьте, вы выводите страничку категории товара, на которой представлено 20-30 цен. При этом у вас 1 млн посетителей в день, а в пиковые часы их количество может доходить до 200 тыс. в час, или 56 в секунду. Таким образом только по 1 страничке у вас может быть более 1000 запросов в секунду к базе!
На этапе разработки сайта архитектуру таких объектов нужно тщательно продумывать: база данных не любит высокие нагрузки, и в подобных случаях обязательно использовать кэш. База данных – это самое узкое место в вашей системе, поэтому для снижения нагрузки на нее и используются технологии, о которых шла речь выше.
Еще один компонент, который есть в любом интернет-магазине, – поисковый индекс. Как правило, он реализуется в специальной службе. Например, в случае с платформой для электронной коммерции hybris — это SOLR. Другой, достаточно популярный продукт для организации поиска – Google Search Appliance. Требования и нагрузка на него рассчитываются по количеству поисковых запросов.
Также в высоконагруженных системах важно иметь хорошую систему мониторинга производительности всех компонентов, чтобы ваша служба поддержки всегда имела исчерпывающую информацию о нагрузке. Это особенно важно, когда вы участвуете в акциях подобных "Черной пятнице".
Не стоит забывать и про отражение ddos-атак, поскольку ваши конкуренты могут воспользоваться разнообразием хакерских услуг, например, в период новогодних распродаж.
Если вернуться к вопросу выбора решения e-commerce, о котором шла речь в первой части статьи, то стоит отметить, что платформы разных производителей в различной степени приспособлены к интеграции с вышеперечисленными технологиями. Например, стандартная версия hybris уже содержит широчайший набор инструментов для интеграции, поскольку предполагает создание площадки для электронной коммерции с высокой производительностью, большими объемами данных и большим объемом трафика.
Вывод: чтобы компетентно рассчитать затраты на канальную инфраструктуру и серверную архитектуру, лучше привлечь грамотных подрядчиков, которые помогут вам тщательно продумать все нюансы и риски исходя из ваших потребностей и финансовых возможностей. А знание о тех технологиях, о которых шла речь в этой статье, поможет вам задать партнерам "правильные" вопросы.
О том, как сделать расчет на лицензии, вы можете прочитать в первой части статьи Виталия Баума "Как посчитать бюджет на проект e-commerce?". В третьей части речь пойдет о стоимости услуг внедрения.
*На правах рекламы