Over a million developers have joined DZone.

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

· Cloud Zone

Download the Essential Cloud Buyer’s Guide to learn important factors to consider before selecting a provider as well as buying criteria to help you make the best decision for your infrastructure needs, brought to you in partnership with Internap.

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.

The Cloud Zone is brought to you in partnership with Internap. Read Bare-Metal Cloud 101 to learn about bare-metal cloud and how it has emerged as a way to complement virtualized services.


The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}