Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Using AI to Reduce Disruption in Online Services

DZone's Guide to

Using AI to Reduce Disruption in Online Services

Learn about some of the ways in which AI is impacting software development, particularly in continuous monitoring and automated testing..

· AI Zone ·
Free Resource

Insight for I&O leaders on deploying AIOps platforms to enhance performance monitoring today. Read the Guide.

So reliant are we on digital services that when they are disrupted, the impact can be significant. Research from Umeå University in Sweden aims to utilize AI to better predict, and therefore reduce, this kind of digital disruption. It's a hugely important issue, as outages can cost retailers millions of dollars, while the loss of key government services can impact thousands.

The challenge IT teams face is that there are numerous possible causes for any particular outage. It could be a coding error or inadequate server resources, for instance.

Continuous Monitoring

The proposed system aims to get around this by providing a continuous measure of the status of a system in order to overcome two core troubleshooting concerns. The first of these is how the system can accurately detect and diagnose the symptoms of any problems it detects, and how this can be achieved over a prolonged period of time. The second major concern is how to then determine the right course of action to correct the problem and restore services.

The automated approach to this issue aims to overcome them by focusing on the allocation of server resources, as having too many services vying for shared resources is a significant cause of outages, especially in cloud computing systems.

"I have developed and investigated techniques that automatically uncover symptoms of problems and intelligently rank them with limited human intervention, adapt to changes in the state of the systems, and resolve service delays by incrementally adjusting the capacity of server resources in response to demand, " the authors say.

Automated Testing

Suffice to say, this is just one of the ways in which AI is impacting software development. For instance, Paperspace aims to make it easier to start using deep learning via their cloud-based virtual machine, whilst Carnegie Mellon spinout Petuum aims to provide a complete software infrastructure for the development of AI for the enterprise.

One of the more interesting is Oxford University spinout Diffblue, which has developed an AI-based solution to help improve the way code is tested. The company, which raised $22 million in Series A funding earlier this year, has developed the platform in partnership with Goldman Sachs, who have a stake in the startup.

The AI engine aims to understand precisely what the code is trying to achieve, and then tests the code to examine just how well it's performing. The testing engine is currently available for Java and C and the company is working with a number of major banks and financial institutions, although there are plans to expand not only into new industries but also into new languages, including Python, JavaScript, and C#.

"We believe that the suite of tools we are developing at Diffblue has immense potential to help address these issues. Studies show that coders spend up to 30% of their time writing tests. Automation will provide great returns both in terms of achieving much broader test coverage and also free up significant developer time. Furthermore, many legacy codebases suffer from very deficient test coverage, which removes any chance of lifting them out of legacy and into nimbleness — again, we believe automation in this space will have powerful beneficial effects," the company says.

TrueSight is an AIOps platform, powered by machine learning and analytics, that elevates IT operations to address multi-cloud complexity and the speed of digital transformation.

Topics:
ai ,automation ,continuous monitoring ,automated testing

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}