При создании сложного ПО (а e-commerce системы зачастую бывают достаточно сложны, особенно если речь идет о крупных игроках рынка) разработчики и архитекторы не изобретают все сами, а опираются на определенный «фундамент», который делает разработку управляемой, а всю систему обозримой и понятной. Этот фундамент представляет собой «многослойный рулет», состоящий из универсальных, типовых и хорошо зарекомендовавших себя технологий и продуктов. Выбор такого набора во многом определяет развитие системы на многие годы. Бывает так, что упомянутый «рулет» содержит всего два слоя «муки и корицы», а иногда – там есть еще пять вариантов разного «джема» и пр. Примеры составляющих такого «рулета» — Hadoop, Apache Tomcat, NodeJS, PHP-FPM, JBoss, ORM, Search Engine и другие. Конкретный набор используемых технологий определяется масштабом и целями проекта, опытом команды разработчиков, потребностями бизнеса.
Если внимательно взглянуть на популярные e-сommerce платформы, то окажется, что в них есть много общего. И хотя мы имеем тут свой, достаточно обширный, зоопарк технологий — Java, C++, PHP, Apache Solr и др., но в общем случае разные платформы строятся с использованием похожих составляющих, которые собираются для реализации вполне определенного набора обязательных и дополнительных функций. Таким образом, e-commerce платформа представляет собой органичный, подготовленный, настроенный, отлаженный, упакованный и документированный набор технологий. Под многие типичные задачи e-commerce вендоры платформ предоставляют готовые блоки, которые требуют лишь небольшой «подгонки» под задачу, а некоторые реализованы на абстрактном уровне и требуют «допиливания напильником». Чем органичнее переплетены между собой технологии, чем продуманнее архитектура, тем легче будет расширять ее под свои задачи.