Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Don't Repeat Yourself in the Cloud, Either: Deploying OpenShift Apps to a Second Instance

DZone's Guide to

Don't Repeat Yourself in the Cloud, Either: Deploying OpenShift Apps to a Second Instance

· Cloud Zone ·
Free Resource

See why enterprise app developers love Cloud Foundry. Download the 2018 User Survey for a snapshot of Cloud Foundry users’ deployments and productivity.

Recently burningTyger installed Moodle on OpenShift, RedHat's relatively young PaaS. (Moodle is an extremely successful, modular, open-source learning platform. I've used it in several instances before: it can do almost anything an online educator could hope for.) This took a little bit of doing, so burningTyger posted a HowTo on github.

Soon afterward, a friend wanted to use the same app on another OpenShift domain. Well, burningTyger could have sent the friend the app, but the developer's subconscious insisted firmly: DRY, Don't Repeat Yourself! which goes for OpenShift apps too, of course. (At a very basic level, DRY seems especially apropos -- if linguistically paradoxical -- of the cloud, insofar as scalability is encoded in the concept of the cloud itself.)

So burningTyger figured out a way to deploy an OpenShift app to another instance. This means: no repeating code, just repeating setup. Simple to start, simpler to maintain. The RedHat cloud remains calm, never threatening a version-control storm.

If you're a CloudShift user, thinking of deploying an app to multiple OpenShift instances, then read burningTyger's new HowTo and see the multiple-instance problem solved before your eyes.

Cloud Foundry saves app developers $100K and 10 weeks on average per development cycle. Download the 2018 User Survey for a snapshot of Cloud Foundry users’ deployments and productivity. Find out what people love about the industry standard cloud application platform.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}