In 2013, APMdigest published a list called 15 Top Factors That Impact Application Performance. Even today, this is one of the most popular pieces of content on the site. And for good reason – the whole concept of Application Performance Management (APM) starts with identifying the factors that impact application performance, and then doing something about it. However, in the fast moving world of IT, many aspects of application performance have changed in the 3 years since the list was published. And many new experts have come on the scene. So APMdigest is updating the list for 2016, and you will be surprised how much it has changed.
Part 4 of this list covers the application itself.
20. APP COMPLEXITY
The top factor that impacts application performance today is application complexity. Modern day applications are spidery, with thousand of possible optimization points. It's a huge amount of complexity to deal with. It becomes very hard to predict performance ahead of time, and to understand the implications of a software change. Companies need to have real data derived from real-life test scenarios, and need to measure true end-to-end key performance indicators (KPIs) affecting the user experience.
Founder and CEO, Nouvola
21. APP DESIGN
The top factor that impacts application performance is the architecture of the application itself. Often times you see this when an application is moved or migrated to another environment. For example, the impact of a "chatty" application can be hidden or mitigated on a high speed local LAN, but once moved to the cloud, the slower telecom speeds expose this design flaw in the form of high latency.
Research VP, IT Operations, Gartner
Application design/architecture/complexity is the top factor that impacts application performance. It can be quite difficult to mitigate the effects of poor design, even with a great deal of additional work. Poorly designed applications may suffer from poor performance even with relatively low traffic.
Founder and CEO, Apica
Developing apps while looking only from a functionality perspective is one of the most fundamental mistakes in developing applications. You should design your application also from a performance perspective if you want to make sure you deliver a good application. Do this right from the start of the project and you will deliver a much better application. Ignoring this and trying to optimize the performance afterwards is very expensive and doesn't deliver the correct results.
Online Performance Consultant and Founder of Blue Factory Internet
Application architecture – which is part science and part art. There are definitely MANY factors we see impact performance, everything from infrastructure to poor coding to a badly designed database. But fixing these implementation aspects of a poorly architected application can be like chasing your tail, and bad design decisions can haunt you for the life of the application. Applications are complex, often comprised of shared services and deployed on shared infrastructure. The science is in understanding the relationships and interactions between the various components, and the art is in doing so without sacrificing user experience.
SVP Delivery, SOASTA
22. APP DESIGN: NEW FEATURES
Applications that perform well have to be built effectively and tested meticulously. As such, the biggest impact on application performance is new features. As developers introduce new code, overall performance is affected. Due to schedule pressures, there is often no time remaining to optimize performance. Balancing the demands of time to market and application performance is a requirement for all members of the development, ops, and executive teams.
Director of Engineering, Sencha
23. APP DESIGN: LATENCY
Ignoring latency in application design: Chatty applications that require significant communication or synchronization with other components over a network need to be designed with WAN latency in mind. Multi-step communication over the network may work fine in a low-latency LAN environment, but it can become a critical time bottleneck over a higher-latency WAN or over the Internet. Add cloud services with worldwide distribution to this mix, and you have a recipe for disaster.
Kimberley Parsons Trommler
Product Evangelist, Paessler AG
24. APP DESIGN: IO PATH
The top factor affecting distributed/clustered applications performance is the inability to secure an entire application IO path from compute to storage – leading to unpredicted performance and incapability to guaranty SLA. This often also results in a poor man's solution – underutilized servers reflected in siloed applications' resources to guarantee availability, usually in a multi-tenant environment. Containers reflect the next generation virtualization solution designed to take on significant chunk of the challenge. By taking a holistic application centric approach, IO path from compute to storage resource availability can be guaranteed amongst other entire application lifecycle ops.
VP of Products, Robin Systems
25. APP DESIGN: BUGS
There are many different types of software bugs, all of which can impact software performance. For C/C++ programmers, common bugs include execution state corruption, data structure corruption, race conditions, deadlocks and memory leaks. These bugs can appear regularly in software development. However, they can also appear intermittently, thus unintentionally getting into shipped products. These types of bugs cause the biggest headaches for software vendors, who have to attempt to reproduce an issue their customer is experiencing but often without the issue appearing on the vendor's test systems. In each case, programmers are unaware of, or misunderstood, their contract with the rest of the system. Fundamentally, even in well-developed software, bugs occur because people don't understand what their software really does.
26. APP DESIGN: SECURITY
I think application performance is a huge subject but with what the world of software is going through today a lot has to do with security. I believe that the ability to deliver applications which have been developed with security in mind from the start will have a significant impact on the final delivery. An application which is developed with security in mind has less chance to expose user's personal data and therefore less chance of being taken down by the vendor. High programing quality is not only the speed but also the quality of the code and quality includes secure code.
Cyber Security Evangelist, Checkmarx
Read Top Factors That Impact Application Performance 2016 - Part 5, the final installment of the list of top factors that impact application performance.
Distributed tracing has been growing in popularity as a primary tool for investigating performance issues in microservices systems. Our recent DevOps Pulse survey shows a 38% increase year-over-year in organizations' tracing use. Furthermore, 64% of those respondents who are not yet using tracing indicated plans to adopt it in the next two years ...
Businesses are embracing artificial intelligence (AI) technologies to improve network performance and security, according to a new State of AIOps Study, conducted by ZK Research and Masergy ...
What may have appeared to be a stopgap solution in the spring of 2020 is now clearly our new workplace reality: It's impossible to walk back so many of the developments in workflow we've seen since then. The question is no longer when we'll all get back to the office, but how the companies that are lagging in their technological ability to facilitate remote work can catch up ...
The pandemic accelerated organizations' journey to the cloud to enable agile, on-demand, flexible access to resources, helping them align with a digital business's dynamic needs. We heard from many of our customers at the start of lockdown last year, saying they had to shift to a remote work environment, seemingly overnight, and this effort was heavily cloud-reliant. However, blindly forging ahead can backfire ...
SmartBear recently released the results of its 2021 State of Software Quality | Testing survey. I doubt you'll be surprised to hear that a "lack of time" was reported as the number one challenge to doing more testing, especially as release frequencies continue to increase. However, it was disheartening to see that a lack of time was also the number one response when we asked people to identify the biggest blocker to professional development ...
The role of the CIO is evolving with an increased focus on unlocking customer connections through service innovation, according to the 2021 Global CIO Survey. The study reveals the shift in the role of the CIO with the majority of CIO respondents stating innovation, operational efficiency, and customer experience as their top priorities ...
The perception of IT support has dramatically improved thanks to the successful response of service desks to the pandemic, lockdowns and working from home, according to new research from the Service Desk Institute (SDI), sponsored by Sunrise Software ...
Is your company trying to use artificial intelligence (AI) for business purposes like sales and marketing, finance or customer experience? If not, why not? If so, has it struggled to start AI projects and get them to work effectively? ...
As remote work persists, and organizations take advantage of hire-from-anywhere models — in addition to facing other challenges like extreme weather events — companies across industries are continuing to re-evaluate the effectiveness of their tech stack. Today's increasingly distributed workforce has put a much greater emphasis on network availability across more endpoints as well as increased the bandwidth required for voice and video. For many, this has posed the question of whether to switch to a new network monitoring system ...
When a website or app fails or falters, the standard operating procedure is to assemble a sizable team to quickly "divide and conquer" to find a solution. The details of the problem can usually be found somewhere among millions of log events and metrics, leading to slow and painstaking searches that can take hours and often involve handoffs between experts in different areas of the software. The immediate goal in these situations is not to be comprehensive, but rather to troubleshoot until you find a solution that remedies the symptom, even if the underlying root cause is not addressed ...