I have talked about in the past that cloud decisions are not made in vacuum, there is a definite tradeoff of pain vs gain.
On the gain side are obvious reductions in capex, opex and even increased business flexibility (by making IT available very easily so that more things get done).
On the pain side are increased requirements for standardization, increased application model change, and risks (perceived or real) that come with increased sharing.
I have also talked of the fact that IaaS, PaaS and SaaS are not one thing. I will elaborate on it in more detail in a later post (gotta write it!), but as I alluded to here. For example, there are three PaaS models I see:
- Pattern based deployment, a la IBM Workload Deployer
- Standardized Shared but conformant to current application structures, such as Relational-Database-as-a-Service
- Standardized Shared but requiring new application structures (i.e. rewrites to take advantage) such as Google App Engine's view of databases.