That app you love, part 2: Immutable but flexible – What settings matter?

Welcome to the second installment of That App You Love, a blog series in which I show you how to you can make almost any app into a first-class cloud citizen. If you want to start from the beginning, jump back and check out Part 1: Making a connection.

In our last post, we met my ZNC container, good ol’ znc-cluster-app – but don’t fret about ZNC because we’re really talking about That App You Love – whatever it happens to be. You may recall that we got ZNC up and running using two commands – docker pull and docker run. And in a world where your local system happens to be a cloud computing environment, and containers never crash, you are good to go.

But we don’t live in that world, and neither does That App You Love. So we’ve got some work to do. For starters, we need to understand what is safe to “bake into” our image, versus what we should be able to adjust when the container is actually running.

Continue reading “That app you love, part 2: Immutable but flexible – What settings matter?”

Migration of Red Hat Enterprise Linux 5 or 6 to Red Hat Enterprise Linux 7 with the Preupgrade Assistant

This article describes how an administrator can migrate Red Hat Enterprise Linux 5 or Red Hat Enterprise Linux 6 to Red Hat Enterprise Linux 7 with the help of the Preupgrade Assistant. The Preupgrade Assistant is a tool which assesses your running system for anything that might adversely affect the success of your migration.

As Red Hat Enterprise Linux 5 will have only extended update support after March 2017, administrators will find a tool like that useful to help them migrate their systems to Red Hat Enterprise Linux 7. The migration from Red Hat Enterprise Linux 5 to Red Hat Enterprise Linux 6 is not covered by the Preupgrade Assistant, nor is it planned.

Note: The Preupgrade Assistant can also be used for the in-place upgrade from Red Hat Enterprise Linux 6 to Red Hat Enterprise Linux 7 but this is out of scope of this article. The in-place upgrade from Red Hat Enterprise Linux 5 to Red Hat Enterprise Linux 7 is neither supported nor planned.

Continue reading “Migration of Red Hat Enterprise Linux 5 or 6 to Red Hat Enterprise Linux 7 with the Preupgrade Assistant”

Video: Monitoring application events in Thermostat, using Byteman

Thermostat is Red Hat’s Monitoring and management tool for Java Deployments, allowing users to measure and monitor a host of different performance aspects of their Java applications. Available metrics range from raw CPU and memory usage to operation of the Garbage Collector and Compiler through to thread activity and method call/heap profiles. Thermostat provides a GUI view of activity of local and distributed JVMs in real time and it also backs up all the metrics it obtains to a persistent store so they can be reviewed offline.

What Thermostat cannot do on its own is track events and record statistics that are specific to a given Java application, at least not unless the application co-operates with it, for example by publishing JMX statistics that Thermostat can read, persist and display in its GUI. However, that’s about to change thanks to work Red  Hat’s OpenJDK team has been doing to integrate Byteman into Thermostat.

Byteman is a tool which can be used to modify the behaviour of Java programs by injecting extra Java code almost anywhere in the program. You don’t need to recompile your program or even prepare it in advance in order for this to work. You can specify changes to the program on the command line but, what is more amazing, you can actually use Byteman to change the way a program runs after startup while it is still running.

Continue reading “Video: Monitoring application events in Thermostat, using Byteman”


That app you love, part 1: Making a connection

I am going to show you how I took an everyday, off-the-shelf application and turned it into a cluster-ready juggernaut of persistent usefulness. Along the way, I’ll share the pitfalls that I hit in getting this all working so that you can chuckle at my misfortune and avoid having to make the same mistakes yourself.

This series will run every Tuesday and Thursday until we’ve accomplished our goals, so stay tuned in, subscribe, and thanks for reading!

Meet “That App You Love”

For this series, the app we’ll be deploying is the popular ZNC IRC bouncer. If your eyes have rolled back into your head at any part of that – “ZNC”, or “IRC” (or maybe “popular” if you are pretty sure IRC is not popular) – don’t let it turn you off to this tutorial. This series is called “That App You Love” because you can take these ideas and apply them to any number of applications to make them available in the cloud. I chose ZNC because:

  • I do, actually, love it (in a strictly platonic way)
  • Configuring it is extremely simple, which makes for a great sample application.
  • A ZNC deployment touches every important concept of containerization and the OpenShift Container Platform in one app.

So every time I say “ZNC”, just mentally switch it to “That App You Love”. As long as that app you love can run from a linux container on a Linux-based host, I think this blog series can be That Blog Series You Love. But hey, one step at a time, right?

Continue reading “That app you love, part 1: Making a connection”

Logging in Open vSwitch

Open vSwitch (OVS) is a virtual switch used in production from small to large scale deployments. It is designed to provide network automation along with support for a number of management interfaces and protocols.

However, the developer or the administrator might need to understand more of what is going on under the hoods and OVS does a good job providing a very good logging facility which is the subject of this article.

Editor’s note: Red Hat Knowledgebase – “What Red Hat products provide support for Open vSwitch?

Continue reading “Logging in Open vSwitch”

Survey: What do you care about internationalization and localization, anyway?

According to a survey conducted by Common Sense Advisory on 351 enterprise software buyers in Brazil, Russia, Japan, China, Sweden Germany France and Spain, respondents feel that 33 to 69% of this user cohort lack the language skills to use English-language software.


Then “desirability” indexes of combined factors of localized software, translated information, in-language technical support range from four out five in Sweden to nearly everyone in Germany, Russia and Spain to all buyers in Brazil, China, France and Japan. See Table 1 above.

So, localization matters. On how to achieve it to get your application translated or localized, there are multiple software internationalization practices exist, ranging from primitive way of using arrays and database to store the locale and translations, to utilizing mature libraries such as gettext, resourcebundle, ICU(International Components of Unicode) which handle date and time formats, numeric format, currency symbols, native text collation and translation management more efficiently.

Continue reading “Survey: What do you care about internationalization and localization, anyway?”