A Proposed Criteria for Evaluting Cloud based Systems

A number of Cloud Providers have sprung up with different offers ranging from providing instances that looks much like physical hardware to application domain-specific offers. This study intends to propose a set of review criteria to evaluate existing Cloud computing providers to high level information about this emerging way of IT provisioning. Existing Cloud providers in the Iaas, Paas and SaaS were considered using, Architecture, Application Programming Interface, User Interface, Security, Fault tolerance and Scalability, Software implementation, Monitoring, Payment and Performance. This study is to assist Cloud users and researchers in making important decision in using Cloud Systems. The study exposed a refined method of further classification of Cloud based System. The classification will enable users to know open systems that are readily available for research, commercial systems for big projects and also be a good starting point for new comers into Cloud Computing environment.


INTRODUCTION
Changes in the computing needs to today's era of large scale and resource intensive scientific applications have resulted in computing paradigm shift. This is as illustrated in [1] in six different phases, see Fig 1. From the mainframe days to the Personal Computer (PC) era, moving on to the network stage, first is the local network and later to the global Internet. The Grid later evolved and finally now is the Cloud. Cloud aims at IT centralisation again [2] but definitely not as in the mainframe days. The increased demand for computing has called for information utilities. Information utilities took after its predecessor, the power and gas utilities where consumers pay for these services based on usage. This new form of utility has remarkable difference from the preceeding utilities. In Electrical utility , users are not bothered whether the electrical wires are being compromised, whereas security is a big concern in Cloud Computing. Also, the electrical utility is interchangeable irrespective of the source be it coal, hydro or wind, to a large extent Cloud computing is not yet. Providing a specific definition for Cloud Computing has been a great task. However Ian et al. in [4] elaborated the basic concept of Cloud and also differentiated it from Grid Computing, its immediate predecessor. Offers ranging from providing instances that looks much like physical hardware (computing and storage facilities) to application domain-specific offers. These basic cloud services are , Iaas (Infrastructure-as-a-service), PaaS (Platform-as-a-Service) and SaaS (Software-as-a-Service). This study intends to propose a set of criteria to review the different Cloud providers.to give researchers and cloud users useful information on the current direction of Cloud Computing. [5] has enumerated some expectations from Cloud providers. This study intends to propose criteria based on these expectations to be used to evaluate existing Cloud based system. This is to enable users know about the openness, service availability, protocols, inter-operability, security procedures, user interfaces and potentially the payment mechanisms of Cloud providers. The Cloud providers considered here were chosen at random for two of the three classes of Cloud Computing provisioning. The providers considered in this study are Amazon EC2, Amazon storage S3, Eucalyptus, OpenNebula, Nimbus, Cumulus , Google App Engine, AppScale , Enomalism, Seatle, Stratus, Windows Azure, MossoCloud, NirvanixCloud, Joyent Accelerators and GoGrid.
The paper is organized as follows. Section 1 gives the introduction and the motivation for the study in the need for continuous review in view of the emerging nature of the technology. Section 2 introduces the Cloud Providers; the ownership and the type of service. Section 3 reviews different Cloud Systems using the proposed criteria. Section 4 discusses the summary of the review and section 5 concludes the paper.

