Everyone knows that their apps aren’t running as well as they could be. They know that – with the right tweaks to container and VM resource settings – they could be costing less, and performing better.
There are various reasons why attempts at performance tuning often fall short. Optimization is difficult to fold into a release cycle; in the roadmap, it tends to get crowded out by new features; engineers don’t find it very exciting. But perhaps the biggest cause of failed performance tuning? The neglect of advanced AI.
Here’s the truth: true performance tuning – true continuous optimization – is too hard for human beings.
That’s not to be negative about humans. Humans are incredible. At Opsani, we would be nothing without our team of brilliant Homo sapiens. However, there are many areas of life where various sorts of digital cognition are an integral part of making things run smoothly. Whenever your bank’s fraud prevention team stop a transaction going through on your card, they were able to raise the alarm thanks to an AI’s diligent scanning. Every time you land in a plane, you are being kept safe by an AI’s inch-perfect physics calculations.
Performance tuning is just like fraud prevention, or landing a plane: It’s an area of life where doing the job properly requires leveraging AI.
Because just like these other tasks, proper performance tuning is too hard for the human brain because it is simply too complicated. In the era of cloud-native microservice architectures, even a simple app, made up of a few containers, will have trillions of resource and parameter permutations. Knowing what permutations to enact requires two very different kinds of knowledge. One, infrastructure knowledge, covering all stacks: compute, memory, cache, storage, network, thread management, job placement, database config, application runtime, and so on. And two, knowledge of the application workload itself, and its unique features and demands. Though the developer will have insight here, they’re very unlikely to have any infrastructure expertise. It’s almost impossible to find someone with true depth knowledge of both these realms.
And even if some superhuman member of your team had an in-depth familiarity with these two types of knowledge, things are simply moving too fast. New code, user growth, traffic changes, cloud providers pushing new infrastructure options. For a human, it isn’t only too much data to hold; it is a constant game of catch-up.
This is why performance tuning that doesn’t leverage AI is inadequate. It is why companies’ performance tuning usually stops with a basic analysis of an AWS bill. Because us humans need help from a custom-built, digital intelligence.
At Opsani, we’ve built this intelligence. We slot in at the end of your CI/CD toolchain, and monitor all of your instances, round the clock. Opsani has full insight into the network of interdependencies in action, and tweaks all relevant app parameters at the deployment level. We identify the optimal combination of resource and parameter settings, and engage with those that are routinely ignored.
The outcome? Infrastructure is tuned with laser precision to the workload and goals of the application.
For more, read our blog on How Deep Reinforcement Learning Makes Real Performance Tuning Possible.