There are no rules of architecture for a castle in the clouds.
G K Chesterton
Cloud computing is a new paradigm that improves the utilization of resources and decreases the power consumption of hardware. Cloud computing allows users to have access to resources, software and information using any device that has access to the Internet. The users consume these resources and pay only for the resources they use.
A cloud model provides three types of services: infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS), and software-as-a-service (SaaS). IaaS provides processing, storage, networks and other fundamental computing resources on which the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. PaaS offers platform layer resources, including operating system support and software development frameworks to build, deploy and deliver applications into the cloud. SaaS provides end-user applications that are running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (for example web-based e-mail).
We present here patterns for the three service levels of clouds: