Production ready...
There can often be a problem when developers release their code to a production site. At the point that a competent developer releases code, you can be pretty sure that it functions as required. However, there can be problems with scaling - what works across a LAN in the office with a small amount of code may start to cough and splutter a bit once the Internet is interposed, and log tables that are never maintained can grow, and grow, and grow.
However, this post isn't about that, it's about when a developer sets up the production server itself. Here's a wee tale...
We were approached by a local company who were giving up on a Magento site that they'd spent a fair bit of time getting up and running, nice simple theme, well thought out categories, and a large number of products well presented. However, it had never, ever made a single sale, and they'd decided to change their tack and put up a WordPress site describing their wares instead. Magento they'd been told was just too complicated to run well.
So with the red rag firmly presented, we decided to look further, and see if it really was that bad.
It was...
( sorry I have to anonymise these results, but I guarantee there are *absolutely* no configuration changes to the Magento site ).
We downloaded the site and database to one of our servers to investigate further.
So what has changed? Just the infrastructure. The server we put it onto is nothing special - an Amazon Ec2 server - c4.large - running about 10 websites, a mixture of Magento and WordPress. We use a LEMP ( Linux, Nginx, MySQL, PHP ) stack, which we have configured to provide the best performance without sacrificing safety, reliability or security, and monitor for bottlenecks.
A little investigation shows the old server to be running Windows Server 2008, with the infrastructure being provided by an unconfigured WAMP server. Whilst this toy may just be acceptable for use on a developer's PC, as you can see from the stats above, there is no place for it in a production environment.
So next time a developer tells you the site is production ready, get a second opinion.