I thought I'd provide a glossary of terms that I use in the "cloud" space.
VM: A virtual machine.
Virtual Application: Either a stand-alone or multi-tenanted system which provides a user remote access to an application.
Private cloud: The provision of a cloud for private use i.e. within a company and behind the firewall.
Public cloud: The provision of a cloud for external use.
Fungibility (N.B. This is not the correct use of the word but it is becoming more common): In the context of cloud computing, the term refers to the freedom and portability to move from one service provider to another, at the same level of the computing stack, without hindrance or boundaries. A high level of fungibility requires multiple providers of equivalent services and the easy switching between them without loss of data (including code) and meta-data.
Utility computing: Originating in the 1960s, the idea of providing computing resources as utility services from large utility providers as per the electricity and gas industry. This concept is fundamentally the same as cloud computing, extends beyond billing and has a long history of academic research.
Commoditisation (early to mid 1990s, Neologism): The process by which goods that have economic value and are distinguishable in terms of attributes (uniqueness or brand) end up becoming simple commodities in the eyes of the market or consumers. It is the movement of a market from differentiated to undifferentiated price competition, from monopolistic to perfect competition. This process describes how an innovation transitions from something new to something commonplace through various stages. Initially an innovation with value that provides a differential advantage will be copied by others as custom built systems. As time progresses and the understanding of the innovation increases, standardised products will appear. Finally, given the right circumstances and a high enough demand, services and ultimately utility-like services will appear. This process is complex, non-linear and applies to top level constructs and activities (such as CRM, ERP etc rather than specific products). There is a pressure towards commoditisation arising from the natural cost of copying information being zero, however this pressure is resisted by activities such as patents, secrecy, branding and bewilderment of choice. Cloud is simply the latest manifestation of the shift of the computing stack from a product world of differentiated goods to a service economy based upon perfect competition.
Commodification (mid to late 1970s, Word): The process by which something which does not have an economic value is assigned a value and hence how market values can replace other social values. It describes a modification of relationships, formerly untainted by commerce, into commercial relationships.
Computing stack: A representation of the provision of computing resources as a stack of discrete layers. These layers include:-
- Infrastructure (previously known as the Hardware layer) : The lowest level of the computing stack representing the bare bones, hypervisor and operating system.
- Platform (previously known as the Framework layer): The mid layer of the computing stack representing the development platform and defined services such as storage, messaging system, databases and object stores.
- Application (previously known as the Software layer): The highest order of the computing stack representing the applications and application data services that are built.
Componentisation: From Herbert Simon's theory of organisation is a mathematical proof that shows that the speed of evolution of any system is directly related to the organisation of its subsystems. In business terms the ability to evolve is commonly described as agility. Hence the further commoditisation of the computing stack to standardised components provided as internet services should increase business agility. This is often cited as one of main reasons why cloud computing is so important.
SaaS: Software as a Service. The common name for the provision of the application layer of the computing stack as a remote service. This really should be called Application as a Service but the acronym isn't that popular.
PaaS (previously known as FaaS and SaaS Platform): Platform as a Service. The common name for the provision of the platform layer of the computing stack as a remote service.
IaaS (previously known as HaaS)
: Infrastructure as a Service. The common name for the provision of the infrastructure layer of the computing stack as a remote service.
*aaS: A derisory term used to describe simultaneously the concept of provision of the computing stack as a service whilst mocking the constant revisionism of terms.
--- Update 20th August 2013
Removed a whole bunch of useless terms.