Anatomy of an IT system, as well as methods and tools for successful IT monitoring.

If you run a bakery, you greet your customers in person and serve them in person. And when it’s getting dark, you close the door and go home.

If you have an e-commerce company, there is never an evening time, and there is no chance to get an excuse when something goes wrong. The customer never meets you. You have to rely on your IT system to greet, serve, and support your customer.

In this article, I want to provide a benchmark model for IT monitoring. I start by describing an e-commerce IT system and its parts and then move to the methods and tools that help to watch their performance.

In particular, I try to translate a few NewRelic metrics into a general business language and show their role in securing the smooth functioning of an e-commerce company.

Who should read this article?

Answer: IT decision-makers.

The article depicts the working routines of the companies that generate their revenues mostly or exclusively online, like webshops and software-as-a-service (SaaS) providers. The screenshots from the further sections were made from a SaaS IT monitoring system. The metrics and the present monitoring concept are all applicable to online shops as well.

This article is for you if you are:

  • A tech lead or CTO, generally interested in improving your IT monitoring.
  • A business owner, and since your business is growing, you want to prepare yourself for a successful expansion.
  • An investor planning to acquire an existing e-commerce company.

Especially in the last two cases, you need to understand the importance of IT monitoring and the extent to which it should be implemented. Without your IT processes being transparent and controllable, you barely can become a reliable retailer and business partner.

The article provides an IT monitoring map that may help you to estimate the attractiveness of a business you want to buy. If your own webshop is growing, you may want to make sure that you can scale your business without losing quality.

I hope this article can be exciting reading for the folks with an outstanding technical background too. It nevertheless contains some basic notions to make it valuable through comprehensiveness for business people in the first place.

Anatomy of an IT system: online shops and SaaS

Main integral parts

A typical e-commerce IT system would include a website, a back office, and an enterprise resource planning system (ERP).
A few modifications are nowadays possible due to a large number of various service providers. For instance, most of the small or middle-sized online shops would use an out-of-the-box e-commerce platform like Shopify, WooCommerce, Magento, Spryker, etc. These platforms offer handling of online payments, which can be quite tricky to implement independently.
Heavy players prefer to develop their own platforms to keep an eye on maintenance issues and customization. The owners have full control over the platform and are secured against undesirable updates that can slow down their businesses. Though, an authentic online shop takes up to four years to plan and program.
Nonetheless, large e-commerce companies rather tend to outsource logistic issues by integrating a ready-to-go ERP system. Commonly used are SAP or Microsoft Dynamics AX. These ERP systems manage product stocks, handle purchases, and administer user data, including tracking. Behind an ERP system, there is a complex chain of databases and software to govern them. An e-commerce company can customize it to some extent but has no influence over the underlying architecture.

Back office system

A company staff needs a platform to manage manual changes. An ERP would only store very general product information. Any additional details that should be added to the website, like product pictures or special prices, have to come from the so-called back office, also known as backend. It is a user interface and software behind it that sends and receives updates from both the ERP and the webshop.
All information about each product is collected in a product information manager (PIM). It could — but not necessarily do — perform price management, including a continuous competitor check. A PIM keeps your prices flexible and allows you to set discounts or seasonal prices. It can be done manually or by creating a catalog of price rules. A PIM will adjust prices depending on the date or recent changes in your competitors’ price policies.
Back office systems have at least three more functions.
Almost every online shop has an Amazon listing or uses some other market place. Managing these channels is also an important task of a back office.
Any e-commerce company collects large amounts of data about their customers. To store it in a systematic way and be able to make use of it — for instance, to send newsletters — you would need a customer relations system (CRM).
Finally, a support team also needs a platform. Just as the CRM, it can be an integrated part of the custom back office or a solution from some external provider.

Bringing them all together

As you may already guess, single parts of an IT system have to talk to each other. They exchange information by querying and receiving API calls. Since most of the APIs can get very busy during the day, the single requests and “answers” to them — the updates — are stored in multiple queues. These queues are subject to a continuous check, too.

Integral parts of an IT system
Integral parts of an IT system

The scheme is quite universal. A few variations may occur due to the business’ needs.
Some online retailers may want a lot of customization for the online shop. They would develop the website from scratch but still use an e-commerce platform as a part of the backend and not as an online presence.
A SaaS business may choose to build an allrounder software that steers several databases. A possible makeup would be using relational databases, like MySQL, for the backend operations and elastic search ones in the frontend. Such a system replaces the frontend (the website), the backend, and the ERP. Both end customers and employees use the same system but have different access points. The system operates on the same principles as the one compiled of semi-independent applications.
Thus, the IT monitoring looks pretty similar for all e-commerce businesses in general. The next section will describe it in more detail and provide a few illustrations.

IT monitoring basics: a case study

IT monitoring providers — and what they actually do

What technically stands behind “IT monitoring”? The monitoring system collects information about the execution of single operations, like sending and receiving requests between main integral parts of your IT system. Such data include, in the first place, the status of an execution (successful or failed), and the time that was needed to complete the action.

The chart below shows the total amount of system failures during a selected time period.

Error rate calculated for the entire IT system (a NewRelic screenshot)

Two basic approaches are possible in regard to collecting this data. A monitoring system can proactively pick the information. This is known as a pull method. Your monitoring software will log in into each single part and check for the log data. The opposite of this is the push method. This means that integral parts of your IT system will send data to the monitoring client.

In the second case, you can have difficulties by telling a failure of the IT system and failure of the monitoring system from each other. Still, the most popular IT monitoring software — New Relic — is based upon the push method.

Its biggest competitor — Datadog — can watch your system with either a pull or push method. In case, you’ve selected the first one, Datadog will download log files where each single operation is tracked.

New Relic requires less configuration effort before starting with it. Datadog would take some time to configure.

There are a couple of features that each of them can, but the functional overlap is limited. For this reason, some companies may even use both. Datadog turns to be a perfect DevOps tool for checking infrastructural databases. NewRelic is favored by software developers.

There are numerous other providers out there, even open-source ones. For instance, Prometheus is an IT monitoring software that has no frontend. You can build your surveillance dashboards in Grafana — for now, the only tool that can read data from it. Prometheus consists of the InfluxDB time series databases and a few APIs that let you push the data into them.

Regardless of the tool, you can visualize a lot of information, from general statistics to some very specific parameters. This article uses screenshots from New Relic.

Monitoring the webshop

Obviously enough, the webshop must run 24/7. Two basic things that you want to watch here: the website performance as it adapts to the end users’ requests and the frontend performance. With the last one, you keep an eye on the systems running behind your online presence. It is necessary to secure a smooth and correct handling of the orders that users make in the webshop.

But the way to a completed conversion is a long and thorny one.

Page load time is the alpha and omega of your e-commerce success. Your shop should catch up with the impatience of modern online shoppers. An ever-loading page would make them click away. Thus, extra loading time can result in dropping started purchases.

A network response, a document object model (DOM) processing, and a page rendering all together make up a page view loading time. After the network delivered a successful response, the DOM is being accessed and processed. A DOM is nothing else than a representation of the HTML elements that your page consists of. When the processing is complete, the page is rendered and appears to the user. See the screenshot below.

A detailed page view load time

The chart shows an average load time of all pages retrieved by every single user.

If you notice any suspicious peaks, then you may want to drill into the single elements of your webpage. For instance, you may have a look over your JavaScript or Ajax.

JavaScript makes your page interactive and is responsible for such things like pop-ups, confirmation boxes, etc. Ajax is most commonly used to help to hold the page rendering time to a necessary minimum by selecting fewer elements to be re-loaded. Only the elements that are different for the previous and the next visited page are being loaded again. Ajax can also save tracking data and send user notifications.

JavaScript and Ajax performance

Your systems can be healthy per se, but not quite scalable. Or your website may become a target of some malicious intent. In such cases, too many page views can bring it down. The important metric for prevention of it is called throughput and should normally demonstrate the same pattern over time. A break in the pattern may hide some problems. A distribution of views per browser is also worth monitoring to quickly pick up any anomalies.

Total page views
Page views split by browser

All the mentioned metrics make sure that website visitors have a pleasant user experience. Behind it, a lot of other processes run.

Monitoring the backend and databases

The shop must show correct prices, stock availability, discounts, delivery time, etc. If the warehouse runs out of particular products, this information must be immediately updated on the website.

The chart below shows the amount of time that each of the main backend components — software and databases — needs to process a single request that comes from the webshop during a user surfs through it. Exactly speaking, it measures the response time from the server, where all these parts run on.

PHP is a stand-alone script language, commonly used to build web applications, alongside with Java, C#, etc. These programming languages are the most popular ones for backend clients. On the chart below, “PHP” stays for the enterprise software in general. Other lines on the chart represent the performance of external services, like APIs, MySQL databases, Memchache, etc.

Server response time: a detailed view

When a user puts a product into the cart and then makes a check-out, this purchase should be tracked in all relevant databases. As soon as the product is being sent to the customer, more updates would follow. For this reason, you should monitor such important metrics like:

  • amount of connections established to databases
  • CPU usage of your database host server
  • amount of time most import operations like read and write need to be completed
  • memory load of your server

You may want to have a chart for such a specific parameter like the amount of slow queries.

Monitoring MySQL databases

As it was mentioned in the section about the main parts of an IT system, databases, and clients like ERP and PIM communicate via API. Each API sends and receives heaps of messages that sometimes have to wait to be processed and are therefore organized in a queue. You may want to monitor your queues as well. This helps to make sure that there is no bottleneck somewhere. All parts of the IT system must have equal status regarding incoming and outgoing updates.

Below is a less conventional example of a queue containing payment details. If a user makes a purchase in your shop, all relevant information is handled over to a payment system provider, like PayPal. The chart shows single steps in this handling process: database requests, PayPal API requests, etc.

PayPal

If you offer a mobile app, where users can buy something, you may want to keep a watch on the queue that manages mobile push notifications.

Mobile app push notifications

Eventually, some general monitoring, like checking e-mail queues, also belongs to a safety concept.

E-mail server

A short afterword

In this article, I went through the main parts of an IT system that would be typical for an e-commerce company. I highlighted the points that are subject to a continuous check and provided examples of IT monitoring methods and tools.

I illustrated my case study — a custom programmed software acting as both a frontend and backend — with a few screenshots from NewRelic to pick up the most important processes to be monitored on a regular basis.

Leave a Reply

Your email address will not be published. Required fields are marked *