E-Commerce · Open source

Opinions on any open source eCommerce solutions


January 23rd, 2015

I am interested in a highly scalable eCommerce solution that can handle many stores and millions of products. Our plans our to have a software development department. Does anyone have any thoughts or experience to share about any of the open source alternatives such as SmartStore, Magelia, nopCommerce, VirtoCommerce or any other?

Also our technical staff is a Microsoft.Net development team 

Diego Vasquez Technology & Management Consulting

January 23rd, 2015

I work w/Magento & advising clients on their digital strategy & implementation. One of my clients chose Magento over nopCommerce because it is more mature platform & it has a nice ecosystem of developers/agencies/vendors.  Leveraging the ecosystem, we assembled a team of remote resources to perform some work, install/develop modules and conduct routine updates.  Magento also scales well given the proper infrastructure and even has an Enterprise version w/improved performance for high traffic sites. Needless to say, you'd need a good source control system, issue/ticket management (JIRA) & technical project manager.  Happy to discuss further if you have more questions.  

Diego Vasquez

Liam Carolan Marketing Technologist

January 23rd, 2015

I saw your post and can offer some real-world advice.

Today it's realized by many but has always been about data.

Omni-Channel e-commerce is not an easy feat. You're displaying information consistently everywhere, and in order to engage customers with the right content, the RDMS framework is not going to take you where you want to go.

Most of your present solutions, boxed and hosted will serve you, but not compliment you and further, you will eventually want to move away from these services and will be right back where you are now. 

My philosophy is stay small or get huge.  You stated your intention clearly so I will offer this.

You're going to need robust and flexible data management capability that's solid, but still ahead of you and complimentary to your vision when you want to be creative.

The dynamic schema is a good place to start.   I recommend you check out MongoDB.

Plant your resources there for a while and see if it makes sense for you, your team and your strategy. 

How you handle data is the most important piece of your vision.  Anyone can build warm and fuzzy applications that make it all look easy. 

Relational databases are on the way out.  Give yourself every advantage possible. 

This is where online engagement is going and as the famous Hockey player Wayne Gretzky once said "you need to be where the puck is going, not where it is."  and that puck is moving fast!

Welcome to the new-world of moving products with self-service models that "know" your customer when they get there. Responsive design, custom profiling and social footprints woven into web services that blaze with speed, are highly scalable and will serve the dynamic environment you are soon to be immersed in. 

In a few simple words "don’t bring a knife to a gun fight" and you are going to a gun fight to win!

Check out MongoDB and let me know what your impressions are.  I’d love to know. 

Lalit Sarna Business & Technology Leader

January 23rd, 2015

Do not know of any opensource .net solutions that have wide scale adoption or a vibrant developer community.  But then again I prefer Python, Ruby and PHP so my exposure to world of .net may be limited. 

If you want to venture into the world of PHP then Magento is a good bet. 

Much like any opensource solution, Magento has its drawbacks. However it's relatively mature, can handle multiple stores, is scalable and has a huge development community.

I found the following magento stack to be highly performant. In my load testing environment it scales to millions of products and can manage heavy usage loads. It's an excellent place to start with minimal development overhead, and you should be able to find plenty of information on the net.

Varnish for front end cache
Redis for session cache
Redis for all internal caching.
Xtradb backend
SSD hard drives, 2 quad core web servers 8GB ram , 2 quad core DB servers with 64GB Ram

Jack Greene

January 23rd, 2015

I use Bigcommerce.  They have a lot of great built-in features.  In terms of the scale you're looking for, you would need to talk to them.    I have been using them with my online store for the past year and have, for the most part, been very pleased. Hope this is helpfulJack Jack GreeneOwner, PubGearUSAwww.pubgearusa.comjgreene391@yahoo.comOffice - 978 356-7264Cell - 978 380-8835

Larry Ferrere Software/Technology Strategist and Growth Executive -- CxO Leader, Product and Business Development

January 23rd, 2015

Mr. Beery: Most eCommerce solutions should be able to meet your "functional" needs -- highly scaleable and able to handle multiple stores and millions of products. I would just make sure that they can provide multiple live reference accounts that you can speak to and see their solution that have the same or greater number of SKU/Store combinations to ensure performance and ability. Biggest functional distinction will be if your eCommerce solution definition include supply chain forecasting, planning and replenishment or simply order capture, inventory management, and fulfillment. Based too on your question about "open source" alternatives, can I assume too that you are interested in a "cloud-based SaaS solution" -- so you do not have the cost of server hardware, DB and operating systems, related infrastructure, and the up front and ongoing maintenance and upgrade costs? That said, please clarify way you would need a "software development department"? The biggest differentiator and easily vetted short list of vendors is whether the vendor's solution is "fully" open source (and or where there are any licensed software components needed) AND whether the vendor's solution is deployed/operates on-premise (your site and hardware etc), private-instance "hosted", or a "true-cloud" (multi-tenant and multi-location) SaaS (Software as a Service, monthly subscription) solution. If they offer more than one of these three different deployment models, ensure that it is the very same code-based for all deployment options (vs different solutions depending on the deployment model) and you have the ability to move between deployment options downstream if you wish AND the like-references given (your Store/SKU combination) use the same deployment method (proof point) you are considering. I am happy to engage and assist you further if/where needed. Larry Ferrere | Managing Director *InterimONE* Strategy Advisor larry.ferrere@gmail.com +1.404.981.1220

John Arroyo Delivering ecommerce and cloud applications, CEO of Arroyo Labs

January 23rd, 2015

I've successfully integrated Magento with many enterprise clients.  It's very flexible and has an active developer community.  You can make it do some impressive things with the right dev team.  You could take a peek at Spree and Sellvana as well. https://spreecommerce.com/  https://www.sellvana.com 

If you are literally adding millions of SKUs a year you will have to go very custom and/or jump up to something like ATG.  I imagine you aren't launching with 1M+ SKUs but hope to grow to that.


January 23rd, 2015

@Liam - I'll check out MongoDB in the next couple day as well as other nosql databases such as RavenDB.and let you know my opinion. I am guessing since you mentioned MongoDB that is the nosql database that you prefer and recommend. 

Reiner Bruns Product Owner & Project Manager

January 24th, 2015

@Rick Is "millions of products" part of your MVP definition?

If you want highly scalable, omni-channel and fast ecommerce then I suggest you go with @Liam advice and start looking at dynamic database schema and nosql databases. Also, your delivery will have to be geared towards high availability too.

To those advocating Magento for "millions of products": Can you share an example site that is handling that many products? Not that PHP isn't an option, there are ways of accelerating PHP and there are great PHP frameworks, but I doubt that a package like Magento can be more than a MVP starting point.

Reiner Bruns Product Owner & Project Manager

January 24th, 2015

@Lalit I recognise the validity of a quick time to market priority but also see the danger of a compounding technical debt. Switching stacks down the way is neither an easy or a cheap task either.

My question remains: "Can you share an example site that is handling that many products?" [in Magento or comporable framework].

Lalit Sarna Business & Technology Leader

January 24th, 2015

I agree that switching stacks is neither easy nor cheap, but building as you learn is absolutely possible. 

I have scaled complex web systems to 25M monthly active users and switched stacks midway,  yes it was incredibly painful.

However if we had started building out something custom right from the get go, we would have never reached the 25 MAU. 

From what I understood, Rick  wants to build a system to host multiple stores and aggregate of products across all stores would reach millions.   

If the real bottleneck is the MySQL, not PHP. For MySQL to stay performant, the data needs to be smaller than the RAM. As soon as you start hitting the disk you experience non linear performance loss.  

Since each store has different tables, it is easy to split multiple stores across multiple machines. This helps keep data on each machine smaller than memory.  There are several more performance hacks that can keep the system blazing fast. 

Magento has a pretty decent caching system, and its very easy to move the caching system for internal catalogues and session variables.  it's easy to  move the cache storage to a Redis backend, which is an in memory database and much faster than disk based storage.  Another speed hack is sticking a varnish server in front of the cluster which can add a a significant performance gain. 

If an individual stores catalog does grow beyond 500K items then indexing, url rewrites, search will slow down. A lot of these can be addressed with the help of commercial import and export tools and solr. 

I guess what I am trying to say is, there is a way to make imagento work in case Rick scales really fast. If I was in his shoes, I would not hold the launch hostage to a new platform, I would launch something on magento. Use my learnings to develop a custom platform in parallel.