I was recently asked "The discussion we are having right now is about whether anyone really needs a Platform as a Service. What kind of PaaS would be useful to you for hosting applications? Do you think there is a future for the Platform as a Service? Are PaaS offerings like Microsoft’s Azure and Salesforce’s Heroku simply doomed because they are trying to fill a niche for which there is little need? "
I actually think there is a future for "internal" PaaS solutions.It is an excellent complement to both private internal and external IaaS platforms.
Last year we deployed VMware Lab Manager as an IaaS solution for our internal developers. The solution was very well received because it provided our developers with their own virtual datacenter to deploy virtual machines when they need to test new applications. However, that also means they inherit the responsibility of maintaining those virtual machines. Here is the written clause we have in our development IaaS solution:
All the management duties of running the server remain with Lab Manager Workspace Owner. The Workspace Owner in this case, updates all application related software on their own, applies necessary application software patches, installs and upgrades applications, and monitors application performance.
The Lab Manager environment is not backed up, it doesn't have automated application deployments, and there is no monitoring.
In the event that an issue occurs on an unmanaged server and is due to a change made by the Workspace Owner, Infrastructure Services will provide 30 minutes of engineer time to resolve the issue.
As you can see, this puts a lot of overhead on the development community when they asked for the additional flexibility and agility of IaaS. In this hosting model, which mirrors Amazon EC2, the operational support is very limited.
If you go with an internal PaaS solution such as Cloud Foundry all the infrastructure components are masked. It abstracts code deployments from the underlying infrastructure. So when a developer wants to test code they deploy it to a URL or a PaaS management server. They no longer need to deal with the server OS, web hosting, and database hosting. They can strictly focus on writing new code and deployments.
Last year we deployed VMware Lab Manager as an IaaS solution for our internal developers. The solution was very well received because it provided our developers with their own virtual datacenter to deploy virtual machines when they need to test new applications. However, that also means they inherit the responsibility of maintaining those virtual machines. Here is the written clause we have in our development IaaS solution:
All the management duties of running the server remain with Lab Manager Workspace Owner. The Workspace Owner in this case, updates all application related software on their own, applies necessary application software patches, installs and upgrades applications, and monitors application performance.
The Lab Manager environment is not backed up, it doesn't have automated application deployments, and there is no monitoring.
In the event that an issue occurs on an unmanaged server and is due to a change made by the Workspace Owner, Infrastructure Services will provide 30 minutes of engineer time to resolve the issue.
As you can see, this puts a lot of overhead on the development community when they asked for the additional flexibility and agility of IaaS. In this hosting model, which mirrors Amazon EC2, the operational support is very limited.
If you go with an internal PaaS solution such as Cloud Foundry all the infrastructure components are masked. It abstracts code deployments from the underlying infrastructure. So when a developer wants to test code they deploy it to a URL or a PaaS management server. They no longer need to deal with the server OS, web hosting, and database hosting. They can strictly focus on writing new code and deployments.
PaaS is not:
- VMs
- CPUs
- Memory
- Storage
- Networks
Those are core infrastructure components that should be managed by the infrastructure support team along with capacity management and monitoring. PaaS is a frame-work for applications and their associated services, not infrastructure.