The use of computing resources (hardware and software) which are available in a remote location and accessible over a network (typically the Internet), often on a subscription or “as a service” basis. Cloud computing entrusts remote services with a user’s data, software and computation.