It’s been around 40 years that the monitoring tools remain working in the same way. Traditional APM tools will have to change or they are going to die.
In a world of big data, cloud computing and the internet of everything (IoE), software has become fundamental for every business, from startups to large enterprises. Consequently, performance is getting more relevant than ever.
APM tools have helped create a new culture of continuous performance monitoring and improvement, but many of these tools treat the database as a black box simply executing queries. There are tools that can monitor each kind of application and databases but that is really complex to setup and starting using them. Such monitoring tools will vary from case to case but most of them can even compromise the performance of the app being observed. The Heisenberg Principle!
What we’ve been building at Nazar is a new way of performance monitoring that is based on databases’ behavior that incorporates information not just about queries being executed against a database by a particular application, but information about execution plans, database configuration, storage performance, index usage and contention, and other factors that are frequently identified as the root cause of application performance issues in databases. This category is known as Application/Database Performance Management.
As the venture capitalist Ben Horowitz said recently:
“At a company like Facebook, which is generating billions of dollars a quarter, you can’t afford to go down for even a minute. In an era of continuous deployment and updates, there’s no time to have IT identify a problem and kick it back to the engineers. Given the scale of deployments of applications, there’s no way to fully test a piece of software in a mere staging environment. Facebook has over one million servers. If one goes down, it doesn’t matter. What matters is how the app that is being served is performing. Is there a bottleneck or is it doing okay?”
In the era of the cloud and so-called webscale companies, software engineers have to be looking at how applications are doing. But they need tools for that. Besides that there is the fact that experts say that around 80% of the performance problems happen in the way the application and the database communicate between themselves.
“Traditionally, developers tested their software in pre-launch staging areas. Eventually, IT would certify that the application was ready for launch, and take over the operation and performance monitoring of the software once it was in the hands of users. Those roles have blurred in the era of DevOps, a process in which testing and customer feedback occur alongside development, and continue after launch.” — Ben Horowitz, Andreessen Horowitz
The exponential growth of infrastructure capacity coupled with the ever increasing demand for new business services indicate that IT operations must now scale up to a level that is no longer compatible with human intervention. Too many moving parts in complex, multi-tiered applications means that even the best human brain needs help in resolving performance issues.
Originally published at blog.nazar.io.