The idea of cloud computing is a simple one. Using ubiquitous Internet connectivity, computational activities take place on a collection of resources that is unknown to the user or consumer of them.
For example, consider Internet search. Local organizations (like UCSB) do not run their own Internet search engines (typically). Instead, Internet search is offered as a "service," the usage of which is completely defined by a published Interface (either one that is accessible programmatically or otherwise).
When you make an Internet search query, a number of computational activities take place, but they are not visible to you. Neither are the resources that are used to fulfill your query. You don't know which machines and in what locations the "computation" that is necessary to fulfill your query resides.
Internet search is probably the first example of cloud computing. The problem of generating a global index for Internet web sites was too resource intensive and time consuming for individual organizations to solve on their own.
Internet search has another important property that is common to many successful cloud applications. The global index of Internet web sites is a single data structure. Put another way, if two organizations attempted to create such an index, and they both did so using the same approach, they would wind up with the same data structure. Thus, there is value in sharing the index rather than generating individual copies of it.
This value in sharing leads to another important characteristic which is that the cloud acts as a utility. Indeed, early version of cloud computing (by Sun Microsystems and HP) used the term "utility computing" instead of the term "cloud computing" to describe the model.
Internet search is a good example of such a utility. When you wish to search for a web site (today, anyway) you type some key words into an interface. A search utility matches those words to specific web addresses based on an index of web site content. Finally, a list of the matches is returned to you. You use it when you need it. Each time you use it you get search results that, from the utilities perspective, are equivalent (e.g. they are a commodity). All the work necessary to manage the index, handle the query translation, etc. (generation) are part of the "service" that the Internet search utility provides. Finally, the utility's capacity scales with the number of customers (query traffic) and not with the complexity of the queries.
Generally, any computational model that has these utility properties is almost certainly an example of cloud computing in an abstract sense. More concretely, however, on common taxonomy for cloud computing systems categorizes these systems based on the degree of composition of the raw materials that each service provides. Specifically,
PaaS clouds are much rarer at the moment, but arguably the very first non SaaS cloud (not including Sun or HP's early utilities) was Google App Engine (GAE). Other examples include IBM Bluemix, Salesforce's Force.com, and Google's Kubernetes.
By far, the predominant model from a business perspective today is IaaS where cloud providers rent the raw computing "materials" directly to customers. Amazon Web Services (EC2 and S3), Microsoft Azure, Google Compute Platform, IBM Cloud, Alibaba, and Oracle Cloud are all large examples but there are many others.
In either form, this question is difficult to answer. It is my view that insufficient academic research has studied cloud computing to make an answer plausible. However, from a computer scientific perspective, I find it useful to think of the styles of cloud computing in the following way.
Clearly, Internet search (e.g. Google and Bing) are great examples of how cloud computing has had an impact on society. Indeed, the economies of scale are such that these services are free to consumers when consumers allow the monitoring of their query traffic. Given the scale, the matching difficulty, and the response times that these services provide (all of which are expensive to develop and maintain) having these services available for free is undeniably a modern advance.
Email is also now a cloud success story, although only relatively recently. For example, UCSB operated its own email service up until 3 years ago.
Social networking is also a powerful example of how the cloud can affect general society, with sometimes unpredictable consequences.
Finally, e-commerce is one of the most interesting success stories. It is safe to say that when Internet search was young, almost no one (maybe no one except Jeff Bezos) thought of the grocery store business as being a cloud-based business. Now, in light of this analysis, maybe the reasons he was right are more clear.
Specifically, shopping on line fits the cloud model pretty well. You don't care about which exact pair of shoes you buy -- you want a specific style in a specific size, but any example meeting those specifications will do. Similarly, unless you are a picky cook, you don't care which head of lettuce you buy in a grocery store (as long as it conforms to some specification for freshness and size).
There is value in aggregating different products from different suppliers so that customer shopping labor can be saved.
There is expense in warehousing and delivering products to customers. However, because of the ubiquity of the Internet and the economies of scale associated with large-scale data centers, these expenses are relatively low for e-commerce.
Thus one usually points to Internet search, social networking, entertainment (video content delivery), and e-commerce as success stories. There are some failures as well.
First, the cloud has yet to succeed as a platform for science. There are examples in science where cloud computing is extremely useful (e.g. genetic sequencing) but there are a number of different forms of scientific computation that do not run well in the cloud (e.g. weather forecasting). One interesting research question concerns whether the impediments for science can be overcome, but today, hard-core science has yet to move to "the cloud."
Another example, which we will study in this class, are applications that require latency guarantees. "The cloud" is fundamentally a centralized model in which the number of data centers is kept low enough to obviate the need for federation (hence the economies of scale). Thus cloud resources are "far away" from where they are consumed. If you need a guaranteed latency (e.g. telesurgery) the cloud does not yet have an answer.
Finally, there is an open question as to whether "the cloud" will be the platform that implements "The Internet of Things." There are some good reasons to believe that it will be the key technology. There are also some good reasons to believe that it will not be the key to a full-instrumented and actuatable reality. We will discuss these issues throughout the course of this class.