The on demand delivery of resources over the internet.

There is no shared memory in Distributed Systems. Communication over a network is expensive. REST APIs are typically synchronous but don’t need to be, a better choice is to use something like a Message Queue.

Cloud computing is great because now, we get machines on demand and we have different options for our instances. We get full root access to this instance. Since everything on the instance dies when it spins down, we also need to connect to some sort of persistent storage.