How to setup an e-shop in a correct way
We will try not to get too deep into technical details. We will provide just a short abstract from our experience, which might help you on a very first stage of starting your online shop.
Some simple things to start with. Decide for yourself how many visitors you will have. Will it be 100 visits per day, or one thousand, or maybe one thousand per minute? What is the growth rate planned? Answers will help to make a choice. We are experienced with Woocommerce, Prestashop and Magento and we will share our experience with you.
Woocommerce – very attractive Plug-in for WordPress. It has a lot of modules with expanded functionality and skins, which are nice and inexpensive. Setup procedure is easy and intuitive. Great choice for shops with traffic of not more then 5-10 thousand visitors per day. Of course, Woocommerce can handle even higher traffic – this depends on used extensions, skins, stock size and some other parameters. Our numbers are approximate, but it helps you to define threshold which keep your server maintenance cost per visitor lower in comparison with other shop engines.
Prestashop – quiet popular e-shop. We think that it has some functionality coded more comfortable if you compare with Woocommerce and Magento. Big developers and user community, huge selection of free and paid extensions and skins. This e-shop will help to handle about 10-20 thousand visitors per day without skyrocketing your server maintenance costs. We can say that Woocommerce и Prestashop about equal when it comes to maintenance cost per visitor.
Magento – another popular e-shop. It has greatest potential out of all e-shops listed here. Wide selection of commercial extensions and templates. If you are planning to have 20+ thousand visitors per day – Magento is the best choice. You can start with free version and later upgrade to paid version. If your software developer well trained with Magento then you should stick to free version. Leaving all technical details aside we should say that the only difference between free and paid version is full page cache. It means that all pages sits in the server cache memory and therefore appear faster. Also, thanks to this kind of caching, the total load to server is lower. If you compare with other e-shop engines server cost per visitor is the same but once you rich certain threshold with Magento it drops down. You can do caching with Woocommerce and Prestashop too, but they have some structural limitations. In simple terms, it means that Magento can put the whole page into cache, but some parts will show only actual data, which means that those part either does not cached at all or cached for shorter period then the rest of the page. For example, page with shopping list will be cached in whole, but parts with prices and items quantity will not be cached. Woocommerce and Prestashop cannot do that, they can put (or not put) into the cache the whole page, in order to have only actual data there. This is structural feature which allows Magento be more scalable and efficient shop when it comes to serious load.
Of course there is workaround to avoid these limitations available for Woocommerce and Prestashop, but it requires whole template remodeling. If you have a team of developers – they can and should do it, but it will be unusual, so to say, solution which, once implemented, will be available only on one particular server.
Another big Magento advantage, as we see it, is a Redis cache support. What is this and why we like it more than Memcache, we will explain later.
Creating your own shop or template advice with DevOps, they will suggest needed minimal server requirements. For example, we can offer server stack creation based on Linode or Digita Ocean, which will help you to start with minimal investment cost. We will provide functionality and monitoring and will warn you once your business will grow so much so it will require own dedicated servers with Openstack for cost minimizing.