What is Cloud Computing? Cloud Computing is everything and the kitchen sink.
A style of computing where massively scalable (and elastic) ICT related-capabilities (e.g., networks, servers, storage, applications, services) are provided as a service to external customers using Internet technologies. These services can be rapidly provisioned and released with minimal management effort or service provider interaction.
There is now good industry agreement on three major layered delivery models:
- Software-as-a-Service (SaaS) Clouds – where an application environment is provided
- Platform-as-a-Service (PaaS) Clouds – where an application development platform is provided
- Infrastructure-as-a-Service (IaaS) – where infrastructure capabilities such as storage or a bare operating system are provided
There are five key Cloud characteristics:
- On Demand Service – unilaterally provision computing capabilities (turn it on or off), such as server time and network storage, as needed automatically without requiring service’s provider human interaction
- Broad Network Access – capabilities are available over the network and accessible from anywhere and from any device (e.g., mobile phones, laptops, and PDAs).
- Location Independent Resource Pooling – provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model. Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.
- Rapid Elasticity – capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in and appear to be unlimited and can be purchased in any quantity at any time.
- Measured Service – cloud systems automatically control and optimise resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Providing transparency where resource usage can be monitored, controlled, and reported.
Implementation patterns of the Cloud include:
- Transference – take an existing on-premises application and move it to the cloud.
- Drivers include economics, consolidation, and prototyping
- Often includes “out-sourcing”
- Development and Multi-Tenancy – develop, assess, and operate new applications with unknown loadings without requiring a full initial capital investment.
- Drivers are rapid and inexpensive prototyping, verification/validation, and risk reduction.
- Surge (aka Burst) – Ability to handle additional requirements on an as-needed basis.
- Drivers are economic – avoiding paying for over-capacity.
- Elastic Storage - application can grow exponentially from a value-added storage perspective.
- Drivers are economic – avoiding paying for over-capacity – and also risk reduction. For example, data replication for disaster recovery, near-line storage for less frequently accessed data, archiving, backup
- Collaboration – moving shared inter-organisational resources into a common area.
- Driver is ease of management, also keeps traffic out of the enterprise’s internal network.
These patterns drive various deployment models:
- Private Cloud – owned or leased by a single organisation and is operated solely for that organisation
- Hybrid Cloud – composition of two or more clouds (internal, community or public) that remain unique bodies but are bound together by standardised or proprietary technology that enables data and application portability
- Public Cloud – owned by an organisation selling cloud services and made available to the general public or to a large industry group
- Community Cloud – shared by several organisations and supports a specific community that has shared concerns