# Cloud computing architecture

"none" is preferred when the title is sufficiently descriptive; see [[WP:SDNONE]] Cloud computing architecture refers to the components and subcomponents required for cloud computing. These components typically consist of a front end platform (fat client, thin client, mobile), back end platforms (servers, storage), a cloud based delivery, and a network (Internet, Intranet, Intercloud). Combined, these components make up cloud computing architecture.

## Client platforms

Cloud computing architectures consist of front-end platforms called clients or cloud clients. These clients are servers, fat (or thick) clients, thin clients, zero clients, tablets and mobile devices that users directly interact with. These client platforms interact with the cloud data storage via an application (middle ware), via a web browser, or through a virtual session. Virtual sessions in particular require secure encryption algorithm frame working which spans the entire interface.

### Zero client

The zero or ultra-thin client initializes the network to gather required configuration files that then tell it where its OS binaries are stored. The entire zero client device runs via the network. This creates a single point of failure, in that, if the network goes down, the device is rendered useless.

## Storage

An online network storage where data is stored and accessible to multiple clients. Cloud storage is generally deployed in the following configurations: public cloud, private cloud, community cloud, or some combination of the three also known as hybrid cloud.
In order to be effective, the cloud storage needs to be agile, flexible, scalable, multi-tenancy, and secure.

## Delivery
### Software as a service (SaaS)

The software-as-a-service (SaaS) service-model involves the cloud provider installing and maintaining software in the cloud and users running the software from cloud over the Internet (or Intranet). The users' client machines require no installation of any application-specific software since cloud applications run in the cloud. SaaS is scalable, and system administrators may load the applications on several servers. In the past, each customer would purchase and load their own copy of the application to each of their own servers, but with the SaaS the customer can access the application without installing the software locally. SaaS typically involves a monthly or annual fee.
Software as a service provides the equivalent of installed applications in the traditional (non-cloud computing) delivery of applications.
Software as a service has four common approaches:
* single instance
* multi-instance
* multi-tenant
* flex tenancy
Of these, flex tenancy is considered the most user adaptive SaaS paradigm in designated multi-input four way manifold models. Such systems are based on simplified encryption methods that target listed data sequences over multiple passes. The simplicity of this concept makes flex tenancy SaaS popular among those without informatics processing experience, such as basic maintenance and custodial staff in franchise businesses.

### Development as a service (DaaS)

Development as a service is web based, community shared tool set. This is the equivalent to locally installed development tools in the traditional (non-cloud computing) delivery of development tools.

### Data as a service (DaaS)

Data as a service web based design construct where cloud data is accessed through a defined API layer. DaaS services are often considered as a specialized subset of a Software as a Service (SaaS) offering.

### Platform as a service (PaaS)

Platform as a service is cloud computing service which provides the users with application platforms and databases as a service. This is equivalent to middleware in the traditional (non-cloud computing) delivery of application platforms and databases.

### Infrastructure as a service (IaaS)

Infrastructure as a service is taking the physical hardware and going completely virtual (e.g. all servers, networks, storage, and system management all existing in the cloud). This is the equivalent to infrastructure and hardware in the traditional (non-cloud computing) method running in the cloud. In other words, businesses pay a fee (monthly or annually) to run virtual servers, networks, storage from the cloud. This will mitigate the need for a data center, heating, cooling, and maintaining hardware at the local level.

## Networking

Generally, the cloud network layer should offer:
* High bandwidth and low latency
    Allowing users to have uninterrupted access to their data and applications.
* Agile network
    On-demand access to resources requires the ability to move quickly and efficiently between servers and possibly even clouds.
* Network security
    Security is always important, but when you are dealing with multi-tenancy, it becomes much more important because you're dealing with segregating multiple customers.