Skip to main content

APM is More Than a Software Product

Oliver Cole

I have been in the performance engineering business for about 30 years. I get involved early on during system development and move off as the systems move to maintenance. Then, I move onto the next one.

I sometimes get called in to troubleshoot a performance crisis. I have sometimes been compared to a locust moving onto the next greenfield and, at other times, compared to Kwai Chang Caine (of Kung Fu fame), wandering the earth sowing justice, peace and performance.

Whichever you choose, I have noticed some similarities between the various projects that I have worked on.

1. Speed to Meet the Need

There are two aspects to performance engineering:

- To speed up the system to meet the required response times

- To talk the customer into lowering their response time requirements

It continually amazes me how high level system people will start off with unnecessarily fast response requirements. One customer wanted sub-second browser response time, even though the user would stare at the resulting web page for many minutes. Really, it was ok if it took a couple of seconds to fetch the web page.

So don't feel afraid to talk your customers into a lower performance criteria.

2. Keep Track of Your History

Performance requirements are always patchy. Yes, they get the big ones (user response time), but it is totally typical for the subcomponents to not have requirements on them, making it unclear where and how to make the end user response times. Complicating this, generally, all of the discussions leading to the system designs are lost. There was a big debate as to how large the system should be for how many users. Someone chose that 256 CPU server monster, but what was their thinking? Half way through the project, when the response requirements have been relaxed and the number of users has been increased, it sure would be nice to look though those emails and see what people were thinking so you can estimate what system changes need to be made to accommodate the business changes.

So during the early phases, have an archive account to which people can cc "important" emails. Later, these can be reviewed and all that wonderful history and knowledge will make the system change and maintenance a lot easier.

3. Dev vs. Ops

The development people do not really address the maintenance phase of the project. The development people are in a heated rush to meet performance goals and deadlines while not over running costs. The project managers are very focused on the deadline of "going live".

Then the system goes live, everyone throws a party and then they realize that they have not planned well for this lesser period of effort: maintenance. What artifacts did the developers leave the maintainers? Did they leave a workable load test? Did they leave a well organized set of production diagnostics implemented as part of the application? Did they leave proper alert monitoring? Did they leave proper daily reporting?

Ideally, the last stage of development is to set up the system for long term, cost effective maintenance, not the first stage of maintenance. This task is properly done when the development team is still available, not after the brightest are gone to their next adventure. As much as possible the maintenance tasks (such as daily reports, regression tests and load tests) should be automated and that may require changes to the system, changes that the development team can do easily, but will be much more difficult for the whittled down maintenance team.

4. An APM Solution Itself is not the Solution

Management often feels that buying a tool will solve a problem. "We have performance problems so we will buy an APM solution." This belief often results in shelfware: management has underestimated the effort to implement the solution.

Yes, an APM solution is good. But you need to have enough labor to implement it and look at and understand the results. Plan on it up front. Don't focus on the capital cost to your organization, focus on how it will integrate into your organization and what will be done on an ongoing basis.

5. How Important is Performance?

How important is your project? Everyone feels that their project is important, but some are more so than others. Some systems really are not that performance intensive. So, you can save money by not worrying so much about performance; a high performing system is more expensive to monitor and maintain than one that requires less performance.

Make the decision early on as to how important performance is. If it is important, make sure that it is considered important by everyone. If it is not so important, embrace that too and make clear goals for performance. Even if performance is not important, clearly indicate the goals. Even easy to reach goals should be articulated.

I have seen systems where the performance goal is to wait for users to complain, then address it. Sometimes that works fine.

Oliver Cole is President of OC Systems.

Hot Topics

The Latest

According to Auvik's 2025 IT Trends Report, 60% of IT professionals feel at least moderately burned out on the job, with 43% stating that their workload is contributing to work stress. At the same time, many IT professionals are naming AI and machine learning as key areas they'd most like to upskill ...

Businesses that face downtime or outages risk financial and reputational damage, as well as reducing partner, shareholder, and customer trust. One of the major challenges that enterprises face is implementing a robust business continuity plan. What's the solution? The answer may lie in disaster recovery tactics such as truly immutable storage and regular disaster recovery testing ...

IT spending is expected to jump nearly 10% in 2025, and organizations are now facing pressure to manage costs without slowing down critical functions like observability. To meet the challenge, leaders are turning to smarter, more cost effective business strategies. Enter stage right: OpenTelemetry, the missing piece of the puzzle that is no longer just an option but rather a strategic advantage ...

