Eventually, your application needs to run on a machine somewhere in the world and not just on your local development machine. For many years, when someone wanted to run a web application and make it available to the external world, they would buy designated hardware and spent time maintaining it. Over the years, the hosting model has changed and moved to external hosting that, besides running the machine at some data center outside, felt very similar to what you had when you ran it locally—however, the big part was that you didn't have to worry about the machine maintenance, the server room air conditioning, and the procedure that should be performed in case of hardware failure. Then came the cloud.Â
The National Institute For Standards and Technology (NIST) defines the cloud like this: