Definition of Cloud Computing
(from cloud-computing@googlegroups.com) 1) Multiple vendors accessible through open standards and not centrally administered 2) Non-trivial QOS (see the gmail debate thread) 3) On demand provisioning 4) Virtualization 5) The ability for one company to use anothers resources (e.g. bobco using ec2) 6) Discoverability across multiple administrative domains (e.g. brokering to multiple cloud vendors) 7) Data storage 8) Per usage billing 9) Resource metering and basic analytics 10) Access to the data could me bandwidth/latency limitations, security, 11) Compliance – Architecture/implementation, Audit, verification 12) Policy based access – to data, applications and visibility 13) Security not only for data but also for applications Definitions related to Clouds- Resource: A physical or virtual entity of limited availability. Physical resources are compute, storage and communication resources, etc. Virtual resources are usually services, which provide direct or indirect access to physical resources.
- Service: An entity which provides a capability on a resource, or which allows actions to be performed on resources. Services can in turn be Low Level Services - which act primarily on physical resources, or High Level Services which act primarily on virtual resources (i.e. on other services). Services expose their capabilities via Service Interfaces.
- System: A set of services and resources, which form an integrated whole. The concept of a system is inherently hierarchical, i.e. there are systems of systems. Higher Level Systems are systems which make use of other systems (i.e. Lower Level Systems), through aggregation.
- Semantics (of Systems): The set of capabilities, or features, available within a system. The semantics of a system can be greater (more powerful) than the semantics of its individual (lower level) systems combined.
- System Interface: A set of interfaces that allow an application (and other higher level systems) to access the capabilities of a system. APIs provide programmatic access to these interfaces. Application Environments provide user level abstractions to APIs. System interfaces often expose only parts of the entire semantics of the system.
- Virtualization: An additional layer between systems and applications which translates concurrent access to real systems into seemingly exclusive access to the virtual system, and vice versa. The virtualization interface often hides details and differences of the real system components.
- Application: An entity making use of a system, e.g. by using an API, or an application environment (see below). Often, Application is used synonymously to Higher Level System. A Abstract Application is a description of an Application, which can be instantiated. It does not consume resources. A Concrete Application is an instantiated Abstract Application, and is consuming resources.
- Portals and Science Gateways: High level application environments that are oriented towards facilitating end usage; these access interfaces allows the description, instantiation, deployment and management of applications -- both abstract and concrete -- on a system. Application environments may provide additional, often application specific, semantics which is originally not available in the underlying system.
- Usage Mode: A commonly occurring resource access and deployment pattern for an application or for a class of applications. For example, Usage Modes may be parameter sweeps, logical coupling of components (such as in workflows) etc.
- Affinity: An inherent property of a system that describes a relationship between two or more (real or virtual) resources. The relationship is indicative of the types of Usage Modes that the system supports. Affinities can be indicative of support for data-oriented, compute intensive, or communication intensive computing, etc.
- General Purpose Grid: A system whose interfaces expose the maximal semantics available within the system, and are open to any Usage Mode.
- Narrow Grid: A system whose interfaces expose the maximal semantics available within the system, for a specific set of Usage Modes.
- Cloud: A system whose interfaces expose the minimal semantics available within the system, while still being usable for a specific set of Usage Modes.
|