Amidst the threat of cyberhacks and data breaches, companies install several security measures to keep their business safely afloat. These measures aim to protect businesses, employees, and crucial data. Yet, employees perceive them as burdensome. Frustrated with complex logins, slow access, and constant security checks, workers decide to completely bypass all security set-ups ...

Image
Cloudbrink's Personal SASE services provide last-mile acceleration and reduction in latency

In MEAN TIME TO INSIGHT Episode 13, Shamus McGillicuddy, VP of Research, Network Infrastructure and Operations, at EMA discusses hybrid multi-cloud networking strategy ... 

In high-traffic environments, the sheer volume and unpredictable nature of network incidents can quickly overwhelm even the most skilled teams, hindering their ability to react swiftly and effectively, potentially impacting service availability and overall business performance. This is where closed-loop remediation comes into the picture: an IT management concept designed to address the escalating complexity of modern networks ...

In 2025, enterprise workflows are undergoing a seismic shift. Propelled by breakthroughs in generative AI (GenAI), large language models (LLMs), and natural language processing (NLP), a new paradigm is emerging — agentic AI. This technology is not just automating tasks; it's reimagining how organizations make decisions, engage customers, and operate at scale ...

In the early days of the cloud revolution, business leaders perceived cloud services as a means of sidelining IT organizations. IT was too slow, too expensive, or incapable of supporting new technologies. With a team of developers, line of business managers could deploy new applications and services in the cloud. IT has been fighting to retake control ever since. Today, IT is back in the driver's seat, according to new research by Enterprise Management Associates (EMA) ...

In today's fast-paced and increasingly complex network environments, Network Operations Centers (NOCs) are the backbone of ensuring continuous uptime, smooth service delivery, and rapid issue resolution. However, the challenges faced by NOC teams are only growing. In a recent study, 78% state network complexity has grown significantly over the last few years while 84% regularly learn about network issues from users. It is imperative we adopt a new approach to managing today's network experiences ...

Image
Broadcom

From growing reliance on FinOps teams to the increasing attention on artificial intelligence (AI), and software licensing, the Flexera 2025 State of the Cloud Report digs into how organizations are improving cloud spend efficiency, while tackling the complexities of emerging technologies ...

APM is More Than a Software Product

Oliver Cole

I have been in the performance engineering business for about 30 years. I get involved early on during system development and move off as the systems move to maintenance. Then, I move onto the next one.

I sometimes get called in to troubleshoot a performance crisis. I have sometimes been compared to a locust moving onto the next greenfield and, at other times, compared to Kwai Chang Caine (of Kung Fu fame), wandering the earth sowing justice, peace and performance.

Whichever you choose, I have noticed some similarities between the various projects that I have worked on.

1. Speed to Meet the Need

There are two aspects to performance engineering:

- To speed up the system to meet the required response times

- To talk the customer into lowering their response time requirements

It continually amazes me how high level system people will start off with unnecessarily fast response requirements. One customer wanted sub-second browser response time, even though the user would stare at the resulting web page for many minutes. Really, it was ok if it took a couple of seconds to fetch the web page.

So don't feel afraid to talk your customers into a lower performance criteria.

2. Keep Track of Your History

Performance requirements are always patchy. Yes, they get the big ones (user response time), but it is totally typical for the subcomponents to not have requirements on them, making it unclear where and how to make the end user response times. Complicating this, generally, all of the discussions leading to the system designs are lost. There was a big debate as to how large the system should be for how many users. Someone chose that 256 CPU server monster, but what was their thinking? Half way through the project, when the response requirements have been relaxed and the number of users has been increased, it sure would be nice to look though those emails and see what people were thinking so you can estimate what system changes need to be made to accommodate the business changes.

So during the early phases, have an archive account to which people can cc "important" emails. Later, these can be reviewed and all that wonderful history and knowledge will make the system change and maintenance a lot easier.

3. Dev vs. Ops

The development people do not really address the maintenance phase of the project. The development people are in a heated rush to meet performance goals and deadlines while not over running costs. The project managers are very focused on the deadline of "going live".

Then the system goes live, everyone throws a party and then they realize that they have not planned well for this lesser period of effort: maintenance. What artifacts did the developers leave the maintainers? Did they leave a workable load test? Did they leave a well organized set of production diagnostics implemented as part of the application? Did they leave proper alert monitoring? Did they leave proper daily reporting?

