CAPABILITIES OF CLOUDS

Since “clouds” do not refer to a specific technology, but to a general provisioning paradigm with enhanced capabilities, it is mandatory to elaborate on these aspects. There is currently a strong tendency to regard clouds as “just a new name for an old idea”, which is mostly due to a confusion between the cloud concepts and the strongly related P/I/SaaS paradigms (see also II.A.2, but also due to the fact that similar aspects have already been addressed without the dedicated term “cloud” associated with it.

This section specifies the concrete capabilities associated with clouds that are considered essential (required in any cloud environment) and relevant (ideally supported, but may be restricted to specific use cases). We can thereby distinguish non-functional, economic and technological capabilities addressed, respectively to be addressed by cloud systems.

Non-functional aspects represent qualities or properties of a system, rather than specific technological requirements. Implicitly, they can be realized in multiple fashions and interpreted in different ways which typically leads to strong compatibility and interoperability issues between
individual providers as they pursue their own approaches to realize their respective requirements, which strongly differ between providers. Non-functional aspects are one of the key reasons why “clouds” differ so strongly in their interpretation.

Economic considerations are one of the key reasons to introduce cloud systems in a business environment in the first instance. The particular interest typically lies in the reduction of cost and effort through outsourcing and / or automation of essential resource management. As has been noted in the first section, relevant aspects thereby to consider relate to the cut-off between loss of control and reduction of effort. With respect to hosting private clouds, the gain through cost reduction has to be carefully balanced with the increased effort to build and run such a system. Obviously, technological challenges implicitly arise from the non-functional and economical aspects, when trying to realize them.

As opposed to these aspects, technological challenges typically imply a specific realization – even though there may be no standard approach as yet and deviations may hence arise. In addition to these implicit challenges, one can identify additional technological aspects to be addressed by cloud system, partially as a pre-condition to realize some of the high level features, but partially also as they directly relate to specific characteristics of cloud systems.

1. NON-FUNC TIONAL ASPECTS
The most important non-functional aspects are:
Elasticity is an essential core feature of cloud systems and circumscribes the capability of the underlying infrastructure to adapt to changing, potentially non-functional requirements, for example amount and size of data supported by an application, number of concurrent users etc. One can distinguish between horizontal and vertical scalability, whereby horizontal scalability refers to
the amount of instances to satisfy e.g. changing amount of requests, and vertical scalability refers to the size of the instances themselves and thus implicit to the amount of resources required to maintain the size. Cloud scalability involves both (rapid) up- and down-scaling.

Elasticity goes one step further, tough, and does also allow the dynamic  integration and extraction of physical resources to the infrastructure. Whilst from the application perspective, this is identical to scaling, from the middleware management perspective this poses additional requirements, in
particular regarding reliability. In general, it is assumed that changes in the resource infrastructure  are announced first to the middleware manager, but with large scale systems it is vital that such changes can be maintained utomatically.

Reliability is essential for all cloud systems – in order to support today’s data centre-type applications in a cloud, reliability is considered one of the main features to exploit cloud capabilities.
Reliability denotes the capability to ensure constant operation of the system without disruption, i.e. no loss of data, no code reset during execution etc. Reliability is typically achieved through redundant resource utilisation. Interestingly, many of the reliability aspects move from a hardware
to a software-based solution. (Redundancy in the file systems vs. RAID controllers, stateless front end servers vs. UPS, etc.).

Notably, there is a strong relationship between availability (see below) and reliability – however, reliability focuses in particular on prevention of loss (of data or execution progress). 

Quality of Service support is a relevant capability that is essential in many use cases where specific requirements have to be met by the outsourced services and / or resources. In business cases, basic QoS metrics like response time, throughput etc. must be guaranteed at least, so as to ensure that the quality guarantees of the cloud user are met. Reliability is a particular QoS aspect which forms a specific quality requirement.

Agility and adaptability are essential features of cloud systems that strongly relate to the elastic capabilities. It includes on-time reaction to changes in the amount of requests and size of resources, but also adaptation to changes in the environmental conditions that e.g. require different types of resources, different quality or different routes, etc. Implicitly, agility and adaptability require resources (or at least their management) to be autonomic and have to enable them to provide self-* capabilities.

Availability of services and data is an essential capability of cloud systems and was actually one of the core aspects to give rise to clouds in the first instance. It lies in the ability to introduce redundancy for services and data so failures can be masked transparently. Fault tolerance also requires the ability to introduce new redundancy (e.g. previously failed or fresh nodes) in an online manner non-intrusively (without a significant performance penalty). With increasing concurrent access, availability is particularly achieved through replication of data / services and distributing them across different resources to achieve load-balancing. This can be regarded as the original essence of scalability in cloud systems.

to be continued....

Yorumlar

En çok okunanlar

Cloud Computing Reference Architecture: An Overview

Cloud Architecture

Teknolojik Altyapıdan Ne Anlıyoruz?

Run SAP İş Ortağı Programı, En İyi Çözüm Operasyonunu Nasıl Sağlar?

Artırılmış Gerçeklik nedir ve hangi alanlarda kullanılıyor?

KÖRLER ÜLKESİNE KRAL OLMAK

BİG DATA MANAGEMENT

CLOUD COMPUTING – An Overview

Blockchain, sözleşmelerin dijital koda yerleştirildiği ve şeffaf paylaşılan veri tabanlarına depolandığı, silinmesi, değiştirilmesi ve düzeltilmesinden korunan bir dünyayı hayal edebiliriz.

Bilgi Sisteminin Yazılım Yetenek Olgunluk Modeli ile İlişkisi