Cloud Services

Agency CloudCloud computing is increasingly being used for what was known as ‘on-demand’ and ‘utility computing’. The services provided, the APIs and the applications that can be hosted by these Cloud providers have superseded the use of the Grid, and are increasingly becoming popular with users. There are obviously two sides to the services that are provided by Cloud providers: those that are supplied by commercial entities, such as Amazon and Google, and those that are open-source systems, such as Open Cirrus[1] and Eucalyptus.[2]

There are currently three cloud-based delivery models. Software as a Service (SaaS), where the consumer uses an application, but does not control the operating system, hardware or network infrastructure. In this situation, the user steers applications over the network. Next is Platform as a Service (PaaS), where the users host an environment for their applications. The users control the applications, but do not control the operating system, hardware or network infrastructure, which they are using. Finally, there is Infrastructure as a Service (IaaS), where the user accesses ‘fundamental computing resources’ such as CPU, memory, middleware and storage. The consumer controls the resources, but not the cloud infrastructure beneath them.

Service providers try to provide simplified software installation, maintenance and a centralised control over the software used. The end-users can access the cloud-based services ‘anytime’ and from ‘anywhere’. Naturally, this type of access is based on the bandwidth that a user has over the Internet and therefore poor interconnections mean that the use of cloud-based resources is not viable. Unfortunately, most current cloud-based systems use different APIs and protocols, which means that collaboration and sharing of data is difficult at this point in time. It is interesting that the Open Grid Forum is looking at Cloud-based API and protocols, so that systems can share and work together in the future.

Many users and organisations are uncomfortable with the idea of storing their data and applications on system infrastructure and services they do not control. In addition, migrating workloads to a shared infrastructure increases the potential for unauthorised access and exposure of sensitive data. Cloud-based systems need to be consistent around authentication, identity management, compliance and access-related technologies, which are becoming increasingly important. Within the cloud-security model, the user needs to trust the vendor's security model, consider a customer's inability to respond to audit findings, potentially obtain support for investigations, deem indirect administrator accountability, ensure that proprietary implementations cannot be examined, and cope with the loss of physical control on the remote clouds being used. In addition, it may be a case that a user wants to use sensitive data on a cloud-based system, in which case it would be useful to be able to encrypt the data so that it is safe and cannot be stolen by other users.

There is also a need on cloud-based systems for Quality of Service (QoS) and Service-Level Agreements (SLAs). The contract between customers and service providers needs to be negotiated and agreed. Various performance metrics (e.g., uptime, throughput, and response time) need to be guaranteed to the users. Also, certain management details need to be exposed to the users of the system. This aspect of the service will require logging and efficient monitoring of the resources used by the users, so that they can see that they are potentially accessing the resources that were originally negotiated. There also needs to be well-documented security capabilities provided to the users, and the providers must recompense users where there are penalties for non-performance.

Cloud computing relies on separating user applications from the underlying infrastructure using virtualisation. The host operating system provides an abstraction layer for executing a virtual guest operating system. A key aspect of virtualisation is the ‘hypervisor’ and potentially the ‘virtual machine monitor’. Cloud-based systems use para-virtualisation, which includes a binary bus between the various virtual machines that are being executed. Para-virtualisation provides a much faster and more efficient virtualisation system than other virtual systems. Virtualisation enables the guest operating systems to execute in isolation of the other operating systems, and it also enables a range of legacy applications to be run. In addition, on a Cloud-based system, it is possible to run multiple types of operating systems across the system, which potentially also helps to increase the utilisation of physical servers. Virtualisation also allows the portability of virtual servers between physical servers and it can increase the overall security of the physical host server. It is well known for example that many HPC applications are only 15-20% efficient, and it is possible when executing these applications on Cloud-based services that overall there is better program efficiency. In addition, for HPC applications, the system will also need to be able to schedule the virtual machines (VMs) efficiently, as it will be important that the constituting parts of the application are placed closely together to reduce communication latencies and give high inter-VM bandwidth as well. Another aspect is that the Cloud-based systems have the possibility to optimise the use of resources, reduce the amount of electrical power used as well as the capability to provide efficient Green IT computing.


Acceleration Clause - The part of a contract that says when a loan may be declared due and payable.

Accidental Death Benefit - In a life insurance policy, benefit in addition to the death benefit paid to the beneficiary, should death occur due to an accident. There can be certain exclusions as well as time and age limits.

Acknowledgment: the act of going before a qualified officer (e.g., Clerk) and declaring the validity of the document. The officer certifies same, whose certification is known as the acknowledgment

Acquit: the act of freeing a person from the charge of an offense by means of a decision, verdict or other legal process; to discharge