CLOUD PROVIDERS
Amazon Elastic Compute Cloud (EC2) [6] is a commercial Web Service from Amazon Inc that provides resizable resource capabilities for users to run applications . EC2 uses Xen [7] virtualisation. EC2 Virtual Machines (VMs) are server instances in different flavours depending on CPU, memory, disk, and mode of address, each instance with its associated pricing [8] . Amazon Storage Service (S3) [6] provides scalable data storage infrastructure commercially. Eucalyptus [9] is an open source IaaS project originated from the Computer Science Department, University of California. Eucalyptus project is a -free‖ version of EC2 to foster research in cloud, hence uses Xen. OpenNebula [10] is an open source virtual infrastructure engine (VIE) that provision resources developed by by the Distributed Systems Architecture Group at the A p r i l 1 3 , 2 0 1 4 Universidad Complutense de Madrid. Open Nebula supports VMware [11], Xen and KVM [12] VMs. Nimbus [13 ] is an open-source IaaS product from the University of Chicago (UC), using Xen to provide infrastructure needs of the scientific community [14 ]. Cumulus [15] is an on-going Cloud Computing project at the Karl institute of Technology, Germany to provide resources to build scientific clouds for data centres. Google App Engine (GAE) [16 ] is commercial Paas for developing and hosting web application by virtualizing applications across multiple servers and data centres. AppScale [17] is an open-source PaaS cloud offerings from the RACELab at University of California, Santa Barbara, that emulates the functionality GAE. Enomalism (ECP) [18 ] from the Enomaly Inc, Ontario USA, was a commercial IaaS provider governed by the AGPL. Enomalism supported Xen and KVM/Qemu hypervisors. Seattle [19 ] is a free IaaS for educational networking platform from the Department of Computer Science, at the University of Washington, Seattle, USA. Stratus [20] is a science cloud IaaS deployed at Advanced Computing and Information System Laboratory (ACIS) at the University of Florida in conjunction with the Nimbus at University of Chicago. Windows Azure [21] from Microsoft Corporation provides a PaaS using Hyper-V for developing applications that run on Windows operating system. Mosso CloudFiles [22] is an IaaS provider from Rackspace, its a cloud-based file-storage system . Mosso operates by selling space with standard pre-configured stacks of software like Apache, MySQL and PHP. NirvanixCloudNAS [23] wass a cloud-based storage offering. Joyent Accelerators [24] provides cloud computing infrastructure and services using virtualized servers with vast amounts of NAS storage on OpenSolaris distribution. CTERA provides a cloud storage platform combining cloud storage with on-premises appliances [25].

THE REVIEW Architecture
The architecture of a Cloud-based system will define the overall system framework, the services available, and their interaction.
The internals of Amazon EC2 and S3 is not made known for competitive reasons. Data stored in S3 is in a two-level namespace. A folder-like structure called -buckets‖ with a unique global name with access control list. Buckets contained -object‖, contains data and metadata of users are stored [26]. The Eucalyptus consists of the Cloud Controller (CLC), the Cluster Controller (CC) the Node Controller (NC) and a storage service called Walrus [9]. OpenNebula contains one frontend and multiple back-ends. The front-end provides users with access interfaces and management functions [27]. Nimbus used to be known as "Virtual Workspaces‖ [28], Workspaces are abstractions of execution environment implemented through VMs. The workspace components are Workspace service, Workspace control, Workspace resource management, Workspace pilot connected as described in [29]. The Cumulus comprises of Globus Virtual Workspace Service (GVWS), the Open Nebula and OSFarm. GVWS originally contains two software components, the GVWS front-end and the GVWS control agents. The GVWS is configured to work with various virtual machine hypervisors and Local Virtualisation Management System (LVMS ), so as to the retain the autonomy of Computer Centres [15]. The key component of the Google App Engine is its data store, BigTable [30 ] which distincts it from a traditional database. Google App Engine has a SQL-like syntax called "GQL". AppScale consists of three primary components; AppServer (AS), the database management system (DBM), AppLoadBalancer (ALB) and AppController (AC) . The ALB and the DBM are installed on the head node, one or more database Slaves (DBS), and one or more App Servers (AS) are implemented on the other nodes and the AC is on all nodes [17]. The public release of ECP provided a web interface to libvirt, offers advanced features (image repository, user administration) as well as basic network management. ECP used an image format consisting of one or several compressed disk images and an XML descriptor, and uses VMcasting, to set up remote image repositories. All the nodes in a typical ECP cluster carry their own copy of the ECP software package. They all connected to the same database, and share their local repository over the network [31] . Seattle's architecture is consists of three components, the Vessel, Node manager and the Experiment manager. Vessel is a programming language that runs a user's code. The Node Manager manages Vessels on a single machine and restricts access to the Vessels to only authorised parties. The Experiment manager locates Vessels that the user controls, and interacts with the node manager to control the Vessels [19]. Stratus also uses the Nimbus Toolkit [28]. However instead of providing public IP addresses for leased VMs, it requires a client to be on a private network and provides private IP addresses to deployed VMs. Windows Azure Servers are hosted in Microsoft's data centres. The servers are internally running Windows Server 2008 and Hyper-V . Windows Azure components are Windows Azure, Microsoft .NET Services, Microsoft SQL Services and Live Services. Data can be stored in Windows Azure as binary large objects (blobs), tables (not relational) or queues. An identifier, StorageAccount, is assigned when a new storage is created and it uniquely identifies the blobs, tables or queues. A storage account has one or more Containers, each of which holds one or more blobs. Blobs can be up to 50 gigabytes each, blobs can be subdivided into blocks for efficient management. Blobs can also have associated metadata [21] . Mosso account created is a slice of the Cloud Files system. Data is stored in storage compartment called a Container like, a folder in Windows or a directory in UNIX, though cannot be nested. An -Object‖ is the basic storage entity and any optional metadata that represents the -files‖ stored in the Cloud Files system. CTERA uses the System-on-Chip (SoC). The Cloud Attached Storage architecture combines a local Cloud Attached Storage device with online cloud services. Sharing is performed on the local network, while cloud storage services are used for off-site backup and disaster recovery. Joyent fabric consist of AMD Dual-core and Intel Quad-core premium servers for application and database tiers and Dell Power edge 2950 dual quad-core servers. Joyent integrates state-of-the-art storage and server technologies into a single package using the Sun Fire X4500 (aka -Thumper‖). A p r i l 1 3 , 2 0 1 4