Ideally, the last stage of development is to set up the system for long term, cost effective maintenance, not the first stage of maintenance. This task is properly done when the development team is still available, not after the brightest are gone to their next adventure. As much as possible the maintenance tasks (such as daily reports, regression tests and load tests) should be automated and that may require changes to the system, changes that the development team can do easily, but will be much more difficult for the whittled down maintenance team.

4. An APM Solution Itself is not the Solution

Management often feels that buying a tool will solve a problem. "We have performance problems so we will buy an APM solution." This belief often results in shelfware: management has underestimated the effort to implement the solution.

Yes, an APM solution is good. But you need to have enough labor to implement it and look at and understand the results. Plan on it up front. Don't focus on the capital cost to your organization, focus on how it will integrate into your organization and what will be done on an ongoing basis.

5. How Important is Performance?

How important is your project? Everyone feels that their project is important, but some are more so than others. Some systems really are not that performance intensive. So, you can save money by not worrying so much about performance; a high performing system is more expensive to monitor and maintain than one that requires less performance.

Make the decision early on as to how important performance is. If it is important, make sure that it is considered important by everyone. If it is not so important, embrace that too and make clear goals for performance. Even if performance is not important, clearly indicate the goals. Even easy to reach goals should be articulated.

I have seen systems where the performance goal is to wait for users to complain, then address it. Sometimes that works fine.

Oliver Cole is President of OC Systems.

Hot Topics

The Latest

According to Auvik's 2025 IT Trends Report, 60% of IT professionals feel at least moderately burned out on the job, with 43% stating that their workload is contributing to work stress. At the same time, many IT professionals are naming AI and machine learning as key areas they'd most like to upskill ...

Businesses that face downtime or outages risk financial and reputational damage, as well as reducing partner, shareholder, and customer trust. One of the major challenges that enterprises face is implementing a robust business continuity plan. What's the solution? The answer may lie in disaster recovery tactics such as truly immutable storage and regular disaster recovery testing ...

IT spending is expected to jump nearly 10% in 2025, and organizations are now facing pressure to manage costs without slowing down critical functions like observability. To meet the challenge, leaders are turning to smarter, more cost effective business strategies. Enter stage right: OpenTelemetry, the missing piece of the puzzle that is no longer just an option but rather a strategic advantage ...

Amidst the threat of cyberhacks and data breaches, companies install several security measures to keep their business safely afloat. These measures aim to protect businesses, employees, and crucial data. Yet, employees perceive them as burdensome. Frustrated with complex logins, slow access, and constant security checks, workers decide to completely bypass all security set-ups ...

Image
Cloudbrink's Personal SASE services provide last-mile acceleration and reduction in latency

In MEAN TIME TO INSIGHT Episode 13, Shamus McGillicuddy, VP of Research, Network Infrastructure and Operations, at EMA discusses hybrid multi-cloud networking strategy ... 

In high-traffic environments, the sheer volume and unpredictable nature of network incidents can quickly overwhelm even the most skilled teams, hindering their ability to react swiftly and effectively, potentially impacting service availability and overall business performance. This is where closed-loop remediation comes into the picture: an IT management concept designed to address the escalating complexity of modern networks ...

In 2025, enterprise workflows are undergoing a seismic shift. Propelled by breakthroughs in generative AI (GenAI), large language models (LLMs), and natural language processing (NLP), a new paradigm is emerging — agentic AI. This technology is not just automating tasks; it's reimagining how organizations make decisions, engage customers, and operate at scale ...

In the early days of the cloud revolution, business leaders perceived cloud services as a means of sidelining IT organizations. IT was too slow, too expensive, or incapable of supporting new technologies. With a team of developers, line of business managers could deploy new applications and services in the cloud. IT has been fighting to retake control ever since. Today, IT is back in the driver's seat, according to new research by Enterprise Management Associates (EMA) ...

In today's fast-paced and increasingly complex network environments, Network Operations Centers (NOCs) are the backbone of ensuring continuous uptime, smooth service delivery, and rapid issue resolution. However, the challenges faced by NOC teams are only growing. In a recent study, 78% state network complexity has grown significantly over the last few years while 84% regularly learn about network issues from users. It is imperative we adopt a new approach to managing today's network experiences ...

Image
Broadcom

From growing reliance on FinOps teams to the increasing attention on artificial intelligence (AI), and software licensing, the Flexera 2025 State of the Cloud Report digs into how organizations are improving cloud spend efficiency, while tackling the complexities of emerging technologies ...