Contents

PaaS Cloud

Platform as a service (PaaS[1]) is a kind of cloud computing service that provides a computing platform and a solution stack as a service. Instead of hosting and maintaining server by themselves, many companies start to take advantage of PaaS services as the offerings are extensive and includes the whole cycle of application hosting, development, testing, and deployment environment, along with a complete options of integrated services that consist of scalability, maintenance, and more. Here we will introduce how to deploy ZK applications on two popular PaaS platforms - Heroku and OpenShift Express.

Heroku

Heroku[2], owned by Salesforce.com currently supports six languages: Ruby, Java, Node.js, Scala, Clojure and Python cloud PaaS. It also provides a lot of add-ons, such as Heroku Scheduler, ClearDB MySQL Database, NoSql related database, and so on.

Deploying ZK Apps to Heroku & OpenShift Express

Traditionally the "standard way" to deploy an application to a cloud, is to package a war file and then upload it to the cloud. Whenever there is a change, we will have to update the war file locally again, and then re-upload the file.
Heroku and OpenShift, however, both integrated Maven and GitHub, offering the ability to remotely control source code versions. Users can build and manage their projects using Maven, and push their source code to the cloud service via GitHub and build the project on cloud automatically.

The flow chart is as simple as follows:

Even though both Heroku and OpenShift supports Maven and Git for ease of deployment and maintenance, there are some differences in the usage and supported platforms. The brief steps for running ZK on Heroku and OpenShift are as will be explained in the next section:

From the table above you can find that both of them allow simple Maven + Git approach but each platform supports a different set of containers and databases.

Conclusion

The process of deploying ZK Sandbox to either Heruko and OpenShift requires little effort with a very shallow learning curve with satisfying resulting performance; I managed to complete the whole procedure in less than 1.5 hours for each platform even with my first attempt. To access ZK Sandbox deployed on Heroku and OpenShift, please visit ZK Sandbox on Heroku and ZK Sandbox on OpenShift.

Whether to use Heroku or OpenShift or a different PaaS solution depends on your needs and preferences but these options are available and surely benefits in enabling application developers to focus more on the project itself rather than worrying about deployment issues.