• No results found

The following section provides a detailed landscape of all available Cloud service models at the time of writing. By classifying Cloud implementations and providing a taxonomy, distinguishing features sets can be compared and applicable uses cases identified, giving a baseline for further discussion.

2.3.1

Cloud Service Model

The term “Cloud” and its use as an umbrella term to market and explain the technical complexity of internet enabled services to technically adversed or illiterate end-users has complicated the standardisation of a definition. A consensus has slowly formed that the three layer model of SaaS, PaaS and IaaS can be used to classify most Cloud technol- ogy with the formalisation of a Cloud Computing definition by the National Institute of Standards and Technology (NIST) [104].

2.3.1.1 Infrastructure As A Service

IaaS provides the most basic services within the Cloud Service Model. Typically hard- ware resources such as computing power and data storage are compartmentalised and rented to end-users, in addition to other resources such as hardware firewalls and load balancers. In the context of commodity computer hardware, this is usually achieved via the use of Virtualization (explained in detail later in this chapter from Section 2.7) but is not a requirements (bare metal physical resources can be provisioned as a service). VMs, refereed to as Guests, run on top of Virtual Machine Managers (VMM) that are in-turn often refereed to as a Hypervisor. IaaS providers manage these pools of resources across entire datacenters, consolidating VM loads via resource schedulers that monitor resource usage patterns using a variety of monitoring tools. IaaS providers bill end-users on static resource allocations as well as on resources consumed on demand.

Typically, IaaS providers present the monitoring and management of there resources through a web based control panel for the manual provisioning of virtual resources by

end-users and via an API for automated provisioning. Automated provisioning of virtual resources using Key Performance Indicators (KPI) enable the unattended scaling of an application when KPIs thresholds are reached and acted upon to either provision more or less VMs.

In addition to providing virtual resources, many IaaS providers include VM image repositories containing ready made base images for the installation of software. An in- creasing number of IaaS providers are adding value to their existing services via the leas- ing of dedicated distributed storage systems, beyond basic block device storage, which is increasingly blurring the lines between infrastructure and platform middleware that one could argue are not traditional infrastructure services.

2.3.1.2 Platform As A Service

PaaS refers to the provisioning of software tools and APIs for consumption by end-users to create or run applications, in essence services that either integrate to make or host soft- ware applications. Services can be presented using SOAP and REST based interfaces, en- abling service mashups, the composition of multiple Web Services to create a web based application. Potential downside to using PaaS offerings are vendor lock-in, if proprietary interfaces and development languages are used and a certain degree of infleaxibility, if a developer requires unavailable features or functionality. On the other hand, many PaaS offerings reduce the burden of implementing a number of non-functional requirements such as security, scalability and availability from the developer.

PaaS, when used in combination with IaaS and SaaS, provides middleware that acts as “glue” between the two layers of the software stack, similar to middleware in tradi- tional Grid environments. This allows the application developed using PaaS to maintain a certain degree of separation from the underlying virtual infrastructure through a layer of abstraction. PaaS users normally pay on a per operation basis when integrating APIs with an application or on a per application basis when deploying an application into PaaS containers but billing methods can vary depending on the level of abstraction at which the PaaS is presented.

2.3.1.3 Software As A Service

SaaS is used to deliver a multitude of different services. In the context of enterprises, with which it is most often used, this can include but is not limited to the following business applications:

• Enterprise Resource Planning (ERP) • Human Resource Management (HRM)

A potential critism of this term is that there is no concrete specification that a SaaS provider must utilise Cloud platform, virtualised infrastructure services or have multi- tenant users. Thus this classification of Cloud can be applied broadly to encompass any remotely hosted software package accessed by an end-user.

SaaS architectures often conform to using a single version and configuration of an ap- plication from a single point of presence. This can be contrasted with traditional software distribution, where multiple copies of potentially different software versions on dissim- ilar configurations of hardware and operating system can be found. The client side of a SaaS solution is often lightweight and presented using thin clients and web browsers. In addition, billing is usually based on the number of users accessing the service.

2.3.2

Other Cloud Types

Other terms using the “As A Service” moniker have since appeared to sub-categorise Cloud technology and define systems that blur the boundary between the three layer model.

2.3.2.1 Storage As A Service

Storage As a Service (STaaS) is a model for storing data remotely, off-site and has gained in popularity as data storage requirements in computing have exploded. Recent data stor- age growth rate studies have shown that an exponential rate of increase is expected [72,85] with the world crossing the zettabyte (1021) storage barrier in 2010.

StaaS providers provision Hard Disk Drive (HDD) resources to end-uses using PaaS or SaaS solutions. The individual data resources are amalgamated and presented as an infinite resource using distributed file systems. Users of such services are billed on the amount of data stored. The economy of scale that a provider enables, makes off-site data storage for backup purposes an attractive alternative for individuals and enterprises a like. A potential downside to using StaaS is that there is often a cost associated with uploading the data to the provider. In addition, the asymmetry of many internet connections, where upload bandwidth is often an order of magnitude smaller than download, reduces the feasibility of the services for some users. QoS and privacy has also limited adoption, with the majority of providers making no promise that the data will be stored reliably or securely.

2.3.2.2 Hardware As A Service

Hardware As A Service (HaaS) is the resale of dedicated physical computing resources and functions similarly to IaaS. This can range from individual servers to colocation ser- vices that provide server rack space, network connectivity and power. The HaaS model is a new umbrella term for publicly available IT services that were available before the concept of Cloud Computing was popularised. HaaS can provide a cost saving alternative to traditional visualised Cloud services if rapid scaling is not required or if the perfor- mance overheads of Virtualization technology and the contention caused by multitenacy are likely to have an adverse effect on QoS.

2.3.2.3 Desktop As A Service

Desktop As A Service (DaaS) is a model for providing desktop environments to a large number of users from a remote location. It uses virtualization to provision many encapsu- lated desktops on a single physical machine to many thin clients. Typically, DaaS is sold on a per user license that includes the licensing costs of the operating system and installed software applications.

2.3.2.4 Security As A Service

Security As A Service (SECaaS) is a model for previsioning large scale security services such as Virtual Private Networks (VPN), anti-virus and intrusion detection systems on a subscription basis. Privacy concerns have seen a recent rise in the popularity of secure anonymity based services with Internet Service Providers (ISP) forced to block illegal file sharing websites, seen as the first steps to wider monitoring, tracking and censorship of the internet.1.