•
Chapter 2: Cloud Basics•
Service provider’s job is supplying abstraction layer•
Users and developers are isolated from complexity of IT technology:•
Virtualization•
Service-oriented architectures (SOA)•
Web services•
Pool physical resources to manage them as a whole•
Provide an abstract logical view & dynamically generate as required•
Effective & efficient use of expensive resources to delay/avoid new capacity•
Can automate resource management by creating & configuring automatically•
Different application classes are consolidated on smaller physical resources•
Energy consumption cost savings (lifetime energy costs >> original purchase price)•
Every square meter of data center space is scarce and expensive•
Service requests are satisfied just-in-time without delay•
Bottlenecks are eliminated/reduced by reconfiguring resources automatically•
Services are highly available day or night without stop•
It is possible to hot-migrate technology upgrades to up-to-date systems•
Isolated from others and from physical resources•
Operation of the abstraction layer itself requires resources (including human)•
Virtual systems need to be sold, supported, operated and managed•
Physical infrastructure must be purchased, operated, managed and maintained•
However:•
In view of savings and quality perceived by consumer, it pays off in nearly all cases•
Operating system: solves security & confidentiality issues•
Platform: a hypervisor runs/manages any operating system/application•
Storage: dynamically scalable, separates data store from file system•
Network: load balancing using Web objects with virtual IP addresses (VLAN)•
Application: easier administration, automatic updates, all users compatible, and globally available•
“Cloud computing” consists of virtualised IT infrastructures, platforms, networks, operating systems, and applications that are implemented asServices and made available for consumption in Service-Oriented Architectures (SOA)
•
When services are public they are offered on the internet primarily through•
SOA is a style of software architecture that defines how services are offered and used•
Services are offered through standardized Web protocols and interfaces•
They are consumed by customers, applications and other services•
Typical properties of SOA:•
Distributed components, i.e. the services•
Heterogeneous service consumers and providers are interoperable•
Many ways to implement•
Common approaches are above all Web Services based on WSDL and SOAP as well as RESTful services•
Consumers need to know URL, URI or IP address as well as interface requirements•
Public services theoretically can be located anywhere on earth where an Internetconnection is available
• Internet entails problems like slow response times, low data rates, and unreliable connections
•
Web Architecture Working Group of W3C defines Web Services as:•
A Web Service is a software application identified by a URI, whose interface andbinding are capable of being defined, described and discovered by XML artifacts, and supports direct interactions with other software applications using XML based
messages via internet-based protocols.
•
SOAP/WSDL-based web services have programmatic interfaces, whereas REST describes a style of software architecture built on top of HTTP.•
Cloud Architecture is defined from two points of view•
Organizational point of view:•
Makes a distinction based on the extent to which the users’ and providers’organizational units are separated from each other; corresponding to the deployment model
•
Technological point of view:•
Public cloud (a.k.a., ‘external cloud’) comprises all cloud offerings where providers and potential consumers do not belong to the same organizational unit•
Providers make their cloud accessible to public, typically with self-service Web portal•
Consumers use portal to specify their desired scope of services•
Hence, no overall framework agreement is necessary•
Contractual obligations are entered within the scope of the performance specifications•
Private cloud (a.k.a., ‘internal cloud’ or ‘IntraCloud’) comprises all cloud offerings where providers and consumers belong to the same organizational unit•
Main reason why a private cloud would be preferred over a public cloud is typically security•
In a private cloud, control over data remains with users or their organizations•
In USA, the government can take control or view any data it deems as a security risk•
Private cloud allows organizations to protect sensitive information like design plans ormanufacturing data, and comply with regulatory measures such as keeping personal health or financial records private
•
Hybrid cloud is a scenario where services from the public cloud and from the private cloud are brought together•
Useful when certain functionalities or load peaks are transferred to the public cloud when organizational resources are stretched beyond capacity•
‘Normal’ operation relies solely on the organization’s private resources.•
Security considerations mentioned for private clouds forces an organization to exercise great care to ensure only non-critical functions or data are transferred•
The technical ‘landscape’ of existing cloud services is as diverse and as heterogeneous as the cloud architecture mentioned earlier•
A useful tool to allow us to categorize and compare available cloud services is a “cloud computing map” based on a conceptual architecture•
This map will help prospective cloud service consumers identify an optimum solution from the available complementary technologies for their particular use-case.•
The map is a ‘stack’ or layer conceptual model consisting of several layers arranged according to their degree of abstraction.•
The higher and more abstract layers may consume services of lower and more concrete layers to deliver their own services.•
Gives users an abstracted view of the hardware: computers, mass storage systems, networks, etc.•
Enables users to allocate a subset of resources for their own use•
It is further divided into the physical and virtual sub-layers discussed earlier•
Usually not targeted at end-users•
These are programming environments (PE) and execution environments(EE) where proprietary software written in a specific programming language can be executed.