The term "cloud computing" is heard everywhere these days. In simple terms, it is storing and accessing data and programs over the Internet through the "cloud" instead of your computer's hard drive. There are two meanings for cloud computing and the first one is running workloads remotely over the internet in a commercial provider's data center. The second meaning of cloud computing is a virtualized pool of resources, from raw compute power to application functionality, available on demand. The key advantage of cloud computing is agility. The ability to apply abstracted compute, network resources, and storage to workloads as needed and tap into an abundance of prebuilt services.