Application Programming Interface (API)
APIs is a set of functions, procedures, methods or classes that an operating system, library or service provides to support requests made by computer programs. There is the need to know the users interface required to interact with the Cloud System for job submission.
EC2 instances can be accessed using SOAP or standard RESTful (GET, PUT AND DELETE) commands sent over HTTP. S3 can be accessed using the SOAP-based API protocols the REST or the BitTorent. Eucalyptus employs the same tools and interfaces used to interact with AWS . OpenNebula interacts with its front end using SSH or XML-RPC. NIMBUS workspace service supports two front-ends, one based on the Web Services Resource Framework (WSRF) and one based on Amazon's EC2 WSDL. The Cumulus service can be accessed via Globus virtual workspace client or Nimbus cloud kit client. Access can also be from existing Grid portals like g-Eclipse [32], Open Grid Computing Environment and Gridshell. Google's App Engine is known to support Python scripting language and java. In Appscale, the AC is a SOAP daemon written in Ruby. Enomalism REST API call would return the result in JSON format. Seattle provides a programming API for low-level operations, such as writing files or sending network messages and also maintains programme portability using an abstraction layer. The XML-RPC API is available to SeattleGeni clients apart from the HTTP interface. Seattle nodes run code written in a special language called Repy (Restricted Python) . Stratus is as in Nimbus. Windows Azure storage uses the conventions of REST to identify and expose data. In Mosso, access to files is via a Web Service (ReST) interface. There are also some language-specific API's (C#/.NET, Java, PHP, Python, and Ruby) that utilize the ReST AP. CTERA uses REST APIs.The Nirvanix use Web Services API, SOAP/REST interfaces via HTTP or HTTPS. Joyent accept applications written in any version of JAVA, PHP, Python, Ruby, Ruby on Rail or Erlang. The GoGrid API is a REST-like Query interface [33], the API calls were implemented with Java, PHP, Python, Perl, Ruby, C#, and even shell scripting languages such as bash.

