2History

Information Technology has always been considered a major pain point of enterprise organizations, from the perspectives of both cost and management. However, the information technology industry has experienced a dramatic shift in the past decade – factors such as hardware commoditization, open -source software, virtualization, workforce globalization, and agile IT processes have supported the development of new technology and business models.

Cloud computing is a natural evolution of the widespread adoption of virtualization, service-oriented architecture, autonomic and utility computing. In fact, cloud computing is a new term for a long-held dream of computing as a utility, which has recently emerged as a commercial reality. This evolution started in the fifties with mainframe computing allowing that multiple users were able of accessing a central computer through very limited terminals. Later, in the seventies, the concept of virtual machines was created. The development of cloud computing gathered momentum in the nineties, when the Internet started to provide significant bandwidth and telecommunications companies started offering virtualized private network connections.

Some experts attribute the cloud concept to John McCarthy, professor at Stanford University and inventor of Lisp, who proposed in 1961 the idea of computation being delivered as a public utility, similar to the service bureau.

In 1966 Douglas F. Parkhill published the book “The Challenge of the Computer Utility”[4] that provides a vision for the future of computing, predicting that the computer industry would come to resemble a public utility "in which many remotely located users are connected via communication links to a central computing facility”. Many characteristics of cloud computing (elastic provision, provided as a utility, online, illusion of infinite supply) are included in this book.

A. Regalado, in his paper “Who coined “Cloud Computing” [5] states that “many believe the first use of “cloud computing” in its modern context occurred on August 9, 2006, when then Google CEO Eric Schmidt introduced the term to an industry conference. “What’s interesting [now] is that there is an emergent new model,” Schmidt said, “I don’t think people have really understood how big this opportunity really is. It starts with the premise that the data services and architecture should be on servers. We call it cloud computing—they should be in a “cloud” somewhere.”

One of the first milestones in cloud computing history was the arrival of Salesforce.com in 1999, which pioneered the concept of delivering enterprise applications available from a website. This company paved the way for both specialist and mainstream software firms to deliver applications over the Internet and played a very important role in the introduction of the Software as a Service (SaaS). The SaaS subscription model enables companies to access software online and only pay for the services and applications used.

The next development was Amazon Web Services in 2002, which provided a suite of cloud-based services including storage, computation and even human. Third-party sites could search and display products from the web site of Amazon and add items to Amazon shopping carts. The initial version of AWS in 2002 was focused more on making information available from Amazon to partners through a web services model with programmatic and developer support and was very focused on Amazon as a retailer.

In August 2006 Amazon launched as a commercial web service its Elastic Compute cloud (EC2). This solution gives the users a new way to store data offsite, rent compute cycles as a service, and provides online services for other web sites or client-side applications. Probably, EC2 was the first widely accessible cloud computing with infrastructure as a service model.

image
Fig. 1 – Amazon Web Services Management Console

The launch of Google App Engine in April 2008 was the entry of the first pure play technology company into the Cloud Computing market. Google Apps services allow this company started to offer browser-based enterprise applications.

Microsoft for several years did not accept the web as a significant market and continued to focus on the desktop market. Nevertheless, in November 2009, Microsoft changed this criterion and launched its Windows Azure cloud computing platform. This platform provides both PaaS and IaaS services and supports many different programming languages, tools and frameworks. It was renamed to Microsoft Azure in 2014.

In December 2013 Google Compute Engine was launched. This infrastructure enables users to create and run virtual machines on demand with a variety of configurations.

In 2009-2010, the open source cloud movement gained influence. There are numerous cloud computing services that are either written entirely in open source code, or at least incorporating open source into the final application. The use of open source code in cloud computing allows developers to build applications on top of an existing application infrastructure, gaining a lower cost, greater flexibility and probably more robust applications (with fewer flaws) than these ones entirely built from scratch. Across the many cloud computing service models, there are a large and diverse number of applications to choose from and both commercial and free open source offerings. Some examples are Apache CloudStack, Eucalyptus, OpenNebula and OpenStack [6].

The emergence of killer apps from Microsoft, Google, Amazon, Apple, Adobe, Cisco and other big IT companies results in a wider acceptance of online services and constitutes a very relevant contribution for the deployment of cloud computing.