For JBUG London on 2nd November we were delighted to welcome Niraj Patel, who came to talk to us about Polyglot Microservices through OpenShift. It promised to be a very interesting topic, and indeed it was; with a very thorough talk in the first half, followed by a comprehensive and working demo in the second.
Introduction to Containers
Niraj began the evening by talking us through some Container Platform essentials. The key features a container platform should have are:
- Provides the ability to interface with a multitude of languages and platforms.
- Able to manage, orchestrate, develop and deploy, based on standards
- Be secure
- Be scalable
We then moved on to talking about containers in more detail, including how views about containers can be slightly different. For example, the view you might have as a developer, will be different from the view of an infrastructure admin. Niraj also discussed Container Image Layering, which is where a container can be defined as the RHEL Base layer, the OS additions, the Java Runtime and the application. All these layers can be built together at runtime.
OpenShift Container Platform
Having detailed all the features of containers, Niraj then moved to how OpenShift comes to the rescue, with its capability for the challenges and benefits to be rolled up into one container platform. Walking us through the OpenShift architecture, Niraj introduced us to the concepts of nodes and pods, including the Master node.
OpenShift’s Master node controls:
- The APIs,
- Current / desired states
- The scheduler
- The health of nodes and pods
He also discussed how, with its operational aspects accessible through the web, CLI, IDE and API, OpenShift is a very easily utilised application platform. Failed pods, containers and nodes can be auto healed, and there is service discovery with internal load balancing.
For its pod orchestration, OpenShift uses docker and Kubernetes. It has an EFK stack (the F being Fluentd) for central log management, monitoring and metrics, and uses CloudForms for the operational management that can (for security purposes) scan images and provide insight on them.
Another benefit of OpenShift is that it can be deployed on all types of infrastructure, or hybrids of that infrastructure. This allows it to fit your infrastructure requirements with ease.
There is also a full CI/CD capability with OpenShift as it provides a pod for Jenkins as a service. This allows the image you use in your testing to be the same image you use in the CD environments and through to production.
We also learned more about something new that has recently been brought in to OpenShift; the RHOAR, or Red Hat OpenShift Application Runtimes. This provides a variety of application runtimes that assist in application development, which leads into the use of OpenShift for microservices frameworks and provides a platform for it.
[If you are looking for more information/guidance, it should be noted there are lots of reference architectures for OpenShift and many guides that can be worked through (see bottom of page).]
After concluding his presentation, Niraj opened the floor for questions. The JBUG audience posed a series of challenging and interested questions, many of which Niraj continued to answer in the short break. Once drinks were refreshed, we headed back in for Part 2.
To assist our understanding, we were all given a URL so we could follow along with the demo on our phones and take part! Using the Red Hat Cool Store application, Niraj demoed the features he had described in the presentation. We could easily see the scalability of pods, how the application could cope when one of its microservices died and how it could easily recover the situation.
It was an excellent talk and the demo really helped illustrate the features of OpenShift. Niraj had everyone enthused about the subject, and wanting to discuss it over the beer and pizzas that followed. A great night was had by all, and the feedback to the talk was excellent.
Yet again a great night at JBUG London. Thank you Niraj for your efforts and time.
If you would like to watch the full talk and demo from this JBUG meet-up, it is available to watch here.