User Interface
This describes the mode of interaction between the Cloud consumers and the Cloud system.
Users sign up for a Web Service Account on Amazon EC2 web site. Once registered, users obtain the Private Key access and the certificate file from the web site that is required to set the command line tools. Data is downloaded with HTTP GET, and uploaded with HTTP PUT. The Eucalyptus users sign-up through a secured web portal. The Eucalyptus source can be downloaded from the web site to the CLC, it is built on the head node and then pushed to the slave nodes (NC). Opennebula can be interacted with using EC2 tools, CLI and the Sunstone GUI. Nimbus can be interacted with using EC2 tools and WSRF. The g-Eclipse project will access the Cumulus cloud service to create a VO for the Cumulus user. Grid credentials are required to browse the available virtual machines images. The desired VM is then launched for access. GAE uses the Google Account or the Google Apps Account. The code is written on the local system tested and uploaded to the Google AppEngine. The AppScale system can be accessed over a web interface. To employ AppScale over EC2 or Eucalyptus the necessary credentials and SLAs are downloaded from the EC2 site. Seattle is installed from Seattle Geni web site together with the required public and private key for access. The installation allocates resources and configures the Vessels for use. Stratus employs Amazon EC2 WSDL on Workspace Cloud. In Windows Azure, developers can create .NET-based software such as ASP.NET applications and Windows Communication Foundation (WCF) services, using C#, .NET and also using Visual Studio. Azure provides access to several online Microsoft services like Live, .Net, SQL, SharePoint, Microsoft's Dynamic CRM etc [34]. ECP was interacted with using web services. Mosso users are identified with MossoUsername and API Access Key which can be obtained from the Mosso website. Applications can move off Joyent the way it moved into Joyent. There is no need to build new tools to manage applications in the cloud, such as RightScale is doing for Amazon's EC2 users. Nirvanix solution was accessible via CIFS, NFS, or FTP. In CTERA, the data on the appliances can be accessed locally, using standard file-sharing interfaces including Common Internet File System (CIFS) and Network File System (NFS), as well as through a secure HTTPS webbased interface.

Security
Standard security mechanisms are required to prevent unauthorised access to cloud-based resources, services, and users. Security issues addressed includes; User Authentication, Access control (authorisation), Data security, Credential security, Client security, and Trust.
Amazon EC2 users are authenticated using X.509 certificates authentication schemes used together with Secret Access key downloaded as a pair from the Amazon web site. The credential security provided by EC2 is equivalent to that of a simple password and is susceptible to all password attacks [35], though loss of confidentiality during transport is prevented by the Transport Layer Security (TLS) protocols. The SHAI-HMAC algorithm together with an Access key ID is used for authentication. Amazon claims that the data is stored on multiple hard drives in various data centres but there is no Service level Agreements (SLA) that backs this up. Data Objects and other metadata can be protected using SSL or with HTTPS on port 443. Eucalyptus employs the X.509 credentials and the private key obtained through the web portal are used for authentication and authorisation of users, similar to EC2. For, OpenNebula, communications between the frontend and back-ends use SSH. OpenNebula employs NIS (Network Information System) to manage a common user system and NFS (Network File System) for virtual machine image management. However, it has been widely recognised that NIS leaves users' password file accessible by anyone in the entire network, which is a major security flaw. Nimbus users are verified to be a member of Scientific community, through an e-mail account, via web pages or publications (authorisation). Nimbus uses PKI X.509 certificate (grid credentials) to authenticate users request. In Cumulus, OpenNebula is merged with some modern secure infrastructure solutions like Lightweight Directory Access Protocol A p r i l 1 3 , 2 0 1 4 (LDAP) [36] and the Oracle Cluster File System. GoogleApp Engine did not disclose its security system but uses the Google's system (Google Account or the Google Apps) for authorisation and authentication. Enomalism employs simple fine grain user permission. Seatle users need Public Key Infrastructure (PKI) to access the system over a secured SSL. Stratus uses a valid PKI X.509 certificate (grid credentials) to authenticate users request Window Azure uses WS-Trust. Windows Live ID for authentication and authorisation. All requests to operate MossoCloud Files are authenticated using SSL over HTTP (HTTPS) on TCP port 443. CTERA uses Advanced Encryption Standard (AES) encryption, all backed-up data with a user-specific secret key. Nirvanix's globally distributed storage nodes integrates the AES 256-bit encryption and SSL options. Joyent uses the highly secure Solaris kernel that can provide enterprise clients with all the other security features of Solaris. Access to specific IP addresses can be locked down via a private cloud.

