Building Container-Native Node.js Applications with Red Hat OpenShift Application Runtimes and Istio

For developers working on a Kubernetes-based application environment such as Red Hat OpenShift, there are a number things that need to be considered to fully take advantage of the significant benefits provided by these technologies, including:

  • How do I communicate with the orchestration layer to indicate the application is operating correctly and is available to receive traffic?
  • What happens if the application detects a system fault, and how does the application relay this to the orchestration layer?
  • How can I accurately trace traffic flow between my applications in order to identify potential bottlenecks?
  • What tools can I use to easily deploy my updated application as part of my standard toolchain?
  • What happens if I introduce a network fault between my services, and how do I test this scenario?

These questions are central to building container-native solutions. At Red Hat, we define container-native as applications that conform to the following key tenets:

  • DevOps automation
  • Single concern principle
  • Service discovery
  • High observability
  • Lifecycle conformance
  • Runtime confinement
  • Process disposability
  • Image immutability

This may seem like a lot of overhead on top of the core application logic. Red Hat OpenShift Application Runtimes (RHOAR) and Istio provide developers with tools to adhere to these principles with minimal overhead in terms of coding and implementation.

In this blog post, we’re specifically focusing on how RHOAR and Istio combine to provide tools for DevOps automation, lifecycle conformance, high observability, and runtime confinement.

Continue reading “Building Container-Native Node.js Applications with Red Hat OpenShift Application Runtimes and Istio”

Share

How to Debug Your Node.js Application on OpenShift with Chrome DevTools

Recently, I wrote a post called Zero to Express on OpenShift in Three Commands, which shows how to get started using Node.js, Express, and OpenShift together as fast as possible using the Node.js s2i (source-to-image) images that were recently released as part of Red Hat OpenShift Application Runtimes (RHOAR).

This post will add to the last one and show how we can start to debug and inspect our running code using the Chrome Developer Tools (DevTools) inspector.

Continue reading “How to Debug Your Node.js Application on OpenShift with Chrome DevTools”

Share

Istio Egress: Exit Through the Gift Shop

Using Istio with Red Hat OpenShift and Kubernetes makes life with microservices easier. Tucked away inside of Kubernetes pods, using the Istio service mesh, your code can run (mostly) in isolation. Performance, ease-of-changes, tracing, and so on are made available by simply using the Istio sidecar container model. But what if you want your microservice to talk to another service that is outside of your OpenShift/Kubernetes/pods environment?

Enter Istio Egress.

[This is part nine of my ten-part Introduction to Istio series. My previous article was Part 8: Istio Smart Canary Launch: Easing into Production.]

Continue reading “Istio Egress: Exit Through the Gift Shop”

Share

Next DevNation Live: Enterprise Node.js on OpenShift, April 19th, 12 p.m. EDT

The next online DevNation Live Tech Talk is Thursday, April 19th at 12pm EDT. The topic is “Enterprise Node.js on Red Hat OpenShift” presented by Lance Ball, and hosted by Burr Sutter. The popularity of JavaScript on the front end and the JSON format for data has led to a “JavaScript Everywhere” movement with Node.js at the center. Node.js offers developers an event-driven, non-blocking I/O model that is perfect for high concurrency, low-latency applications that run across distributed devices. Its reactive architecture makes it an ideal technology for containerized microservices architectures you’ve been hearing so much about.

What does this mean for your enterprise? Where does it fit, and how can Red Hat OpenShift Application Runtimes help you use this technology?

Join this session for the answers. We’ll also demonstrate how quickly you can set up non-trivial enterprise-grade Node.js applications on Red Hat OpenShift Container Platform. We’ll explore how to integrate with other open source technologies, such as Istio, and discuss strategies for your Node.js development and deployment pipeline, including canary and blue/green deployment strategies.

Register now and join the live presentation at 12 p.m. EDT, Thursday, April 19th. 

Session Agenda

Continue reading “Next DevNation Live: Enterprise Node.js on OpenShift, April 19th, 12 p.m. EDT”

Share

Integrating Intercede RapID with Red Hat Mobile and OpenShift

At Red Hat Mobile we understand the need for a flexible product that enables our customers to integrate with the tools they need to build their current and future applications. Our position as a leading contributor to the Kubernetes project ensures that the Red Hat OpenShift Container Platform offers this tremendous flexibility to customers and end users.

Red Hat Mobile also supports highly flexible integrations to a range of 3rd party services and products. In this article, we’ll demonstrate how Red Hat Mobile v4 and OpenShift v3 enable customers to rapidly deploy and secure their mobile applications by integrating with a third party product provided by Intercede. We’ll be using Intercede’s RapID product to enable two-way TLS (often referred to as Client Certificate Authentication or CCA) for our mobile application.

Continue reading “Integrating Intercede RapID with Red Hat Mobile and OpenShift”

Share

Announcing: Node.js General Availability in Red Hat OpenShift Application Runtimes

Node.js Foundation Logo

Summary

Today Red Hat is making Node.js generally available to Red Hat customers through a subscription to Red Hat OpenShift Application Runtimes (RHOAR). RHOAR provides application developers with a variety of application runtimes running on the OpenShift Container Platform.

Node.js is based on the V8 JavaScript engine and allows you to write server-side JavaScript applications. Node.js joins the existing set of supported runtimes and offers developers an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Continue reading “Announcing: Node.js General Availability in Red Hat OpenShift Application Runtimes”

Share

Whisking Functions with Promises using OpenWhisk

Over the past few weeks I have been learning and enhancing my skills around the new buzz word “serverless” and trying to understand what this buzz is all about.  As an ardent open-source developer, I was looking for a platform where I can develop and deploy the serverless functions, which is when I stumbled upon Apache OpenWhisk.

In this blog I will demonstrate how to build a simple nodejs function that can do reverse geocoding using Google Maps API, and how to deploy the functions on to Apache OpenWhisk.

The context is to show building an Apache OpenWhisk JavaScript action, which involves a callback.  As most of us are familiar with Google Maps API (which has lots of callbacks), it provides a good example for this blog.

Continue reading “Whisking Functions with Promises using OpenWhisk”

Share