Architecture

Cloud architecture is the systems architecture of the software systems involved in the delivery of cloud computing (eg hardware, software) as designed by a cloud architect who typically works for a cloud integrator. It typically involves multiple cloud components communicating with each other over application programming interfaces (usually web services).

This is very similar to the Unix philosophy of having multiple programs doing one thing well and working together over universal interfaces. Complexity is controlled and the resulting systems are more manageable than their monolithic counterparts.

Cloud architecture extends to the client where web browsers and/or software applications are used to access cloud applications. Cloud storage architecture is loosely coupled where metadata operations are centralized enabling the data nodes to scale into the hundreds , each independently delivering data to applications or users.

The majority of cloud computing infrastructure currently consists of reliable services delivered through next-generation data centers that are built on compute and storage virtualization technologies. The services are accessible anywhere in the world, with The Cloud appearing as a single point of access for all the computing needs of consumers. Commercial offerings need to meet the quality of service requirements of customers and typically offer service level agreements. Open standards and open source software are also critical to the growth of cloud computing.

Key Components for Cloud Computing

 Application



A cloud application leverages The Cloud in software architecture, often eliminating the need to install and run the application on the customer's own computer, thus alleviating the burden of software maintenance, ongoing operation, and support. For example:

  •  Peer-to-peer/volunteer computing (Bittorrent, Skype)
  •  Web application (Facebook)
  •  Software as a service (Google Apps, Salesforce)
  •  Software plus services (Microsoft Office Online Services)

Client


A cloud client is computer hardware and/or computer software which relies on The Cloud for application delivery, or which is specifically designed for delivery of cloud services, and which is in either case essentially useless without it.[30] For example:

  •    Mobile (Android, iPhone, Windows Mobile)
  •    Thin clients
  •    Thick client/Web browser (Google Chrome, IE7 & Mozilla Firefox)


Infrastructure


Cloud infrastructure (e.g. Infrastructure as a service) is the delivery of computer infrastructure (typically a platform virtualization environment) as a service. For example:

  •   Full virtualization (GoGrid, Skytap)
  •   Grid computing (Sun Grid)
  •   Management (RightScale)
  •   Paravirtualization (Amazon Elastic Compute Cloud)