на каком движке wildberries
На каком движке wildberries
Очень часто рядовой клиент веб-студии почему-то хочет создать портал или социальную сеть на коробочной CMS, при этом в пример ставит существующие крупные порталы из своей ниши. И каждый раз приходится объяснять, что высоконагруженные сайты НЕ делаются на коробочных CMS. Сегодня я хочу обосновать, почему именно CMS крайне редко используются для больших проектов, как некоторыми фактами, так и исследованием, какие сайты рунета из первой сотни по посещаемости используют коробочную CMS. В статье я буду говорить исключительно про коробочные CMS и не затрону разработку уникальных CMS под конкретные задачи нового проекта.
Для начала стоит определиться, какие именно CMS имеют популярность в рунете? Как нам говорит Рейтинг Рунета среди коммерческих движков это: 1С-Битрикс, NetCat, UMI.CMS, HostCMS, AMIRO.CMS и среди свободных это: Joomla!, Drupal, MODx, WordPress, TYPO3. У каждой из CMS есть свои особенности, плюсы и минусы, но статья не об этом.
Анализ свежий, от 11.09.2012, с момента анализа места в рейтинге могли незначительно сдвинуться, но суть это не меняет.
Итак, мы видим вполне логичную картину: среди первых пятидесяти сайтов нет CMS вообще, во второй половине есть 7 коробочных CMS, одна из которых студийная, при этом, что интересно, сайты на основе CMS не отличаются быстрой работой, на лицо торможение.
На чем же тогда работают большие проекты? Обычно под такие проекты функционал пишется с нуля, используются фреимворки, разные алгоритмы, а часто даже несколько языков программирования, но это уже тема отдельной статьи.
Какие CMS наиболее востребованы в Рунете?
Предлагаем ознакомиться с результатами рейтинга CMS.
Пройдя по ссылке, вы сможете узнать, какие системы управления сайтами наиболее востребованы для конкретных типов проектов (интернет-магазины, порталы и сервисы, корпоративные и промо-сайты), а также для конкретных тематик (Авто/мото, одежда, питание, музыка, политика и т.д.).
Почему посещаемые сайты не сделаны на CMS?
Этому есть несколько причин. Для начала давайте определимся с тем, что из себя представляет CMS: по сути это набор готовых модулей, связанных в единую систему, который подходит «на все случаи жизни». Отсюда сразу появляются логические выводы, которые удерживают от использования коробочной CMS для больших порталов:
Система без специализации. Практически все CMS не имеют специализации, они проектируются для создания любого сайта (некоторые системы себя позиционируют, как CMS для определенного типа сайтов, например WordPress для блогов, Magento для магазинов и т.д., но суть от этого не меняется, просто больше модулей для определенного типа сайтов), отсюда добиться максимальной эффективности невозможно.
Стандартная архитектура. У любого большого сайта есть этап проектирования архитектуры, это как проект при строительстве здания: хорошо спроектируешь – будет долго стоять, плохо – сразу развалится. В данном случае архитектура уже задана разработчиками CMS, а значит учесть особенности нового проекта нет возможности.
Много переделывать. В любом большом проекте есть много самого разного функционала с разными требованиями, поэтому просто взять стандартные модули и запустить качественный сайт невозможно: каждый из модулей, скорее всего, придется переделывать под специфические требования, а копаться в чужом коде, даже хорошо документированном, долго и малоэффективно, часто быстрее, а значит и дешевле, написать с нуля.
Проблемы с доработкой. Часто нужно дописывать то, чего в CMS нет, и это иногда превращается в ад: мало того, что нужно разобраться, как все работает, так еще есть технологические ограничения, CMS может использовать устаревшую технологию или не самую оптимальную именно для нашего проекта. Да и вообще, любая CMS для разработчика – это жестки рамки, за которые выйти крайне трудно.
Проблемы с нагрузками. Так как мы говорим о высокопосещаемых проектах, каждый из них должен быть оптимизирован под нагрузки, чтобы не тратить большие ресурсы на поддержку работоспособности, а сайт должен оставаться рабочим при любой посещаемости. Отсюда каждый из модулей должен тратить минимум вычислительных мощностей, что CMS обеспечить не может, ведь её создавали как решение «на все случаи жизни», и в ней есть куча всего, что выкинуть либо сложно, либо вообще невозможно. Кстати, некоторые проекты ради этого делают сайт вообще на чистом HTML (например, Opera), за счет этого сайты выдерживают большие нагрузки с минимальными ресурсами, а скорость загрузки страниц поражает воображение. Правда, на чистом HTML’е можно делать только те сайты, которые редко обновляются: каждое обновление становится проблемой.
Это далеко не полный список минусов, из-за которых большие сайты не делают на коробочных CMS. Системы управления сайтом хорошо подходят для стандартных решений: корпоративный сайт, интернет-магазин, блог и т.д., а для больших порталов их использовать нельзя, и рейтинг топ 100 сайтов это иллюстрирует на практике.
Отсюда имеем логические выводы: во-первых, чем больше посещаемость сайта, тем меньше вероятность (даже правильнее сказать возможность) использования коробочной CMS, во-вторых, все сайты, которые работают на CMS имеют проблемы с производительностью, и, в-третьих, CMS – это рамки, проекты созданные на их основе имеют существенные недостатки по архитектуре и функционалу.
Ищете исполнителя для реализации проекта?
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.
Интернет-магазин Wildberries: что происходит по ту сторону монитора
Сегодня мы решили познакомить вас с закулисьем совсем другого направления человеческой деятельности и рассмотреть подноготную настолько непростой системы, серверы которой проходят испытания тысячами транзакций в секунду а цена программного или аппаратного сбоя может быть слишком высока. Итак, сегодня мы в гостях у одного из крупнейших российских интернет-магазинов одежды Wildberries
Как же работает интернет-магазин? Чтобы было нагляднее, предлагаем разбить процесс на основные этапы, рассмотреть их и составить общую картину происходящего.
На фото: склад интернет-магазина Wildberries
Итак, для начала необходимо определиться с тем, какой товар пополнит ассортимент магазина, затем запросить у поставщика необходимую информацию на выбранный товар (состав, комплектация, цена и т.д.). Далее проводится первичный мониторинг цен, и вся необходимая информация о товаре заливается в систему. Согласовав заказ с поставщиком и получив от него все необходимые документы, менеджер дает добро на отгрузку товара.
После того, как поставщик доставит товар на склад, начинается второй этап. Теперь уже работники склада проверяют соответствие новой партии тем позициям, которые были заведены в системе, проверяют товар на наличие заводского брака, переупаковывают товар и наклеивают внутренние штрих-кода. В случае выявления брака, несоответствия полученного товара информации в системе или требованиям к поставкам, товар на склад не принимается. Таким способом магазин старается уберечь клиента от покупки некачественного товара и сократить количество так называемых «неправильных вложений». После этого новоиспеченная складская единица обмеряется (не забываем, что речь идет о магазине одежды), фотограф делает снимки на моделях, а старательный копирайтер пишет сопроводительный текст на сайт.
Не будем углубляться в механизмы, согласно которым клиент попадает на страницу с товаром. Понятно, что в той или иной степени он приходит в интернет-магазин подготовленным: возможно, он ищет конкретную вещь или просто заинтересовался рекламной ссылкой. Намного интереснее увидеть, как реагирует система на действия клиента, одним словом, что происходит, когда пользователь уже попал на сайт. Мы знаем, что один из важнейших факторов, который определяет, насколько задержится клиент на сайте – это скорость обработки его поискового опроса. Если по заданным фильтрам (платье голубого цвета, размер S, длина до колен) результат выдается 10-15 секунд, заскучавший клиент закроет вкладку и клиентом автоматически быть перестанет. Кстати, в среднем по России время отклика сайта на действия пользователя составляет 4 секунды и выше, а вот Wildberries это время удалось сократить до двух секунд. Чтобы этого достичь, в системе используется проксирование с помощью nginx: за одним внешним IP-адресом находится несколько nginx-серверов на платформе VMWare, которая установлена на сервера Dell PowerEdge R620. За ними, в свою очередь, расположены уже непосредственно веб-сервера. Кроме того, наиболее часто запрашиваемые данные хранятся в кэш-памяти серверов и выдаются практически мгновенно. Отказоустойчивость веб-серверов обеспечивается за счет кластеризации: как минимум два сервера полностью дублируют друг друга и работают в режиме master. Они подключены к общему хранилищу Dell EqualLogic PS, работающему в гибридном режиме с дисками SSD и SAS. Такой подход позволил достигнуть высоких результатов отклика, несмотря на колоссальную нагрузку на сервера: количество обработанных запросов, прошедших «внешний периметр» – outcash, – в течение одних суток варьируется в пределах от 750 тысяч до 1,5 миллиона. Да, вот такая вот непростая аппаратная подложка под простым и понятным интерфейсом, который помогает за считанные секунды найти тот или иной товар.
Следующий этап начинается тогда, когда клиент определяется с выбором и подтверждает свой заказ. В определенных случаях подтверждение происходит через SMS, но чаще всего клиенту перезванивает оператор. Кстати, важный момент: система предусматривает автоматическое резервирование товара еще в тот момент, когда клиент сформировал заказ, но еще не получил подтверждение. А все потому, что при больших объемах продаж товар могут увести из-под носа еще в тот момент, пока клиенту дозванивается оператор.
Для сотрудников магазина этот этап проходит не так быстро и легко, ведь работа по обработке и формированию заказа не такая уж простая, как может показаться со стороны. Вначале заявки клиентов уходят на склад, на их основе формируется так называемый сборочный лист, по которому складской работник собирает необходимые товары. Склад, на котором хранятся товары Wildberries, разбит на зоны: в одном месте, например, находится обувь, в другом – вещи, висящие на вешалках, в третьем – белье и т.п. Сборочный лист не привязывается к конкретному заказу, а формируется таким образом, чтобы минимизировать передвижения сотрудника по немаленькому помещению склада и сэкономить его время. Этот алгоритм формируется системой автоматически. Кстати, в нем учитывается не только оптимальный маршрут, но и количество вещей, который может за один раз унести складской работник (сами понимаете, 20 пар носков и 20 пар обуви – не одно и то же).
Собранные вещи свозятся к месту формирования заказов, на котором находится несколько десятков стеллажей с пронумерованными ячейками (их еще в шутку называют волнорезами). Сотрудник сканирует штрих-коды товаров, а система выдает ему номер стеллажа и ячейки, в котором собирается тот или иной заказ. Их увозят уже после того, как весь стеллаж целиком заполнен: укомплектованные товары сортируют по машинам, которые развозят их по разным городам. Затем заказ забирает курьер и отвозит покупателю в заранее оговоренное время.
Таким образом, единая IT-система интернет-магазина объединяет в себе frontend, реализованный на Linux, и backend – на Windows. Для поддержки и развития системы здесь трудится большой штат разработчиков и системных администраторов, да и компьютерный парк проекта весьма разнообразен. На местах, не требующих интенсивной нагрузки (например, для выполнения некоторых логистических задач или в колл-центре), установлены терминалы Wyse. Там, где принимаются товары и собираются заказы, – а это действия, требующие быстродействия и отзывчивости интерфейса, – установлены персональные компьютеры. У сотрудников, обрабатывающих фотографии товаров для сайта, стоят ПК с дискретной графикой и большим объемом оперативной памяти.
Вся информационная база проекта – склад, call-центр, магазин и ERP-система (а это порядка 20 ТБ постоянно изменяющихся данных), управляется с помощью блэйд-серверов М620. Они установлены в шасси М1000е, которых, на сегодняшний день, задействовано уже четыре.
Применение виртуализации позволяет избежать риска потери данных при сбое или выходе из строя одного или даже нескольких серверов-лезвий: текущая нагрузка равномерно распределяется между остальными серверами до замены сбойного элемента. Все критические узлы задублированы, а при проектировании изначально закладывается определенный запас по мощности. Кстати, Wildberries арендует стойки сразу в двух ЦОД, это позволяет сайту оставаться доступным даже в случае аварии в одном из ЦОДов, аварии на электрической подстанции или другой техногенной катастрофе. Прямое сетевое соединение с самыми крупными провайдерами интернета и точками обмена трафиком (MSK-IX и прочие) гарантирует, что большая часть запросов пользователей пройдет минимальное количество узлов сети прежде, чем попадет на серверы компании.
Выбор в пользу Dell был сделан не случайно. Оборудование многих вендоров тестировалось сотрудниками Wildberries с помощью синтетических тестов и на некритичных сервисах, а решения от финалистов — в «боевом» режиме прямо на площадке магазина, и по совокупности технических характеристик, а также по уровню технической поддержки и сопровождения выбор был сделан в нашу сторону. Стоит добавить, что показатели работы оборудования мониторятся в режиме реального времени с помощью расширенного функционала Zabbix. Все параметры критически важных узлов выводятся на мониторы (а их, к слову, шесть!) дежурного специалиста. Текущие параметры работы фиксируются абсолютно со всех устройств предприятия: серверы, дисковые стойки, источники бесперебойного питания, сетевые устройства и каналы связи, причем не только в центральном офисе, но и регионах. Помимо этого, все специалисты компании имеют свои фиксированные зоны ответственности и, если какие-то показатели отходят от нормы, им автоматически рассылаются уведомления по электронной почте, SMS и Skype.
Однако сотрудники Wildberries тайком признались, что основным и самым ценным ресурсом являются не сервера, а сплоченная команда профессионалов, болеющая за свое дело. Приятно это слышать!
P. S. Если вы хотите подробнее узнать о возможностях оборудования Dell для организаций, работающих в области e-commerce, смело пишите Марату Ракаеву. Наши специалисты помогут решить практически любую задачу.
На каких CMS сделаны крупнейшие интернет-магазины России?
Недавно мы проводили исследование: «На каких CMS сделаны топ 100 сайтов рунета по посещаемости?»: часть 1 и часть 2. В этом исследовании так же была небольшая аналитика полученных результатов. Сегодня мы хотим продолжить то исследование еще одним, на этот раз мы решили проанализировать на каких коробочных CMS сделаны крупнейшие интернет-магазины рунета.
Этот этап исследования мы разбили на две части: интернет-магазины России и интернет-магазины Украины. Эта часть посвящена России, следом будет и Украина.
Как и в прошлый раз, в анализ вошли все самые популярные CMS рунета и некоторые популярные западные CMS.
Мы решили не изобретать велосипед и нашли актуальный рейтинг топ 100 интернет-магазинов России по денежным оборотам, который весной 2012 года был опубликован в журнале «Коммерсантъ Секрет Фирмы» №5 (319) от 01.05.2012. Магазины из рейтинга и стали материалом для исследования. Правда, в рейтинге мы не нашли нескольких магазинов, которые «были потеряны» по неизвестным причинам, мы их добавили в самом конце, думаю картину они только дополнят (кстати, авторам рейтинга на заметку, думаю, читатели вспомнят и другие «потерянные» магазины в комментариях, что очень будет кстати на таком непрозрачном рынке). Итак, таблица ниже:
Место в рейтинге | URL сайта | Используемая CMS |
---|---|---|
№1 | citilink.ru | нет |
№2 | exist.ru | нет |
№3 | utkonos.ru | нет |
№4 | ulmart.ru | нет |
№5 | digital.ru | нет |
№6 | ozon.ru | нет |
№7 | kupivip.ru | нет |
№8 | wildberries.ru | нет |
№9 | mvideo.ru | нет |
№10 | softkey.ru | 1С-Битрикс |
№11 | svyaznoy.ru | 1С-Битрикс |
№12 | club-sale.ru | нет |
№13 | otto.ru | нет |
№14 | komus.ru | нет |
№15 | eldorado.ru | 1С-Битрикс |
№16 | vasko.ru | 1С-Битрикс |
№17 | mtonline.ru | нет |
№18 | utinet.ru | нет |
№19 | holodilnik.ru | нет |
№20 | euroset.ru | 1С-Битрикс |
№21 | dostavka.ru | нет |
№22 | pleer.ru | нет |
№23 | vseinstrumenti.ru | нет |
№24 | aromat.ru | нет |
№25 | planetashop.ru | нет |
№26 | boutique.ru | нет |
№27 | redoute.ru | нет |
№28 | audiomania.ru | нет |
№29 | e96.ru | нет |
№30 | idei74.ru | нет |
№31 | alltime.ru | 1С-Битрикс |
№32 | pult.ru | нет |
№33 | butik.ru | нет |
№34 | nord24.ru | нет |
№35 | 4tochki.ru | нет |
№36 | detmir.ru | нет |
№37 | labirint.ru | нет |
№38 | shinservice.ru | нет |
№39 | 003.ru | нет |
№40 | enter.ru | нет |
№41 | sapato.ru | 1С-Битрикс |
№42 | avtogsm.ru | osCommerce |
№43 | 7pd.ru | нет |
№44 | onlinetrade.ru | нет |
№45 | europe-tv.ru | нет |
№46 | technopark.ru | нет |
№47 | sendflowers.ru | нет |
№48 | digitalshop.ru | нет |
№49 | egazon.ru | нет |
№50 | apitcomp.ru | нет |
№51 | babysecret.ru | нет |
№52 | mallstreet.ru | нет |
№53 | notik.ru | нет |
№54 | shatura.com | 1С-Битрикс |
№55 | sotovikmobile.ru | нет |
№56 | techhome.ru | нет |
№57 | electroklad.ru | нет |
№58 | tehnosila.ru | нет |
№59 | baby-country.ru | нет |
№60 | avsale.ru | нет |
№61 | bestwatch.ru | нет |
№62 | mirmaek.ru | нет |
№63 | petshop.ru | NetCat |
№64 | nakolesah.ru | нет |
№65 | 3suisses.ru | нет |
№66 | chinawebshop.ru | нет |
№67 | z-store.ru | 1С-Битрикс |
№68 | read.ru | нет |
№69 | bigtv.ru | нет |
№70 | all-4u.ru | нет |
№71 | florist.ru | нет |
№72 | shina.ru | MODx |
№73 | eurobit.ru | нет |
№74 | shoppinglive.ru | 1С-Битрикс |
№75 | gretta.ru | нет |
№76 | stolplit.ru | 1С-Битрикс |
№77 | kupi-kolyasku.ru | нет |
№78 | wild-shopping.ru | нет |
№79 | smartphoto.ru | нет |
№80 | kupibt.ru | нет |
№81 | foroffice.ru | 1С-Битрикс |
№82 | cifrocity.ru | нет |
№83 | proskater.ru | osCommerce |
№84 | lamoda.ru | нет |
№85 | zakazi24.ru | нет |
№86 | sotmarket.ru | нет |
№87 | 7cont.ru | нет |
№88 | top-shop.ru | нет |
Картина у нас получилась очень неожиданная! Во-первых, подавляющее большинство магазинов используют самописные CMS, в основном на PHP, хотя есть и на Java, а один даже на Python, во-вторых, из коробочных CMS лидирует 1С-Битрикс, что для нас тоже стало неожиданностью, в-третьих, нет ни одного магазина на Magento, хотя именно эта CMS признанный лидер рынка электронной коммерции в мире, а в рунете, получается, почти не используется.
Кстати, один из читателей прошлого исследования сделал важное замечание, которое мы упустили: многие сайты не используют коробочных CMS по историческим причинам, потому, что были сделаны довольно давно и начинали без «коробки». Менять технологию в живом проекте всегда очень проблематично.
Не стоит забывать, что отсутствие коробочной CMS не означает полное отсутствие CMS, во многих магазинах самописные решения, студийные разработки и т.д. Это тоже CMS, только не для массового рынка.
Интернет-магазин – это такой тип проектов, который имеет относительно сходный функционал от сайта к сайту и потому использование CMS в данном типе проектов вполне оправдано. Исключением могут быть огромные проекты с кучей специфических требований, там проще писать все с нуля. В целом есть несколько качественных CMS, которые наиболее подходят магазину, среди них: Magento, 1С-Битрикс, osCommerce, PHPShop, OpenCart, HostCMS и т.д. Для серьезных проектов я бы все-таки советовал Magento, для очень простых и бюджетных – OpenCart. У всех есть как сильные, так и слабые стороны и самое главное — решение всегда подбирается по задачу, а не наоборот. Но цель этой статьи не склонить к какому-то из решений, а показать картину по рунету, решение в этот раз я оставляю за читателями 😉
Как узнать CMS сайта?
Задавайте, а мы ответим на него в блоге.
Чтобы узнать движок другого сайта, не нужны специальные навыки, это можно сделать в окне браузера. Разбираем основные способы, как определить CMS.
Какие движки можно определить
Существует четыре вида CMS:
Коробочные движки и CMS от конструкторов сайтов можно узнать вручную или используя автоматические сервисы. Код и архитектура у них повторяются от проекта к проекту. Со студийными и самописными сложнее — у них нет открытого известного кода, из-за чего узнать их не получится.
Учитывайте, что на разных разделах сайта могут стоять разные CMS. Например, amplifir.com работает на самописной CMS, а блог (amplifir.com/blog) — уже на WordPress. Поэтому проверяйте конкретную страницу, движок которой вы хотите узнать.
Ниже — основные способы, как определиь CMS сайта.
По исходному коду страницы
В HTML-коде сайта сохраняется информация о базе и библиотеках используемой CMS. Чтобы определить платформу через код, открываем в браузере правой кнопкой мыши пункт меню «Просмотр кода страницы». Система управления выдаёт себя внутри тега head, где указаны важные файлы админки.
По файлу robots.txt
Служебный файл robots.txt используется веб-мастерами для индексации сайта в поисковых системах. Он находится в открытом доступе и зачастую содержит информацию о CMS. Чтобы перейти к файлу, откройте в адресной строке браузера ссылку вида сайт/ robots.txt.
По информации в подвале сайта
В подвале может быть указана система управления контентом. Второй способ узнать систему — обратиться к разработчикам, если они оставили ссылку на себя в футере. Так, например, можно выяснить, использует ли студия коробочную или самописную CMS.
Через автоматические сервисы
Автоматически определить CMS можно с помощью онлайн-сервисов. Эти способы подходят для сайтов-конструкторов и коробочных систем. Большинство популярных сервисов угадывают систему управления правильно.
BuiltWith. Онлайн-сервис BuiltWith без регистрации анализирует любой домен и показывает его CMS. Нужно только ввести адрес сайта, а BuiltWith быстро выдаст данные о его движке.
Сервис даёт подробный анализ, в том числе определяет систему управления контентом
WhatCMS. WhatCMS — простейший онлайн-сервис для определения системы управления контентом. В строке поиска вводим название сайта и, вуаля, получаем результат анализа без дополнительных деталей.
iTrack. Сервис iTrack определяет более 80 известных движков. Для регулярной проверки можно установить расширение для браузера.
Через расширения браузера
Если анализировать CMS нужно часто, используйте расширения для браузера. Они выдают заключение о CMS, и иногда показывают другую полезную информацию: например, об установленных приложениях и плагинах на сайте.
Wappalyzer (Chrome, Safari, Firefox). Инструмент автоматически определяет технологии, с помощью которых создан сайт. Помимо CMS Wappalyzer находит системы аналитики, библиотеки, фреймворки и т.д.
iTrack (Chrome). Уже знакомый сервис доступен через расширение браузера. Можно онлайн узнать CMS текущего сайта или вставить ссылку в окно интерфейса.
RDS Bar (Chrome, Яндекс.Браузер, Opera, Firefox). Инструмент для веб-мастеров и seo-специалистов. Новички могут запутаться в многообразии результатов анализа.
Если определить CMS не получилось
Если ни один из инструментов не смог узнать CMS, скорее всего сайт сделан на самописном или студийном движке. Чтобы убедиться в этом, стоит уточнить платформу у разработчика, указанного в подвале. Или заглянуть в раздел «Контакты» и спросить у владельца напрямую.