Today, applications are undeniably the proxies for key business processes. So, improving application quality drives directly to improving overall business performance. It's no wonder then that improving application quality and uptime is a top of mind issue for IT managers and executives.
But with today's web-based composite applications, improving application quality is easier said than done. Gartner's Research VP Ronni Colville calls them "wiggly apps" because of their large number of moving pieces and the high rate of change associated with them. As a result, while the measuring stick for quality is "five nines" availability, "five eights" is closer to reality.
Why does this occur and what can you do about it?
Let's start with why this occurs. According to leading research analysts at Gartner, Forrester and Enterprise Management Associates, application configuration errors are the leading cause of quality and downtime problems-between 40% and 60% of occurrences. mValent's own research with customers and prospects syncs with these analysts, showing that 73% of companies experience configuration-related downtime.
When you dig into the detail, the drivers behind these problems become clear. Here is a quick summary.
1. Application volume. The sheer volume of applications and environments that IT must manage is staggering.
- The average Global 2000 firm has more than1000 applications that their IT organization deploys and supports. (You can hear Gartner's comments on this subject "Conquering Complexity with Configuration Management" by clicking here.)
- IT supports these 1000+ applications in multiple, different environments; naturally there is production and disaster recovery as well as all phases of pre-production-such as QA, staging, performance testing and others.
- There are usually multiple instances of the applications running in some of these environments.
2. Inherent complexity of composite applications.
These "wiggly apps," as Ms. Colville calls them, provide both tremendous flexibility and complexity for IT to manage. The infrastructure is composed of multiple layers, including application servers, Web servers, databases, middleware and the OS.
But while the industry buzz is all about "best of breed" and standards, there is a dirty little secret in the software industry:
- Thousands of individual configuration properties or configuration items in the application infrastructure need to be set tuned or controlled. This number actually grows into the hundreds of thousands when you consider all environments.
- Typically, multiple consoles are used to manage the configuration properties for different layers of the application infrastructure.
- Often the configuration properties are stored in text files where uncontrolled changes can be easily introduced.
3. Business demands and workflows.
IT has a requirement to be responsive to the business while existing in a fluid, high change environment. Frequently, there is a conflict between the business demands and a coherent sensible IT process. Often, the QA schedule is where the squeeze occurs. Some of the dynamics include:
- High change volumes. For example, research shows that larger enterprises introduce more than 400 changes monthly into their application infrastructure
- Rapid development cycles followed by applications being "thrown over the wall" for IT to test, deploy and manage
- Management by silo in IT where the multiple layers of the application infrastructure are managed independently by different groups. Often there is scant understanding of how changes in one layer impact performance of stability in another.
- And large enterprises with sizable groups of people involved in these processes, many devoting more than 1 dozen or two people to management of the application infrastructure.
When one examines these three sets of factors, it is easy to understand how application quality suffers. Undeniably, high volume, complexity and high rates of change put significant stress on IT and application availability. Or as we say at mValent, when you combine lots of moving parts with lots of changes involving lots of people, you end up with lots of problems.
How can you make this better?
Everything we know about applications tells us that the volume will continue to grow and so