Executive Summary

  • Red Hat OpenShift Application Runtimes is now in public beta, meaning you can try it!
  • Red Hat OpenShift Application Runtimes includes a collection of supported application runtimes.
  • Each runtime is designed to simplify cloud-native development by using Red Hat OpenShift capabilities in a manner natural to the language runtime.
  • Try it! Go to developers.redhat.com/rhoar. Choose an example and runtime, and watch it get forked to your github account and deployed to OpenShift. Feedback welcome on StackOverflow.

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:

  • JBoss Enterprise Application Platform. Market leading open source Java EE platform - Ideal for containerizing Java EE applications on OpenShift and optionally to continue developing standards-based multi-tier applications and services , taking advantage of existing Java EE expertise and existing investments.
  • WildFly Swarm. Combines a subset of Java EE technologies and MicroProfile technologies to rightsize cloud-native applications on OpenShift. This enables enterprise Java developers to leverage their existing expertise, easily target Kubernetes and OpenShift, and accelerate the path to microservices.
  • Eclipse Vert.x. Create asynchronous, reactive applications for the JVM. Vert.x is great for applications that require high concurrency and low latency.
  • Spring Boot. Red Hat OpenShift Application Runtimes tests and verifies that Spring Boot runs well on OpenShift. Red Hat supports the JWS Embedded Tomcat container for use with Spring Boot applications.
  • Node.js. Node.js enables developers to create reactive, event-driven, and non-blocking server-side javascript applications.

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!