PaaS (Platform as a Service) is a layer over
IaaS (Infrastructure as a Service) that provides the following:
- Some kind of deployement interface
- coupled with a load balancer - HAProxy
- a service provisioning system
- Scaling in/out support
- Optional add-on services:
- Backup and restore service
- Patching
- Caching or data grid service
- Different DB types - relational, in-memory, no-sql
The above is
generally controlled by a service management layer that exposes all of the
above operations of PaaS as REST endpoints. The implementation of the endpoints
will use IaaS service endpoints to perform infrastructure related operations
(like say adding/removing a VM etc).
Generally some
devops toolkit like chef (solo)/puppet combined with some bash scripts are used
to provision the platform (like say application server or database server) in
the VM after the VM has been created.
The tenant user can
either use the REST endpoints directly or through some SDK or CLI or through a
web UI to request say, creation of platform instance(s).
Once the platform
instance is created, user can deploy their applications on the platform through
the platform specific administration tools (like tomcat admin console or a DB
client).
Examples of PaaS:
Heroku (see my other posts summarizing the salient features of Heroku platform)
No comments:
Post a Comment