Tymoteusz Motylewski
4y ago
Founder and CTO of Macopedia - a 100% bootstrapped web agency. Writing about e-commerce, challenges of digital transformation, and software development.
I bet your shop relies on at least 3 external services.
Being in the e-commerce industry for over 10 years I helped plenty of customers tune the performance of their shops and increase turnover as a result. Checking and monitoring dependencies is a crucial part of the investigation.
Today e-commerce systems are heavily integrated. On one hand, they rely on integrations providing some data or business logic like
payment gateways,
pricing,
inventory,
order,
product information,
On the other hand, they rely on infrastructure services like databases or search engines.
Despite every e-commerce has several external dependencies, It's very rare to see proper monitoring of them.
Here are 3 common mistakes made when coping with integrations.
Mistake 1: no monitoring of external systems
It's just flying blind. Not working integration can take down your shop and you will not know why it's not working.
Mistake 2: monitoring "health checks" instead of real API calls
Often external systems come with a "health check" or "status" API which allows you to verify if the service is working. Monitoring it is a good idea, but it just tells you whether it's on or off.
Health checks are often giving false-positive results, as they are implemented to be quick and not to be precise.
I recommend monitoring the error rate for real API calls your application is performing as an addition to the health checks.
Mistake 3: not monitoring the performance of external API
Your shop conversion might drop drastically even if the external API returns proper results, but slower than usual.
In one of our recent Magento projects - we found out that the product reservation API was having a few minutes of slowdowns every hour. Response time went up from 100ms to 2s, which caused tons of abandoned carts. Customers were reporting issues with checkout, but without monitoring, nobody was able to reproduce it.
Interestingly the performance of the health check endpoint was good and stable - so monitoring just it would not reveal the issue.
Once we provided the chart of the API response times to the vendor, they managed to quickly fix the underlying issue.
Mistake 4: monitoring, but without triggering alerts
Be proactive and instead of just gathering data and drawing nice charts, set automatic triggers when the performance of the external API drops. When possible I'm also adding the API vendor email to the alert recipients, so they can fix the underlying issue right away.