Fault Tolerance and Scalability
Fault tolerance describes a cloud-based system's ability to continue operating at an acceptable level in the event of failure or unavailability of some of its components. Cloud systems are expected to ensure absolute degree of operational continuity. Scalability in cloud has two dimensions; horizontal cloud scalability and vertical cloud scalability [37].
EC2 is expected to support all Linux distributions. S3 guarantee of the privacy on stored information, thus users are advised to encrypt data. Users may need to employ redundant backups, business continuation insurance for protection. Users have to trust S3 entirely as it does not provide signed certificates a user could present to a third party to demonstrate users stored a specific data item on S3 . OpenNebula has been integrated with the Haizea lease manager to provide three types of leases; Advanced reservation leases, Best-effort leases and Immediate leases of resources. All the OpenNebula components have been designed to be independent, so that a failure of one of them does not put the system at risk. Eucalyptus provides no tools to extend the local capacity via external cloud providers, it basically emulates the EC2 infrastructure [38]. The IaaS gateway in the Nimbus toolkit allow the UC to use the cloud for small runs and sponsored large runs moved seamlessly to EC2 for more cycles. Nimbus can be configured to use external schedulers like the Sun Grid Engine (SGE). Code written for Seattle is portable to different architectures and runs across all system. An application cannot function without the Azure cloud environment, this may lead to data lock-in. In Mosso, it is not yet possible to -mount‖ or -map‖ the Cloud Files storage system as a virtual hard-disk on the user s computer. No concepts of -append‖ or -file locking‖ operations within Cloud Files. A nested directory/folder structures cannot be upload into Cloud Files unless a transformation is performed to flatten the structure. In CTERA, if the CloudPlug fails, the drive (formatted NTFS) can be plugged into a local PC to access the data. Applications can move out of Joyent the way it moved in. Joyent provides three load-balancing options; using Zeus Accelerators or F5 Networks for a fee or free Apache or Nginx within the Accelerator for low volume sites.

Software Implementation
This describes the necessary software tools, and other support elements that must be in place before the Cloud System could function properly, i.e. Operating Systems, hardware, etc .
EC2 runs on all Linux based kernel and requires that Java 5 or later be pre-installed. Amazon provides code samples for S3 in C#, Java, Java Script, Perl, Python and Ruby. To install and compile Eucalyptus from source, Apache Ant, Axis2, Axis2/C, Rampart/C, Libvirt , Java Development Kit (JDK), GNU C compiler and Make must be pre installed on the head node. Eucalyptus can be installed via a Rocks, if a Rocks enabled cluster is available, via repackaged RPMs or from source. Eucalyptus uses the BSD license. OpenNebula is open source software released under Apache license, the dependences required are stated on the website. OpenNebula is installed on a UNIX cluster frontend. Nimbus is licensed under the terms of the Apache License version 2. Cumulus currently runs on Oracle, Linux and the Xen hypervisors. AppScale is distributed as a Single Linux Image, containing the code for the implementation of all of the components. All the new programs contributed by AppScale carry the Berkeley Software Distribution (BSD) license. Enomaly runs on Linux, Microsoft, Windows, Solaris and BSD Guests. Seattle runs on a variety of different operating systems and architectures including Windows, Mac OS X, Linux, FreeBSD, and even portable devices like Nokia N800s and iPhones. In Stratus, compute nodes at the ACIS Lab are allocated to provide the services. Workspaces are deployed in a private network. The OpenVPN client opens a turn device configured appropriately. Azure extends existing Microsoft enterprise licensing agreements. Mosso supports Windows and Linux, PHP, .Net, MySQL, SQL Server, Python and Ruby on Rail. Email services are available over : POP/IMAP, and Webmail Exchange is not yet available. Mosso uses the MIT License. The CTERA hardware based service on storage appliances ranges from a tiny USB plug device to multi-bay RAID systems. NirvaxCloudNAS had the Linux and Windows flavour. Joyent Accelerators come with Apache, Nginx, MySQL, PHP, Ruby on Rails, and JAVA pre-installed. Joyent designed and deployed systems that use memecached with MySQL Proxy and clustered versions of MySQL. GoGrid supports a variety of Linux and Windows operating systems with preinstalled software, such as IIS, Apache, PHP, Microsoft SQL Server, and MySQL.

