Starting point
When Elasticsearch went down, the store stopped selling
The store came to us in 2023 from a previous vendor. The catalogue holds more than 5,000 products, from probe styli to probe and tool holder accessories, and most of them carry specific part numbers from manufacturers such as Renishaw, Heidenhain, Hexagon and Mitutoyo. The platform ran on an older Magento version and had regular outages. The weakest point was Elasticsearch, the engine behind both search and category listings. In a parts catalogue where customers usually look for one specific part number, a search outage meant the store effectively stopped working. Before anyone could think about a new front end, the store simply had to stay up.
What we did
An upgrade, a tidier catalogue and Varnish
We dealt with the causes of the outages first. Work on the new look started only once the store was stable.
- 1
Taking over the code and environment
We started by taking over the repository, access and server from the previous vendor. We checked which modules were actually in use, where the code departed from standard Magento and what was blocking an upgrade. From that we planned the order of work so the store kept taking orders and enquiries throughout.
- 2
Upgrading Magento
We moved Magento to a newer version and adapted the modules and the store's custom code to it. The upgrade closed outstanding security holes and brought in performance fixes from newer releases. Since then we have applied security patches as they come out rather than letting them pile up.
- 3
Optimising the catalogue
With more than 5,000 products, the catalogue and indexing setup has a direct effect on Elasticsearch load. We reworked it so search and category listings no longer put needless strain on the server. After these changes, together with the upgrade and caching, the Elasticsearch crashes stopped recurring.
- 4
Varnish as a page cache
We put Varnish in front of Magento. Category, product and content pages are now served from cache, and the store only computes what cannot be cached, such as the basket. That leaves the server with headroom and gets visitors a ready page faster.
- 5
Hyvä and Hyvä Checkout in progress
The store still runs on the Luma theme today. We are moving it to Hyvä and Hyvä Checkout, which will replace the heavy RequireJS front end with lighter code built on Alpine.js and Tailwind CSS. The rollout is still in progress, and we will describe the results once the new version is live.
Outcome
The outages and search crashes have stopped
After the Magento upgrade, the catalogue cleanup and Varnish, the store stopped going down and Elasticsearch stopped crashing. System 3D now has a stable sales channel for more than 5,000 products. We look after the store on an ongoing basis: we apply security patches, keep an eye on the server and build new features. The next stage, a new front end on Hyvä with Hyvä Checkout, is in progress.
- We apply Magento security patches
- We maintain the server, Varnish and Elasticsearch
- We are rolling out Hyvä and Hyvä Checkout