1.0 Introduction
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction [1].
Cloud computing is a practical approach to experience direct cost benefits and it has the potential to transform a data center from a capital-intensive set up to a variable priced environment [2]. The idea of cloud computing is based on a very fundamental principle of reusability of IT capabilities. The difference that cloud computing brings compared to traditional concepts of “grid computing”, “distributed computing”, “utility computing”, or “autonomic computing” is to broaden horizons across organizational boundaries.
Environmental sustainability is the rate of renewable resource harvest, pollution creation, and non-renewable resource depletion that can be continued indefinitely. If they cannot be continued indefinitely then they are not sustainable [3]. The reason that this notion of Cloud Computing is relevant for discussions about sustainability is that it allows users to access computing as part of a shared marketplace. By aggregating demand in central locations, Cloud Computing vendors can build data centers that use the best technology, located in the most sustainable locations and designed to achieve the greatest per-unit efficiency possible.
With the growth of high speed networks over the last decades, there is an alarming rise in its usage comprised of thousands of concurrent e-commerce transactions and millions of Web queries a day. This ever-increasing demand is handled through large-scale datacenters, which consolidate hundreds and thousands of servers with other infrastructure such as cooling, storage and network systems. Many internet companies such as Google, Amazon, eBay, and Yahoo are operating such huge datacenters around the world. According to IDC (International Data Corporation) report [4], the global IT Cloud services spending increased from $16 billion in 2008 to $42 billion in 2012, representing a compound annual growth rate (CAGR) of 27%. Attracted by this growth prospects, Web-based companies (Amazon, eBay, Salesforce.com), hardware vendors (HP, IBM, Cisco), telecom providers (AT&T, Verizon), software firms (EMC/VMware, Oracle/Sun, Microsoft) and others are all investing huge amount of capital in establishing Cloud datacenters. According to Google’s earnings reports, the company spent $US1.9 billion on datacenters in 2006, and $US2.4 billion in 2007 [5].
Clouds are essentially virtualized datacenters and applications are offered as services on a subscription basis as shown in Figure 1 below.
They require high energy usage for its operation [6]. Today, a typical datacenter with 1000 racks need 10 Megawatt of power to operate [7], which results in higher operational cost. Thus, for a datacenter, the energy cost is a significant component of its operating and up-front costs. In addition, in April 2007, Gartner estimated that the Information and Communication Technologies (ICT) industry generates about 2% of the total global CO2 emissions, which is equal to the aviation industry [7]. According to a report published by the European Union, a decrease in emission volume of 15%–30% is required before year 2020 to keep the global temperature increase below 20C. Thus, energy consumption and carbon emission by Cloud infrastructures has become a key environmental concern.
2.0 Cloud Computing Models
Cloud computing is mainly composed of three layers which cover all the computing stack of a system. Each of these layers offers different set of services to end users. Cloud Providers offer services that can be grouped into three categories.
2.1 Software as a Service (SaaS): In this model, a complete application is offered to the customer, as a service on demand. A single instance of the service runs on the cloud & multiple end users are serviced. On the customers‟ side, there is no need for upfront investment in servers or software licenses, while for the provider, the costs are lowered, since only a single application needs to be hosted & maintained [2]. Today SaaS is offered by companies such as Google, Sales force, Microsoft, Zoho, etc.
The most common examples of such service are CRM and ERPF applications that are commonly used in almost all the enterprises from small, to large business. In general, SaaS providers also constitute other layers of Cloud computing and thus, maintain the customer data and configure the applications according to customer need. This scenario results in considerable reduction in upfront cost of purchasing new software and infrastructure. The customers do not have to maintain any infrastructure or install anything within their premises. They just require high speed network to get instant access to their applications. Multi-tenancy is another core feature of SaaS compared to traditional packaged software, allowing providers to outsource the effort of managing large hardware infrastructure, maintaining and upgrading applications, and optimizing resources by sharing the costs among the large user base [8]. Therefore, SaaS model is particularly appealing for companies who get access to softwares configured according to their specific needs and shared between multiple users. On the customer side, only costs that will incur are the monthly software usage fee.
2.2 Platform as a Service (Paas): Here, a layer of software, or development environment is encapsulated & offered as a service, upon which other higher levels of service can be built. The customer has the freedom to build his own applications, which run on the provider’s infrastructure. To meet manageability and scalability requirements of the applications, PaaS providers offer a predefined combination of OS and application servers, such as LAMP platform (Linux, Apache, MySQL and PHP), restricted J2EE, Ruby etc. Google’s App Engine, Force.com, etc. are some of the popular PaaS examples [8].
In general, pure PaaS offers only the user level middleware, which allows development and deployment of applications on any Cloud infrastructure. As noted by Appistry.com [9], the essential characteristics that identify a Platform-as-a-Service solution include:
2.2.1 Runtime framework: It represents the “software stack” of the PaaS model and the most intuitive aspect that comes to the mind of people when referring to Platform-as-a- Service solutions. The runtime framework executes end-user code according to the service level policies set by the user and the provider.
2.2.2 Abstraction: PaaS solutions are distinguished by the higher level abstraction that they provide. Unlike IaaS solutions the focus is on delivering “raw” access to virtual or physical infrastructure. In the case of PaaS the focus is on the applications the Cloud must support. This means that PaaS solutions offer a way to deploy and manage applications on the Cloud rather than a bunch of virtual machines on top of which the IT infrastructure is built and configured.
2.2.3 Cloud services: PaaS offerings provide developers and architects with services and APIs helping them to simplify delivering of elastically scalable and highly available Cloud applications. These services are the key differentiators among competing PaaS solutions and generally include specific component for developing applications, advanced services for application monitoring, management, and reporting.
2.3 Infrastructure as a Service (Iaas): IaaS provides basic storage and computing capabilities as standardized services over the network. Servers, storage systems, networking equipment, data center space etc. are pooled and made available to handle workloads. The customer would typically deploy his own software on the infrastructure. Some common examples are Amazon, GoGrid, 3 Tera, etc.
The figure below shows these layers and the different set of services offered to the end users.
Fig 2: Cloud computing Architecture
3.1 Cloud Computing Deployment Models
Cloud computing is a paradigm of offering on-demand services to end users. Clouds are deployed on physical infrastructure where Cloud middleware is implemented for delivering service to customers. Such an infrastructure and middleware differ in their services, administrative domain and access to users. Therefore, the Cloud deployments are classified mainly into three types: Public Cloud, Private Cloud and Hybrid Cloud (fig 4).
3.1.1 Public Clouds
Public Cloud is the most common deployment model where services are available to anyone on Internet. To support thousands of public domain users, datacenters built by public Cloud providers are quite large comprising of thousands of servers with high speed network. Some of the famous public Clouds are Amazon Web Services (AWS), Google AppEngine, and Microsoft Azure [8]. A public Cloud can offer any of the three kinds of services: IaaS, PaaS, and SaaS. For instance, Amazon EC2 is a public Cloud providing infrastructure as a service, Google AppEngine is a public Cloud providing an application development platform as a service, and Salesforce.com is public Cloud providing software as a service [8].
Public clouds are owned and operated by third parties; they deliver superior economies of scale to customers, as the infrastructure costs are spread among a mix of users, giving each individual client an attractive low-cost, “Pay-as-you-go” model [2]. All customers share the same infrastructure pool with limited configuration, security protections, and availability variances. These are managed and supported by the cloud provider. One of the advantages of a Public cloud is that they may be larger than an enterprises cloud, thus providing the ability to scale seamlessly, on demand.
Reference:
http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Revolution_Not_Evolution- Whitepaper.pdf
Harris T. (n.d). Cloud Computing: An Overview
Daly, H. E. 1990. Toward some operational principles of sustainable development. Ecological Economics 2:1–6.
Gleeson, E. 2009. Computing industry set for a shocking change. Retrieved January 10, 2010 from http://www.moneyweek.com/investment-advice/computing-industry-set-for-a-shocking-change-43226.aspx
New Datacentre Locations. 2008. http://royal.pingdom.com/2008/04/11/map-of-all-google-data-center-locations/
Bianchini, R., and Rajamony, R. 2004, Power and energy management for server systems, Computer, 37 (11) 68-74.
Rivoire, S., Shah, M. A., Ranganathan, P., and Kozyrakis, C. 2007. Joulesort: a balanced energy-efficiency benchmark, Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data, NY, USA.
Saurabh K. G and Rajkumar B. (2013). Green Cloud computing and Environmental Sustainability: Cloud computing and Distributed Systems (CLOUDS) Laboratory Dept. of Computer Science and Software Engineering, The University of Melbourne, Australia.
Charrington, S. 2010, Characteristics of Platform as a Service, Cloud Pulse blog, http://Cloudpulseblog.com/2010/02/the-essential-characteristics-of-paas.
Cherkasova, L. and Gardner, R. 2005, Measuring CPU overhead for I/O processing in the Xen virtual machine monitor. Proceeding of 2005 Annual Technical Conference on USENIX, Anaheim, CA, USA.
Sarokin, D. 2007. Question: Energy use of Internet, http://uclue.com/?xq=724.
Baliga J., Ayre R., Hinton K., and Tucker R. S. 2010. Green Cloud computing: Balancing energy in processing, storage and transport. Proceedings of the IEEE, 99(1) 149-167.
Chabarek, J., Sommers, J., Barford, P., Estan, C., Tsiang, D., and Wright, S. 2008. Power Awareness in Network Design and Routing. Proceedings of 27th IEEE INFOCOM, Pheonix, AZ, USA.
Ranganathan P, 2010, Recipe for efficiency: principles of power-aware computing. Communication. ACM, 53(4):60–67.
Ben K. (2011). Sustainability and the cloud the global environmental benefits of it hosting and cloud technology. Special Earth Day Edition of CloudU.