The downfall of good code

Sven Hammar, CEO, Apica System, illustrates five ways to better identify and eliminate application failure points.

Failure points – places in an application’s infrastructure, network or application programming interface (API) where errors typically occur – can be the downfall of good code. Whether common failure points plague your team or you are working out complicated bugs, these points can be frustrating, time-consuming, and even expensive if extensive downtime is incurred.

Here are five ways to identify and eliminate these failure points to keep the company’s system up and running:

Pinpoint common failure points

Failure points are a fairly common problem in web and API development. While this may seem like bad news, the amount of research already invested in the issue may prove helpful. By creating a list of common failure points that your team may encounter, you can help them narrow down the possibilities when they are searching for a problem in the future.

Common failure points include:

  • DNS servers.
  • Database servers.
  • Login/access c
  • Third-party APIs.
  • Other third-party services.

Consider (or reconsider) the infrastructure

When working with a physical network, a system may have a range of different failure points than one based in the cloud due to hardware concerns or limitations. Though cloud-based infrastructures do not have the same hardware concerns, that does not mean they are not without their own vulnerabilities and failure points.

A major benefit of cloud infrastructures is that they can scale up to handle more demanding workloads. However, it is important to keep in mind that just because a cloud infrastructure has the ability to scale, that does not mean an application running in the cloud will also scale as it should.

A pre-existing weak point in the application’s code may not be immediately apparent under normal conditions, but after scaling up to meet the demands of a larger user-base, could cause a full-blown performance failure. An application must be designed to properly utilise the cloud infrastructure, and this means improving any weak areas that may result in network bottlenecks and prevent proper scalability.

A load testing program will help pinpoint areas of concern in both a network and application’s infrastructure. By scaling and testing the application with a solid load testing tool, your team will be able to identify if the source of the problem is in the application code, the network infrastructure, or elsewhere.

Create a streamlined process for addressing concerns

Of course, to truly streamline the ticket cycle, your company should have a process in place for identifying and eliminating failure points. Once this process is created, it can be applied to each problem area that arises, which will help minimise downtime.

Testers can incorporate software to aid with detection, or create a series of steps that your team can follow to narrow down the possible locations of the failure.

Detect failures with the right testing to minimise downtime events

As developers are establishing a detection process, it would be wise to look into testing software to better determine the exact point of a failure and how to remedy the issue moving forward. This will allow the team to avoid wasting effort on time-consuming bug hunts by pinpointing the exact location of the problem. This quick detection can streamline troubleshooting and prevent costly downtime.

The right testing software will come with a wide range of reporting features, so your team can better learn which areas of the infrastructure commonly cause these errors.

Proactively avoid failure with testing and monitoring

The right performance load testing and monitoring software can run through the entire system and locate weak points so you are aware of them before there is a problem. These intuitive monitoring and testing services can pre-emptively check every aspect of the site or API and detect vulnerabilities that may turn into failures in certain scenarios. By taking advantage of this software, programmers can even correct failure points before the code is deployed, saving time and money down the road.


By properly identifying and eliminating failure points – and by investing in testing and monitoring services provided by professional suppliers – developers, programmers, and project managers can maintain high uptime through even the most heavily trafficked situations.


Edited for web by Cecilia Rehn.