There are three broadly recognized types of Cloud Computing, depending of the type of Service or resource they are offering:
- Software as a Service (SaaS)
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
Platform as a Service – There is a deeper level of integration between vendor and end user – instead of owning and maintaining systems (e.g. development, testing, production, etc.) you rent them when you need them. The system does not allow access to lower end of the spectrum and it is using higher levels of the software abstraction, so that the end user does not deal with hardware (e.g. CPU, memory, network itself).
- Lower total cost of ownership coming from the fact that there is no need to own and manage all lower abstraction resources like hardware
- Minimize management and maintenance since most of the management is now part of the vendor data center.
- Scalable and flexible system capacity, scaling all resources dynamically as needed and scaling them at a higher abstraction level (platform environment, development environment)
The key characteristics of Platform as a Service:
- Due to the nature of the integration, services to develop, test, deploy, collaborate, host and maintain applications are in the same integrated development environment, which is already deployed on the cloud.
- If needed, it is easy to implement web based user interface creation tools that ease the creation of user interfaces and other components.
- Cloud computing model brings multi-tenant architecture with concurrency management, scalability, fail-over and security through all levels of abstraction.
- Easy integration with web services and databases allows compositions and re-use of services on single cloud, but also through the multiple clouds based on standard to be developed.
- For marketing purposes, provide insight into the inner workings of their applications, and the behavior of their users, but this is also vital for tracking of usage resources.