Monitoring
Monitoring provides visibility into the health and usage of the cloud resources. A system of collecting data on specified indicators for the extent of resource consumption and also the state of the cloud system. EC2 instances can be controlled by writing the SSH public key into the AMI image allowing only the user with a matching private key. Monitoring services fro AWs is available for a cost. Eucalyptus allows the total resources consumed to be monitored. Eucalyptus developers provide comprehensive support via their Wiki service, documentations as well as an online forum. The OpenNebula Engine provides an API and CLI for monitoring and controlling VMs and physical resources. GoogleAppEngine dashboard in the Admin Console that has graphs that provides a visual reference of the system use. Windows Azure provides a browser-accessible portal for users to create, configure, and monitor applications. A p r i l 1 3 , 2 0 1 4 CTERA Portal allows service providers to remotely manage subscribers and control the Cloud Attached Storage, including subscriber management, service provisioning, status monitoring, reporting, and more. Joyent Accelerators allow access to the root. In Nirvanix, data was only uploaded to the cloud when files are closed; there's no file locking (presumably the use of a virtual file system tool that was dependent on best-efforts home-grown software).

Software Deployement and Testbeds
This identifies the operational environment for the cloud system; it gives the popularity of the system under review and may provide a basis for determining the credibility of the system, its known users and also the popularity of the system.
There is no gain saying that Cloud services has been of immense benefit to may users since inception. As early as 2006 SmugMug [39 ] claimed to have saved a huge amount of money since its Photo hosting in S3 instead of dedicated storage The list of Cloud users is endless, Fortune 500 enterprise users, Web 2.0 company and independent developers; Los Angeles .com, CNNPolitics.com, PayPal, Linked in, GILT Groupe, the Walt Disney Company, facebook, googles, Orkut etc. and it keeps on increasing even to mobile users. No doubt enterprises are gaining more confidence in Cloud computing and are thus planning beyond testbeds.

Payment
This describes the accepted method for Cloud consumers to compensates the Cloud providers for the facilities consumed.
EC2 instance is charged per hour with fractional hours rounded up. Instance not shut down with terminate command or not automatically reboot after crashing continue to acquire charges. EC2 account is linked to a credit card. The S3 cost model is based on Gbytes per month. S3 charges for transfer outside AWS. S3 does not provide a solution to limit the amount users stand to lose in case of an attack. S3 needs to provide classes of service that would allow users to choose their desired durability/availability/access performance mix to better control costs. The cost of uploading and downloading from S3 is still high compared to the actual cost of S3 storage, though this corroborates the fact that the cost of storage is dropping faster compared to cost of bandwidth . OpenNebula is free to download and use. The Eucalyptus considered here is the free version. Nimbus users do not to directly pay for resource use. Interested members of the community give a short write up of the scientific project, based on the write up, small (testing), middle (development), or large (science) hour credit is allocated to the individual project . ECP considered here is the free version but offered a proprietary version. Seatle, users donate resources which are converted to credits. Azure employs the pay-as-you-go pricing model. Mosso sells space with standard pre-configured stacks of software for a fixed amount on monthly basis. Payment is by Credit card. CTERA sells through a network of channel partners and does not sell directly to end-user. Joyent is available for monthly charge depending on the chosen accelerator. Additional fees are; setup fees of one-month charge for the accelerator, shared NFS/NAS storage and SSL Certificates.

