Cloud computing describes the approach, abstracted IT infrastructures (computing capacity, data storage, network capacity, or even finished software) dynamically adapted to the needs of a network to provide. From the user point of view, provided abstracted IT infrastructure seems distant and obscure, hidden in a “cloud” to happen. Supply and utilization of these services take place exclusively via defined technical interfaces and protocols . The range of cloud computing as part of services offered covers the complete spectrum of information technology and includes, among other things, infrastructure (such as processing power, disk space), platforms and software .
In simplified terms one can follow the concept can be described as: A part of the IT environment (in this context, such as hardware such as data center , data storage and software ) is on the user side not operated or be provided locally, but with one or more providers hired as a service usually located geographically far away. The applications and data are no longer on the local machine or in the corporate data center, but in the ( metaphorical ) cloud. The design element of an abstract outline of clouds in network diagrams often used to represent an unspecified part of the Internet.
The access to the remote systems of a network, such as that of the Internet is in use. But there are also companies in the context of so-called private clouds, where provision of a corporate intranet is done. Most providers of cloud solutions leverage the pooling effects that arise from the sharing of resources for their business model.
History of the term Cloud Computing
The term cloud computing was influenced by some fast-growing Internet companies like Amazon , Google and Yahoo. These companies were providing because of the rapid growth of their user base with the problem of having to hold ever-growing systems (for example, this would be for Amazon Christmas sales) and sufficient performance at peak load times.
For Amazon this peak load in 2006 was higher by a factor of 10 as the base load in daily operations. To address this problem, it was decided to make the architecture and the services that they had to master with the designed in part fluctuating or very high numbers of users and established, to a product that you offer to the outside world, ie that this problem during peak times on the users of the cloud is distributed.
For Amazon this step was the mid-2000s, a logical consequence, since it internally at this time already to small fast-moving teams had changed sides, the new functionalities based on the existing cloud infrastructure implemented. The scale effects of cloud-based services have been so for the product “cloud computing” itself, from which one since there is not only internally but also externally offered.
Definition and levels of Cloud Computing
2009, the National Institute of Standards and Technology (NIST), a definition of Cloud computing, which met with widespread acceptance and combines different approaches to the definition:
Cloud computing describes the three service models:
- IaaS – Infrastructure as a Service in Cloud computing – Cloud computing offers virtualized system to access to computer hardware resources such as networks and storage. With IaaS, users freely create their own virtual computer cluster and are therefore responsible for the selection, installation, operation and functioning of their own software.
- PaaS – Platform as a Service in Cloud computing – Cloud computing provide access use of programming or run-time environments with flexible, dynamic, customizable screens and data capacity. With PaaS users develop their own software applications or have them perform here, within a software environment that is the service provider (service provider) provided and maintained.
- SaaS – Software as a Service in Cloud computing – Cloud computing offer access using collections of software and application programs. SaaS service providers offer special selections of software running on their infrastructure. SaaS is also known as software on demand (software as needed).
Representation of cloud computing delivery models
It also includes the definition of the National Institute of Standards and Technology (NIST) has four delivery models:
- Public Cloud Computing – public Cloud Computing – provides abstracted access to IT infrastructure for the general public via the Internet. Public Cloud Computing service providers allow their customers to rent IT infrastructure on a flexible basis of paying for the actual utilization or consumption (pay-as-you-go), without having to invest capital in computing and data center infrastructure.
- Private Cloud Computing – the private Cloud Computing provides abstracted access to IT infrastructure within the organization (agency, company, start-up, club), such as Ubuntu One .
- Hybrid Cloud Computing – the cloud of hybrid computers – offering access to abstract combined IT infrastructure in the areas of public clouds and private clouds, to meet the needs of their users.
- Community Cloud Computing – provides abstracted access to IT infrastructure as the public cloud – but for a smaller group of users who are mostly distributed locally, shares the costs (for example, several municipal governments, universities, business / corporate with similar interests, research communities).
And lists five essential characteristics of cloud computing:
- Self-assignment of benefits from the cloud or by the user, which will be available when needed (self-service provisioning / As-needed availability).
- Scalability by decoupling the use of swings and infrastructure limitations (scalability).
- Reliability and fault tolerance guarantees permanently defined quality standards of the IT infrastructure for the user (Reliability and fault-tolerance).
- Optimization and consolidation, efficiency and economy in adapting to continuous environmental protection standards, which can be optimized successively by the cloud service provider (Optimization / Consolidation).
Quality assurance and quality control can be continuously monitored by the service provider and ensure that no users are burdened must (QoS – Quality of Service).
Under the condition of a publicly available, for example, similar to the public telephone network, called “cloud computing”, depending on the architecture as a sum of SaaS and “utility computing”.
Architecture of Cloud Computing
There are also the most distinctive features of Cloud Computing :
In order to approach the architecture of Cloud Computing, one can imagine a simple calculator. Processor cores, memory, hard disk, and programs. These components are found in the Cloud Computing also allows, in only one form, the massive scalability.
For the other components of Cloud Computing, such as programs or processor cores are similar to large extent. Why this is so is explained solely by the numbers. In 2008, Google announced , 10 billion documents, which are spread over 1000 physical machines to sort within 68 seconds can be done on their Cloud Computing infrastructure.
Technical Implementations of Cloud Computing
There are different types of cloud computing, a possible structure is the so-called cloud technology stack, with three layers in the upper layers to lower layers can build up :
- Cloud Computing Architecture
- Cloud Computing Infrastructure
- Cloud Computing Platform
- Cloud Computing Application
Each layer represents a level of abstraction. In this kind can also be classified the different types of Cloud Computing.
The infrastructure, or “Cloud Foundation” is the lowest layer in the “cloud computing”. The user picks up on existing services within the system, manages its computing instances (see the virtual server ), however, largely self-concept services within the IaaS are typically Distributed persistence (see Amazon’s Simple Storage Service ) and a news service (see Message Oriented Middleware ).
The advantage over traditional distinction and the data center is the scalability: Computing instances can be arbitrarily extended to other instances or reduced depending on requirements. The user has full access to this instance with the property that it is for the instances from the operating system level itself responsible.
Examples include GoGrid and Linode.
Here the application is in the foreground. The developer creates the application and loads them into the cloud. This takes care of itself over the division of the actual processing units. In contrast to IaaS here the user has no direct access to the computing instances. He also runs any virtual server. In PaaS scenario he only brings his logic into the cloud, which he compared to a programming occurs.
The infrastructure of the cloud takes care of itself this is the required instantiation of the processing units and the distribution of data to be processed.
As an example, the products Windows Azure from Microsoft, App Engine of Google are assigned to the platform layer.
The fact that the user supplies only its application logic here, the cloud may increase the number of actually working to reduce instances as you wish. The abstraction of any technical component is explicitly required in this case, since the user to process the data cloud in the first place, but do not want to administer the system.
The application point of view, the most abstract view of cloud services exists. This brings the user’s application, a not in the cloud, nor does he care about scalability and data storage. It uses an existing application, the cloud offering him the service outwardly. This application includes the two lower levels, because the cloud-like functionality, distributed memory, fail-safe infrastructure are indeed the basis of the application being used, the users of the SaaS service that does not come into contact, however.
A “cloud application” in the SaaS model typically takes account of the following aspects:
- The design should be modular and service-oriented.
- The load is not predictable because of the intensity of use and number of users of an application often can not be reliably predicted to be made.
- The application is dynamic, distributed and multi-client capability to be.
Well known examples of a cloud application is Google Docs , Microsoft Skydrive Office Web Apps and Exchange Online, SharePoint Online, Live Meeting, Office Communications Online.
Organizational types of Clouds
One can distinguish not only technical Cloud Stack and between different organizational forms of “Clouds”, which have their place depending on the application:
In “private clouds” is important, that both providers and users are in the same company, so for example, all the problems in the field of data security more or less obsolete.
Here trying out cloud functionality within an organization is paramount. It is mainly about finding out potential advantages and disadvantages for specific applications.
This is a cloud that is located within a company also only within a department. This means in particular that both providers and users within the same department can be found.
In contrast to the “Departmental cloud” here comes providers and users from different business units.
A “public cloud” is a “cloud”, which is public, that can be used by any persons or businesses and no longer limited to internal applications of a single institution / a company. This access will also be especially problems related to data security, and each actor has to think about yourself, how many and which data to keep outside its direct control. Again, there are subtypes:
- Exclusive Cloud
“Exclusive Clouds” presuppose that know both providers and users. They act out of fixed conditions and enter into a contract on it. There are no strangers.
- Open Cloud
This has the consequence that the provider develop its offer without direct input from customers and in the form of SLAs must stipulate. Due to the large number of potential users must also complete the transaction and the use of instances run on the supply side is fully automatic. As an example of this would be the Amazon Web Services.
- Hybrid cloud
The company operates its own “private cloud” and uses as an additional failover strategy for peak loads or a “public cloud”.
Advantages and problems
Local resources (software and hardware) can be saved in Cloud Computing. Increasingly, these resource efficiency is also related to the sustainable use of ICT systems. A frequently cited example of the implementation of e-mail systems based on “cloud computing” is, as here, the complexity of the application by taking measures for prevention, so that smaller companies can benefit from outsourcing of Cloud Computing. There are also advantages in the case of strongly fluctuating demand: Normally, you would have to hold enough capacity to handle the load peaks. When using “cloud computing” is the unused capacity can be variably adjusted to the actual demand in the short term.
The basic problem, namely the protection of access to the application data during transfer between local client and remote server could not be solved satisfactorily to date. There are however a number of developments in the field of data security such as SSL / TLS encryption . An overview of the problems of data security and data protection in the public cloud computing give the state of the art in January 2011 by Jansen and Grance by NIST.
Critics fear that the control of private data from users through the market-dominant providers such as Google. The commercial use of such methods of Cloud Computing are still today in the way of performance problems. Another approach is to solve this problem is to use a fully homomorphic encryption. It is within the cloud, calculated solely on encrypted data that can be done privately and then decrypted again. The challenge here, however, currently is to find such an encryption, which is still performing well enough to a massive, large-scale use, as it would be necessary in the cloud. Another challenge in the Cloud Computing, is the dependence ( lock-in effect ) of each cloud provider, because the available interfaces are usually very vendor specific.
Distinction from other forms of service
Cloud computing is in some elements has traditional online outsourcing related. It borders but in important respects from that. In general, the area of infrastructure as a service provider’s IT infrastructure used by several customers, so that peak capacity can be easily distributed and shared resources. Thus, cloud services can be adapted at short notice and thus differ from the classical model to use in the customer’s computer infrastructure “exclusively”. Furthermore, the control and administration of services by the user via the web interface itself.