I would venture a guess that many cloud service providers are happy with cloud conversations going on in enterprises today. I say this because, at least in my experience, enterprises are truly starting to seek out and embrace the idea of PaaS. Many times these enterprises have adopted or are adopting an IaaS approach, and they are looking to push the cloud up the stack. They want to address their application platforms and applications. This is refreshing and exciting, but also extremely challenging. Why, you ask? It is challenging because this is leading to a convergence of IaaS and PaaS in the enterprise that will test both providers and consumers on cultural, procedural, and technical fronts.
Empirical data, and common sense, seem to suggest that many enterprises start their cloud journey by evaluating and possibly adopting IaaS solutions. The primary units of interest in this phase are servers, storage, network components, operating systems, and other parts of the base IT infrastructure. Fittingly, the target audience is usually the various infrastructure teams in the enterprise. If you get in a room with these teams and ask them what their cloud service or application is, they will likely tell you that it is a provisioned operating system.
This is a markedly different view than the target audience of PaaS discussions. Middleware and application teams look at the cloud in terms of provisioning applications and application platforms. There is an implicit assumption that the base resources will be there. After all, that’s no different than the assumption they make in the non-cloud world. If you get these teams in a room and ask them what their cloud service or application is, they will tell you it is the application platform and application that runs on that platform.
These are completely different points of view on the benefits and expectations of cloud. Infrastructure teams look at IaaS and see that it solves many of their problems. Middleware teams look at IaaS and see the benefits of getting a server really fast, but also realize they still have to do a lot of work on top of that server, thus they turn to PaaS. Quickly, enterprises become aware that they need both and start to explore how they converge their IaaS and PaaS work.
There is no way to sugarcoat this: Adopting a converged/integrated approach to IaaS and PaaS will not be easy. As I said in the beginning there are numerous different types of challenges you will encounter. Having said that, it is far from impossible, and I have worked with numerous users that are taking an integrated approach. While there is no silver bullet, I would like to share some observations for those of you who may be pursuing a cohesive IaaS/PaaS strategy:
1) Be wary of the single tool myth: You may hear from different providers that they have a single tool that can deliver both IaaS and PaaS. I am not deeply knowledgeable of every tool out there, but I would caution you to be very skeptical of any such claim. While the tool may be able to do both, you should carefully judge the level of effort to achieve this. It is likely when you hear this that you are getting a tool primarily oriented towards IaaS, and you achieve PaaS through heavy doses of custom scripting. Further, the expectations for user experience when interacting with IaaS and PaaS tools is significantly different. Avoid the temptation of having a single tool if it is not going to capably address both IaaS and PaaS.
2) A single pane of glass is more reasonable: While a single tool that delivers meaningful IaaS and PaaS is hard to find, a single pane of glass that allows you to manage both is a different proposition. Essentially, I advise users to look for IaaS and PaaS solutions which, when integrated, provide a single pane of glass view of some of the common management actions (deployments, usage and accounting, deprovisioning). While you may need to individually interact with both the IaaS and PaaS solutions for some things, collapsing the most frequent management needs into a single pane of glass can be hugely beneficial, while still allowing each solution to focus on what it does best.
3) Consume and/or reuse: Ideally, you will be looking at a PaaS solution that can consume the output of the IaaS solution. In practice this is sometimes hard to do because there may be overlap in what the IaaS and PaaS systems do. A common example is that in most cases, both the IaaS and PaaS systems will provision an operating system (the PaaS goes further by laying down software and apps on top of the OS, but that is beside the point). If you are not in a position to easily consume the output of one system from another, then make sure you are reusing assets. Going back to the example of IaaS and PaaS solutions that both provision operating systems, I would suggest to a user in this situation that they have a centrally stored and managed workflow that configures the OS for use. These kinds of techniques significantly reduce management overhead.
I will end my short list here in the interest of brevity, but there are certainly more things you should be on the lookout for when pursuing both IaaS and PaaS solutions. Rather than me blab on though, I am interested in what you have to say! Let me know what you think and how you are approaching a converged IaaS and PaaS story.