What is Autonomous Workload Tuning?

Automation is increasingly being accepted and implemented in IT in general and by DevOps practitioners in particular. However, there remains a certain resistance to “automating yourself out of a job.” Yet in SRE (Systems Reliability Engineering) terms anything that could be automated. And it has not been is referred to as “toil.” Repetitive tasks are considered to be a low value (and probably low interest) job. The SRE goal is to get rid of toil through automation. This will allow systems engineers to focus on the valuable and interesting opportunities. 

Tuning a single server that is supporting an application, and this was often the job not so long ago, is certainly comprehensible. But now look at a cloud native, web-scale, microservices application. It runs across dozens of machines across multiple geographic regions and has ability to comprehend the entire system. Which becomes much more superficial. This is not to say to improve the overall performance through thoughtful infrastructure or application tuning is not worth attempting. It is possible to improve a system manually. But if there is a tool that would automate this and probably do the job more quickly and efficiently, the question remains: “Why do manual tuning?”  

Let’s say you do have a group of engineers that can do a better job with your current system. It is worth considering  they are unlikely to scale as efficiently as automation. Also  the actual value of that performance delta is likely not as great as putting talented engineers onto task with greater value.  Perhaps something like having them improve the automation tools performance.

Now in truth, automation will not tune a bad application into a great one. Thought around how the application will work, considering the infrastructure will be needed to support it. Also appropriately testing it (performance testing, unit and integration testing) still needs to happen. But these are the areas that can be  tuned by your talented engineers and will likely provide greater value, until they can automate those processes.

One area where “autonomous” workload tuning has been popular is in the area of tuning database workloads. Auto-admin tools that apply heuristic algorithms and other estimates for tuning decisions are common. Though they still often include the involvement of a human DBA.  However, even this level of ‘traditional’ database automation does not map to cloud-scale database needs.  The lack of the DBA role in many cloud database services remains a recognized gap. This results in reduced efficiency and performance. This is a known gap that is being actively pursued and Oracle, for example, announced its first autonomous database cloud in 2017 and has continued to add automated tuning and management features ever since. While most modern cloud databases can be expected to be self healing and self scaling.  In the Oracle example, adaptive performance tuning is delivered using machine learning algorithms to adjust performance without the need of a DBA.

In a similar manner, Opsani provides an AI-driven performance optimization engine, however, unlike the more specialized database example, Opsani focuses on tuning infrastructure configurations and integrates with any application. To learn more about improving the performance of your application workloads, visit Opsani.com and then try it out for yourself with a free trial.