DISCUSSION
Cloud review is an active research area and will continue to be relevant as the technology itself. No doubt a number of effort has been on review of Cloud systems as evident in [31], [35], [40], [41], [42], [43], [44], [45] and [46]. Though none of the earlier review was in the same direction as ours. Our study reviewed the pioneer Cloud providers with their entry products. The technology continues to grow no wonder Amazon that started with about 2 services now have over 30 AWS, ditto for the other big players too. Regular review will afford user to know the actual state of things, agreed that S3 is not the only storage services for Amazon , but its good for backups or data that wasn't access very often, meanwhile Glazier which is also a storage service from Amazon is cheaper but very slow. Google and Joyent now offer Iaas among their added services. As new services is emerging, deletion is also rearing its head in the industry, the ECP has been acquired by another company despite being a foundation cloud company despite its long standing in the business [47]. One of the pioneer big storage provider Nivranix also bowed out finally [48].
Cloud users are becoming more confused, Cloud market is still far from open, every provider covering its own innovation in the name of competition [49]. It started appearing like everybody is on Linux even ignoring the various distribution but now companies are creating their own version of Linux, Amazon Linux, GoogleCompute Engine Linux [46]. Interoperabity is a big issue that is not seen any light yet from the cloud providers.
Though the industry is growing but a number of issues that have been raised from onset are not yet resolved. Trust is still a mirage. Cloud audits are not real certifications, as organization being audited gives the list of processes and statement about capabilities, the auditor validates those controls without not necessarily ensuring the controls are effectively implemented. The Cloud customer is still left to do to actual proof that the right controls are in place [50]. The issue of Data lock-in is still unresolved, a solution in the direction of standadised API was suggested by [44 ] to ensure business continuity moreso, some of this folding up and acquisition are not with long notice [47] [48]. Neither Microsoft nor Amazon supports the Unified Cloud Interface (UCI) Project proposed by the Cloud Computing Interoperability Forum (CCIF [51].
Apart from total collapse, outages is another business continuity problem, system failures and complete outages are not peculiar to the with small cloud providers, but the global players even in a bigger way. This has started as early as 2007 when the industry is still in its infancy, a number of outages is enumerated in [39], [40] and [42]. The story is still the same in 2013. Table 1. shows the some of the outages experienced in 2013 from the so called big cloud players. The consequence of these outages on Cloud users is far reaching. Heroku [52] a provider of Ruby on Rails platform lost approximately 44,000 hosted applications in just one of the EC2 failures in 2010 [53]. In the words of Raphael in [54] 'from a 5-minute failure that cost half a million dollars to a week-long disruption that cost an immeasurable amount of brand damage'. The table was only limited to the providers discussed in the paper. Yahoo mail had problem between Dec 9 and12th, 2013, the CEO said -most affected users‖ had regained access [54] but I know of somebody who never had access to his yahoomail box since then. A mail box he has been using for the past 12 years, irrepairable loss, indeed.

CONCLUSION
The software and hardware requirements of cloud solutions are very different depending on the hypervisor and the cloud management software. The non-commercial projects usually specify the minimal requirement. The commercial products require specific hardware and topology and Cloud toolkits restrict the number of usable OS. Hence there is great need for cloud users to also consider in dept the hardware and software compatibility before choosing a cloud solution especially for hybrid cloud. To assist cloud users in this task, for proper assessment for cloud deployment the criteria used in this study comes handy to evaluate cloud providers The study was started in 2009 that explain why some of the providers discussed here are no more in existence, even their website has been scrapped, hence the study reviewing them preserve their legacy to a large extent.