Estoy preguntando esto en un sentido muy general. Tanto desde la perspectiva del proveedor de la nube como del consumidor de la nube. Además, la pregunta no es para ningún tipo específico de aplicación (de hecho, la intención es saber qué tipo de aplicaciones / dominios pueden caber en cuál de la losa de nube -SaaS PaaS IaaS).
Mi entendimiento hasta ahora es:
IaaS: Raw Hardware (Procesadores, Redes, Almacenamiento).
PaaS: SO, software del sistema, marco de desarrollo, máquinas virtuales.
SaaS: aplicaciones de software.
Sería genial si Stackoverflower's pudiera compartir su comprensión y experiencias del concepto de computación en la nube.
EDITAR: Ok, lo pondré de una manera más específica:
Amazon EC2: no tiene control sobre la capa de hardware. Pero puede elegir la imagen del sistema operativo, Dev Framework (.NET, J2EE, LAMP) y la aplicación y colocarla en el hardware EC2. ¿Puede implementar aplicaciones creadas con Google App Engine o Azure en EC2?
Google App Engine: no tienes control sobre el hardware y el sistema operativo y obtienes un Dev Framework específico para construir tu aplicación. ¿Puede tomar cualquier aplicación Java o Python existente y portarla a GAE? O viceversa, ¿las aplicaciones que se crearon en GAE pueden sacarse de GAE y trasladarse a cualquier servidor de aplicaciones como Websphere o Weblogic?
Azure: no tiene control sobre el hardware y el sistema operativo y obtiene un Dev Framework específico para construir su aplicación. ¿Puede tomar cualquier aplicación .NET existente y migrarla a Azure? O viceversa, ¿las aplicaciones que se crearon en Azure pueden sacarse de Azure y trasladarse a cualquier servidor de aplicaciones como Biztalk?