Cloud computing is a model where the storage and computing capacity is provided as a service, usually on the internet, in a remote accessible fashion to heterogeneous parties. The main drive to use cloud computing by these heterogeneous parties is cutting costs by the economy of scale and simplicity of maintainability. Maintainability is in essence the flexibility/changeability of a product/service during it’s life-cycle. As a solution architect you are responsible to find the cheapest way to realize the current and possible future requirements of the business during the life-cycle of the product/service. Because cloud computing is about reducing costs, you should have a good look at it whether to use it or not. The following part of this blog post describes several key choices to determine if and which cloud computing solution could be used for the product/service the company wants to provide. After the key choices, three cloud promises are described which have to be kept in mind while designing the product/service. Choice between public/private cloud Suppose a cloud (private or public) solution does not violates any of the corporate architectural principles, the following step in the investigation is to determine if a public or private cloud computing solution could fulfill the needs. The choice for private or public cloud will be mainly data security and privacy driven, like legal compliance, corporate principles, but also network latency and the available skills within the company to create and maintain a private cloud. Choice between cloud computing groups (SaaS, PaaS, IaaS) As Adé Mochtar described in his blog "on-cloud-3x3" cloud computing is traditionally divided into three cloud computing groups:
- SaaS: no responsibilities,
- PaaS: only responsibility for the application and the data the application uses,
- IaaS: the responsibility of configuring the OS and middleware, software updates and licenses (in addition to PaaS).