Проблемы и задачи в Enterprise E-Commerce. Как возник проект Virto Commerce?

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


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

    Наш более чем десятилетний опыт реализации международных E-Commerce проектов с посещаемостью в десятки тысяч человек в сутки для компаний списка Fortune 500, показал, что основными причинами смены платформы для E-Commerce является:

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

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

    О чем будет наш блог?


    Этот блог представляет наш опыт в E-Commerce, который перерос со временем в проект VirtoCommerce — платформу c открытым кодом на базе .Net и MS Azure, которая включает архитектуру и базовые блоки для создания B2B или B2C Enterprise E-Commerce решений.

    Создавая проекты для крупного ecommerce, а также саму платформу, мы приобрели свой собственный взгляд на:

    • Agile процессы разработки;
    • Контроль качества выпускаемого продукта;
    • Автоматизацию DevOps процессов (как при разработке самой платформы, так и в клиентских проектах);
    • Построение современной облачной IT инфраструктуры, которая необходима для корпоративных высоконагруженных E-Commerce решений.

    В нашем блоге Вы сможете найти информацию по следующим темам:

    • Нашем видение Agile-процессов разработки;
    • Структура команды и процессы, которые мы используем при разработке;
    • Шаги и наработки по запуску Pipeline в Jenkins для автоматизации сборки более, чем 60 модулей;
    • Использование автоматических E2E тестов для контроля качества;
    • Результаты, полученных в клиентских проектах и кейсы крупных внедрений;
    • Опыт использования сервисов Azure для различных задач;
    • Процесс миграции e-commerce проекта на платформу .NET Core.

    Чтобы эти публикации читались с пониманием того, о чем идет речь, позвольте рассказать немного о том, с кем и мы работаем и как используем платформу Virto Commerce.

    Кто такие enterprise e-commerce клиенты?


    Enterprise E-Commerce сильно отличается от небольших и средних интернет-магазинов. Бизнес-процессы, работающие при 10 или 100 заказах в сутки, точно не будут работать при 1 000 заказов в сутки и более. Бывают и отличия, которые обусловлены не только объемом заказов, но и другими сложностями:

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

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

    Немного о платформе


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

    Результаты оценки качества кода, так же доступны в открытом виде в SonarQube.

    Платформа построена на современном стеке технологий от Microsoft: .NET Framework, .NET Core, Entity Framework, ASP.NET.



    Мы уделяем особое внимание производительности для enterprise e-commerce и подбираем технологии исходя из этого. Для интерактивных взаимодействий с пользователями используется Angular, который также открыт, хорошо известен и имеет большое коммьюнити. Его модульность, наличие огромного количества готовых решенийи использование MVC-архитектуры, на наш взгляд, при правильном подходе повышает скорость разработки. Для быстрого полнотекстового поиска по каталогу используется ElasticSearch, который масштабируется до петабайт данных, использует денормализацию для повышения качества поиска, открыт и используется в крупных проектах, например Wikipedia, GitHub, StackOverflow и др…

    Платформа поддерживает создание многоканальных и мультиязыковых решений. Как мы уже говорили ранее, поддержка такого рода функций является безусловно необходимой в enterprise e-commerce проектах, поскольку они часто продают сразу в нескольких странах.

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



    Одним из основных преимуществ платформы, на наш взгляд, является ее модульность, что дает высокую скорость разработки, простоту масштабирования и повышенную отказоустойчивость. «Из коробки» есть разделение между клиентскими приложениями (Web Apps, Mobile apps и т.д.) и серверной частью. Все элементы системы представлены в виде отдельных, независимых модулей, например каталог, ценообразование, корзина, заказ и др… При построении решения Вы можете решать какие модули использовать, а какие нет. И, конечно, для реализации отсутствующих функций Вы можете создать свой собственный модуль.



    Несмотря на то, что платформа может быть развернута в разных конфигурациях, максимальное преимущество достигается при работе в облаке. Мы в свое время выбрали Microsoft Azure. В этом случае появляется возможность использовать сервисы Azure для повышения эффективности всего решения:

    • Автоматическое масштабирование
    • App Insights как инструмент мониторинга
    • Logic Apps (облачная версия BizTalk) для интеграций
    • Blob Storage + CDN для хранения ресурсов

    Возможности Azure уже решают множество возможных проблем с надежностью и масштабируемостью, что исключает ре-инжиниринг. Даже в сравнении с собственным collocation производительность системы эквивалентна, а размещение точек доступа к серверу ближе к клиенту улучшает latency.

    В нашем блоге Вы найдете информацию о том, как с помощью облачного размещения мы смогли выдержать такие серьезные нагрузки, как рост посещаемости в 10 раз за сутки при проведении Black Friday / Cyber Monday в США.

    Заключение


    Enterprise E-Commerce проекты накладывают особые условия и требования для платформы разработки. Способность быстро разрабатывать, недорого поддерживать, просто изменять и иметь высокую отказоустойчивость особо ценится клиентами. В наших будущих статьях мы расскажем о том, как мы реализуем enterprise e-Commerce проекты с помощью платформы Virto Commerce, с какими вызовами мы сталкиваемся и как их преодолеваем.

    Вот небольшой перечень тем которые вскоре мы планируем осветить в нашем блоге:

    • Наше видение Agile-процессов разработки на практике
    • Структура команды и процессы, которые мы практикуем при разработке;
    • Описание собственных CI, CD процессов в условиях хранения кода на GitHub большого количества модулей, а также облачных сред развертывания.
    • Использование автоматических E2E тестов для контроля качества;
    • Результаты, полученных в клиентских проектах и кейсы крупных внедрений;
    • Опыт использования сервисов Azure для различных задач;
    • Процесс миграции e-commerce проекта на платформу .NET Core.
    Virto Commerce
    Enterprise open source ecommerce platform
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое