Я бы сделал это «коробочным продуктом» - у каждого покупателя есть свой интернет-магазин и своя база данных. Если один из клиентов оказывается таким же занятым, как Amazon, вы можете легко масштабировать его реализацию (то есть перебрасывать его на выделенный сервер, когда он становится достаточно занятым, а затем на ферму серверов, когда он полностью сходит с ума). Если у вас есть клиент, который чувствует себя очень правдоподобно в отношении своих данных о клиентах (то есть они не хотят, чтобы кто-то другой получал к ним какие-либо данные), им будет легче узнать, что их данные находятся в их собственном хранилище.
Это также дает вам несколько вариантов продаж. Размещенное решение, где вы создаете и размещаете их магазин, и лицензированное решение, где они размещают его на своих собственных серверах.