User:Tepples/Cloud computing

Cloud computing is a term meaning computing using someone else's computer by companies offering computers for this purpose.

Virtual private server
The term "cloud computing" originally referred to a platform through which clients could rapidly provision or decommission leases of a virtual private server. Years ago, when Amazon.com had excess server capacity that it was only using during the American fourth quarter shopping season, it decided to lease out that capacity as the Elastic Compute Cloud (EC2). Other leased infrastructure services followed, such as Google App Engine, Microsoft Azure, and VPS platforms offered by that had previously leased dedicated servers.

The term "cloud" later expanded to cover cloud storage, or a data storage service leased from a provider that takes care of the redundancy needed for fault tolerance. Cloud storage can also be used as web hosting for static elements such as images and scripts. Amazon offers the flat-file Simple Storage Service (S3) as well as SQL and NoSQL databases.

Many clients choose a VPS or cloud storage because it's not always practical to run a server on spare cycles of a computer on the client's premises. Many home ISPs do not allow running a publicly accessible server, either to conserve scarce IPv4 addresses through carrier-grade network address translation or to upsell subscribers to more expensive business-class service. And some charge a prohibitive rate for enough IPv4 addresses and bandwidth to do a server's job, especially in a remote area that is not wired for business-class broadband. Finally, cloud providers offer tools to spin up more application servers as traffic increases and shut them down as traffic decreases, reducing the downtime associated with what used to be called the Slashdot effect.

Service as a software substitute
Later on, some providers of proprietary web applications began to call their applications "cloud" or "software as a service". In 2010, Free Software Foundation founder Richard Stallman wrote that this is actually "service as a software substitute" and dangerous for the privacy of users of computing.

Stallman drew a distinction between computing and publishing in the context of web hosting and social networking, arguing that publishing services are less of a "software substitute" than computing services. However, the architecture of social media, whether small-scale such as a forum running phpBB or Discourse software or large-scale such as reddit, Stack Exchange, Twitter, or Facebook, makes computing hard to separate from publication. Producing HTML from contributor-oriented forms of markup, such as Markdown, MediaWiki markup, or BBCode, is a computing service. So is filtering submissions to exclude likely spam and malware. But there are practical advantages to somewhat centralized filtering of messages sent to a group of people. Filtering as a service allows the filtering to be done once, which saves computing power as well as saving readers' Internet bandwidth by not transmitting unwanted messages to them.