A team of University of New South Wales (UNSW) researchers are undertaking research using artificial intelligence to create a computer network capable of regulating its own public cloud services consumption.
Leading the research is School of Computer Science and Engineering lecturer Srikumar Venugopal, who hopes to make the elastic cloud computing a reality using artificial intelligence — a method more commonly associated with robotics than IT.
"We were looking at how people deploy applications on the cloud, and we realised that one of the things that could go wrong is the fact that you have a centralised server that is making all the decisions on behalf of how to scale up or down on resources to run workloads," he said.
"What we wanted to do was decentralise it and the question that came about was how these decentralised controllers speak among themselves and make decisions.
"So we came upon reinforcement learning, which was successful used in another project, and we thought this could be an interesting approach. So we decided to combine decentralisation with a simplified version of reinforcement learning to see how we go with that."
According to Venugopal, presently, companies set rules — often based on user experience and historical data — to manage when to spin-up new virtual servers or shut them down.
Under the proposed model, every virtual server instance in the cloud would have its own controller that monitored the performance of applications hosted on the server.
If an application's performance became critical — for example, too many people visited a website at once — the controller could communicate with others in the network and automatically determine how and where to source extra capacity to cope with the sudden increase in demand.
"They're all doing their own thing but they're talking to each other and then they're figuring out which controller has high load and which one has much less load, and how to balance that out," Venugopal said.
However, Venugopal said there are some outstanding configuration management challenges that must be resolved before the technology is ready for real-world implementation. These include how to stop one incorrectly configured virtual machine from communicating incorrect information to others, thus causing incorrect decisions to be made.
The project is in parallel to another research that Venugopal's team has been undertaking that involves examining the potential to elasticise cloud-hosted databases, which is funded by the Smart Services Cooperative Research Centre.
"Often we see databases hosted in the cloud, and we thought can we do the same to databases where we scale it up and down," he said.
"But this is slightly tricky because with databases you'd want to maintain consistency because you don't want to lose any data when you scale down. What we did was add resources to see how quickly it'd start working and become part of the overall setup and we were able to improve the elasticity of cloud-hosted databases."