on-demand computing, that provides shared processing resources and data to computers and other devices on demand.