If you're struggling to identify the right PaaS for your business, or are unhappy with the hosting infrastructure of your PaaS, a multi-PaaS architecture might be the solution you need.
For about 10 years, businesses have been leveraging the platform-as-a-Service (PaaS) model for developing and running applications in the cloud. With PaaS, you get development, deployment and cloud-based hosting infrastructure in a single package.
The main benefits of PaaS include faster development, lower application hosting costs and greater application scalability.
Yet PaaS is not perfect. It has drawbacks, which include:
- Limited choice. When you use PaaS, you are limited to the programming languages and tooling that is supported by that PaaS.
- Learning curve. Each PaaS is different, and you have to learn its ins and outs before you can use it effectively.
- Proprietary nature. Some PaaS platforms are proprietary. Migrating out of them is therefore difficult. Even "open" PaaSes, such as Cloud Foundry and OpenShift, do not necessarily make migration to another PaaS easy.
- Single point of failure. If you centralize application development and deployment in a single PaaS, you're out of luck in the event that it goes down.
Why to Use a Multi-PaaS Architecture
A multi-PaaS strategy can address some of these challenges. It won't necessarily deflate the learning curve or make your PaaS less proprietary, but it can increase deployment flexibility and the reliability of applications in production by distributing them across multiple clouds.
A multi-PaaS architecture can take two forms. The first involves using two or more distinct PaaS services at once. That is a rare scenario because it requires an IT team to invest in and manage two different platforms. However, this type of multi-PaaS strategy can make sense when one offers important features for custom application development that are not available from another.
It could also help to keep developers happy. Julian Dunn, director of product marketing at Chef, said in an interview that "the big reason why PaaSes are so attractive to people is that they're all about the developer experience." If some developers prefer one PaaS but others like a different one, a multi-PaaS strategy could help to ensure that all developers are able to use the tools that help them to work best.
The second, more common multi-PaaS strategy involves using a single PaaS service for application development, then deploying to multiple clouds for hosting. This approach is possible in cases where PaaS platforms support multiple public clouds. Not all PaaSes offer this feature, but some do, such as Cloud Foundry, which can deploy applications to most of the major public clouds.
In addition to providing more flexibility and application reliability, the second type of multi-PaaS strategy described above can make it easier to leverage special cloud services that are important for a particular application.
For example, a typical use case for Cloud Foundry might involve taking advantage of its support for deployment to multiple clouds in order to "use the public cloud for particular apps that need other cloud services like machine learning, AI or Hadoop," analyst Kurt Marko told Channel Futures. Under this model, "the public cloud becomes the target for a subset of applications" that are developed on Cloud Foundry, he said, adding that this approach is particularly valuable for applications that require specialized deployment infrastructure, such as GPU-accelerated instances.
Multi-PaaS and Multi-Cloud
The multi-PaaS concept has existed for a number of years; however, the idea is perhaps in a position to assume greater importance as organizations reorient their cloud strategies toward multi-cloud architectures.
In the early days of the cloud, when the services offered by public cloud providers were more basic and standardized, there was less value in deploying applications to multiple clouds at once. That has changed.
Today, one cloud provider might offer a service that is more cost-efficient or delivers better performance for one kind of application, while another cloud is better suited to a different application. Deploying instances of the same application to multiple clouds can also increase reliability.
For these reasons, organizations increasingly are adopting multi-cloud strategies, which might entail using a single PaaS to deploy to multiple clouds. A number of enterprise users of Cloud Foundry – which has been adopted by half of Fortune 500 companies – have recently expressed interest in deploying from Cloud Foundry to multiple public clouds, Marko said.
In short, if you've thought that the PaaS model allowed you to leverage just one platform at a time, or forced you to choose between deploying within the PaaS or to a public cloud, think again. A multi-PaaS architecture can make a lot of sense, especially as part of a broader multi-cloud strategy.