Troubleshooting Java applications on OpenShift

What is it about?

OpenShift has seen a lot of traction with the release of its third version based on Kubernetes a couple of years ago. More and more companies after a thorough evaluation of OpenShift Container Platform (OCP) have built an on-premise or in the cloud PaaS. With the next step, they have started to run their applications on OCP. One of the important aspects of running applications in production is the capacity of quickly restoring services to the normal service level after an incident followed by the identification and the resolution of the underlying problem. In this respect, I want to present in this blog a few approaches for troubleshooting Java applications running on OpenShift. Similar approaches can be taken with other languages.

Debugging applications during development phase can be done thanks to features like:

  • Debug mode for resolving issues during startup.
  • Port forwarding for connecting an IDE like JBDS to an application running in a remote container and debugging it with breakpoints and object inspection.

This has been presented in blogs like here and here.

In this blog, on the contrary, I want to focus on troubleshooting applications in production and to cover things like capturing heap and thread dumps, resource consumption per thread. These are techniques that have more than once been helpful in the past for resolving deadlocks, memory leaks or performance degradation due to excessive garbage collection for instance.

Let’s get into the heart of the matter!

Continue reading “Troubleshooting Java applications on OpenShift”

Share

TDC Sao Paulo 2017 and containers quality tests

I attended The Developers Conference 2017 in Sao Paulo, one of the most important developers conference in Brazil, between July 18 to July 22nd. This was the 11th edition of the event (the event started in 2007 and they also had Burr Sutter and Edson Yanaga as keynote speakers) with 5 days of events and 50+ tracks, ranging from Programming Languages like Java, Python, and others until Big Data, Machine Learning, and Internet of Things. The audience only increases year over year (we expect more than 5000 attendees). I had the chance to help the Red Hat Developers team in the booth, where we launched a campaign to register new users in the Red Hat Developers and presented about the work my team did in the past 2 years.

Continue reading “TDC Sao Paulo 2017 and containers quality tests”

Share

OpenShift 3.6 – Release Candidate (A Hands-On)

Hi, Everybody!

Today I want to introduce you to some features of OpenShift 3.6 while giving you the chance to have a hands-on experience with the Release Candidate.

First of all:

  1. It’s a Release Candidate and the features I’ll show you are marked as Tech Preview, so use them for testing purpose ONLY!
  2. We cannot use Minishift just because there is no Minishift updated yet. Anyway, I’ll show how could use its base iso-image.
  3. I don’t want to use ‘oc cluster up’ in a virtual machine just because setting up a virtual machine, to run it, would be a waste of time.

Continue reading “OpenShift 3.6 – Release Candidate (A Hands-On)”

Share

6 Reasons why I started using containers

I’ve been using containers for nearly 3 years, initially working in the Technical Support team helping customers solve problems in their applications and giving advice about best practices to run containers. Today I work on a team where we develop containers to use in our OpenShift environment, and because of my Technical Support background, my troubleshooting skills helped me in this task. I run containers for most of my tasks and it makes my life easier. I can run any software on containers, whether for evaluation or even use in my websites. Let’s face the fact: containers are becoming more common across the companies. Google can spin up thousands of containers a day in their data centers without downtime, Netflix launches more than 1 million containers a week and many other companies, whether small or large, use containers in production to achieve a new level of scalability. Having this in mind, I’d like to list 6 main reasons why I started to use containers.

Continue reading “6 Reasons why I started using containers”

Share