Cross-cloud access with Red Hat Openshift on IBM Cloud.
Many developers worry about being locked into a cloud vendor. All of your products may be hosted in a cloud environment, and then when the structure or otherwise changes, the cloud no longer meets your needs.
For developers working with cloud products, migrating workloads between Kubernetes vendors is required. But how feasible is it? How can you easily move applications to and from a cloud platform like IBM Cloud? I wanted to be able to find out about portability, so I set out to find out.
I've found that with Red Hat OpenShift you can use other cloud vendors and port applications to these new providers in a much simpler way than I expected. I started with a sample healthcare application on Red Hat OpenShift on IBM Cloud and moved to three different clouds: Rackspace, OpenShift Online, and ScaleGrid.
Try IBM Cloud for free
Build your next application quickly and easily with IBM Cloud Lite. Your free account never expires, and you get 256 MB of Cloud Foundry runtime memory and 2 GB of storage with a Kubernetes cluster. Learn all the details and decide how to get started. First I needed an application to try it out, so I chose a code pattern: the example health use case. Example Health, as the name suggests, is a sample application for a fictitious healthcare and insurance company. This example use case consists of three main parts: the user interface (UI), the J**A main app itself, and the data source. The following diagram shows the full version of the application set up on IBM Cloud:
To demonstrate portability, I extracted the business logic part of the example health code pattern and installed it on another cloud platform I'm using Red Hat OpenShift Online. (You can get a one-month trial here). Just like many other applications, the example health code pattern also requires a data source. Initially, I connect to an existing instance of a MySQL database, I copy the database to the managed service ScaleGrid (again using the free trial version), and point the application to the service.
The final task was to set up the patient UI on another OpenShift provider, this time with Red Hat OpenShift on IBM Cloud. Once the UI is deployed, I can connect it to the rest of the application, resulting in something like this:
The best folks in my organization have created the Example Health app to showcase a variety of techniques and practices. One of the main features we hope to demonstrate with example health is the ability to dynamically switch data sources. When you first open the patient UI for this application, by default it uses a cookie-cutter response, but you can integrate it with the Z OS database via API Connect or J**A Liberty on Openshift, as shown in the previous section. To specify any response, check it in the UIsettingstabs:
Switching between backends can demonstrate the architecture shown in the following diagram:
These examples demonstrate how to fully migrate a sample application to and from IBM Cloud. Example Health also has some other user interfaces. You can imagine what would be achieved by placing either of these interfaces on any other cloud....