Development Fuckups that Cost Millions
aka what to (not) want from your e-shop developers
E-shop development costs can climb up to millions, not to mention the time such development requires. Therefore, it is especially important that such investment isn’t made in vain.
At vshosting~, we host thousands of e-shops and have seen a lot in our 13 years on the market. That’s why we put together a list of things we recommend our clients to watch out for when developing an e-shop. Provided their goal is to maximize the return on their investment, that is.
How to Approach the Overall App Design
Stick to Tried and Tested Technologies
There’s a good chance your developers will try to persuade you that proven technologies are “old and boring” and that you should use some new hot tech instead. Here it’s important to back up for a moment and consider this: brand new technologies are indeed cool but also carry a significant risk of becoming obsolete within a year or two.
Should that become the unfortunate reality, incompatibility with many systems necessary for your e-shop operation would ensue. As would, of course, the issue with trying to find developers who are able to work with such niche tech. All this combined would lead to a compromised functionality of your e-shop and, as a result, to loss of revenue.
If you don’t feel comfortable taking that risk, we recommend you stick to the most popular technologies used to develop e-shops such as PHP, MySQL, ElasticSearch, MongoDB, or Redis.
Think about Horizontal Scalability
Undoubtedly, you’re developing your new e-shop with a vision of future growth. In order for your technical solution to keep the pace with increasing demand, it needs to be easily scalable. As a result, we recommend minimizing the use of relational databases and avoiding the ones that are difficult to scale (e.g. PostgreSQL) to our clients.
Another appropriate measure that makes horizontal scaling easier is the elimination of a shared file system and the use of object storage in its place. Just like a relational database, a shared file system can quickly become an unnecessary hindrance to growth.
Don’t be Afraid to Develop Using Technologies in Testing
The development of a complex e-shop can easily take a year or two which is, given the lifecycle of many technologies, a rather long time. A nightmare scenario is that where after investing millions and spending 1-2 years developing, you launch your new e-shop only to find out it’s already pretty much technologically outdated.
In order to increase the length of your e-shop’s lifecycle, it is ideal for your developers to use new versions of proven technologies that are only in their testing phase. Thanks to that, your e-shop will age more slowly and the return on your investment will thus be much better.
Move on to Microservices
Monolithic (i.e. “built in one piece”) applications are on the decline in today’s development world, and for good practical reasons. Whenever you need to change or fix a part of such an application, it often leads to errors all over it. As a result, any changes or implementation of new features are very problematic.
For this reason, so-called microservices, thanks to which it is possible to develop sustainable applications with the option of only replacing their parts, are gaining popularity. If using microservices, your developers won’t spend all of their time fixing bugs and will be able to devote their efforts to developing new features instead.
Hidden Threats of E-shop Development
Technologies to Stay Clear of
Here are the top 3 technologies that can become a stumbling block when developing and operating an e-shop: Varnish, PostgreSQL, and Magento.
Varnish
Varnish is an application cache designed to speed up the application. However, an application that needs Varnish in order to run fast enough is quite suspicious. To give you the big picture, out of our thousands of clients only 2% use Varnish. Others don’t need it because their applications are fast enough without it.
PostgreSQL
As has been already mentioned with relation to horizontal scalability, PostgreSQL can very quickly become a hindrance for large e-shops. It is very difficult to scale and until today can’t do synchronous replica very well. Therefore, we recommend more scalable technologies for large e-shops (or small ones with the ambition to grow).
Magento
At vshosting~, we nicknamed Magento “solution for those with unlimited budgets and no need for scaling”. As you can imagine, we can’t in our experience recommend Magento to e-shops that aim to grow. While it does make development easier, it lacks scalability.
Watch out for Hidden Vendor Lock-in or Licences
Another threat to e-shop development can be too much dependence on an external service. Providers often make it difficult to migrate to another service in the event of issues or say a significant price increase. Interestingly, it tends to be quite easy to provide most of such services in-house. For example, a full-text search doesn’t need to be outsourced to an external service at all if you use ElasticSearch in-house.
A proprietary database is another such example: if it is custom-written to fit an external service, it cannot be transferred to another one. It is also important to watch out for licenses such as Java SDK.
How Not to Blow Money Invested in Advertising
Last but not least, here are a few pieces of technically-operational advice that’ll help you ensure that the money you invest in advertising will not be spent in vain due to the limitations of your e-shop.
Separate Development, Testing, and Production Environments
Tip number 1 is the separation of development, testing, and production environments. Production environment (i.e. the one making money) is sacred – one shouldn’t touch it unless absolutely necessary because each issue promptly turns into lost profit.
Developers should create new features in the development environment, then test them in the testing environment and only after that deploy them into production. Only by thoroughly testing things outside of production can you avoid the situation where a bug is discovered in production on a Friday night during Christmas shopping season.
Know the Limits of Your E-shop and Test Regularly
Presumably, we can all agree that only just discovering the limits of your e-shop shortly after launching a costly TV ad campaign is not the most opportune moment. Therefore, we recommend our clients to invest in so-called performance tests. Those serve to find limits and weaknesses by simulating high traffic to the website.
Moreover, good performance tests don’t only overload the application with traffic but emulate the behavior of an actual website visitor – e.g. by viewing product details, adding products to the shopping cart, full-text searching, etc. Thanks to that, you can find out more precisely where the weak spots of your web are and will be able to act on it accordingly.
Security (Beyond a Secure Application Design)
Not only due to GDPR is the old saying “security above all” more valid now than ever. Nowadays, if passwords are leaked from your e-shop, you risk having to pay a handsome fine and facing other legal consequences on top of losing the trust of your customers.
To minimize the risk of anything like that happening, we can recommend 3 most important measures to take:
- Regular penetration tests (they test application weaknesses from a security standpoint)
- AntiDDOS protection (just this year, we have noted over 1500 attacks on our clients’ webs, a large portion of which was conducted automatically)
- Backups + the option of a quick restore (how long does it take to restore the system from backups? A few minutes or a few days?)