Cloud is a magic wand that everybody wants to consider to cut down their cost. Cloud itself is a bigger umbrella and there are many many options available inside it. One popular choices available within cloud is PaaS. While many of the decision criteria to chose a PaaS over other choices is strategical, architectural aspects also greatly influences this decision. Architectural advantages of PaaS are the following.

• IDE based development and deployment support

• Seamless Inbuilt Scalability Support

• Inbuilt maintenance and backup of data While the advantages are very compelling to chose PaaS listed below are few important criteria that one needs to analyse before taking this decision.

Technology Support

Most of the PaaS comes with its own technology pre requisites like .Net for Azure and Java/PHP for GAE. Also it is not possible to install any software of our choice (for example, the database choices are pre fixed ) and deploy on these platforms. While it is possible to deploy other technologies in some of these platforms, it is not straight forward. Now the question from an architectural perspective is whether we can adopt to the technologies supported by the PaaS as the development technologies for our application/product. This decision is even tougher and critical when the application already exists and is on a different technology.

Design Restrictions

PaaS also has its own design norms that you need to follow to develop on top of it. For example, the applications hosted on cloud needs to be scalable. With azure you also need to carefully design data flow between different nodes as this can have a huge impact on the cost. We need to analyze from the product/ application perspective if the prescribed design norms can be followed.

SLA support

SLAs and Performance results of the PaaS should be definitely analysed before chosing a PaaS. While the supported SLAs are well suited for most of the applications and products if any portion of the application has unique needs we need to analyse if the SLAs promised would meet it. For example, response time of the pages/transaction should be less than 5 seconds. In this case, the PaaS software and hardware architecture has to be scalable to meet the above mentioned performance.

Legal and Standard Compliances

Some applications are required to be compliant with standards such as PCI compliance, HIPAA compliance and so on. There can also be restrictions on where the application data can reside. We need to analyze if these Criteria can be met in PaaS.

 

Jothi Rengarajan