In Depth

Organizations are deploying their architects to evaluate the pieces of cloud-native applications like cloud environments, language runtimes, a collection of infrastructure services to make cloud-native applications possible. They are accelerating these initiatives in order to more quickly react to the needs of the business. Sometimes this need is to fend off a competitor’s advance or perhaps to proactively disrupt one’s own industry. As the architect’s decision nears, one thing becomes very clear – how can they enable the developers within their organization to adopt the decisions that have been made? How can the developers that are the engine of business differentiation become productive as quickly as possible? The simpler the solution, the more quickly engineers become productive and the more positive impact to the business.

This is where Red Hat OpenShift Application Runtimes comes in. Red Hat OpenShift Application Runtimes is a collection of supported application runtimes that make use of the capabilities within OpenShift/Kubernetes and Red Hat JBoss Middleware to lower the bar to adoption of cloud-native applications. Whether through the internal adoption of multiple application runtimes or through acquisition, the result is that a single application runtime is not the best fit for all business requirements. Red Hat OpenShift Application Runtimes Beta is designed to directly address this fact by including the following application runtimes:

Red Hat OpenShift Application Runtimes goes a step further by lowering the barrier to developing cloud-native applications by integrating OpenShift capabilities with the programming model of each runtime. By using the capabilities of OpenShift, services that are required to support a microservices architecture no longer have to be managed independently. In addition, application logic is greatly simplified by using services that already exist. Some notable examples provided by OpenShift and Kubernetes include:

Service discovery. OpenShift includes a DNS service that makes service registration and lookup a natural experience. Service instances are automatically registered and de-registered with DNS as they are added or removed from an OpenShift cluster.

Scale up, scale down. Service instances are added and removed from an OpenShift cluster as they scale up/down to meet demand. Red Hat OpenShift Application Runtimes do not have special tooling to manage service lifecycle. Red Hat OpenShift Application Runtimes uses common OpenShift tools (console, CLI) to scale services.

Server-side load balancing. When a service is scaled beyond a single instance, OpenShift automatically load balances requests across multiple service instances automatically. A service simply makes a request of a load-balanced service located via DNS, and OpenShift automatically selects an instance to handle the request. Services developed with Red Hat OpenShift Application Runtimes runtimes rely on server-side load balancing provided by OpenShift, simplifying application logic.

Externalized configuration. Red Hat OpenShift Application Runtimes use Kubernetes ConfigMaps as a means to decouple a service from its configuration.

To quickly experience examples running on OpenShift, go to developers.redhat.com/rhoar and have them up-and-running in your own OpenShift Online account. Simply follow the steps in the wizard and you’ll be up-and-running. Make changes to the examples using your favorite IDE and re-deploy to OpenShift.

We would love to get your feedback on StackOverflow using the redhat-rhoar tag!