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”
JBoss Tools 4.5 and Red Hat JBoss Developer Studio 11.0 for Eclipse Oxygen are here waiting for you. Check it out!
Continue reading “Announcing Red Hat Developer Studio 11.0.0.GA and JBoss Tools 4.5.0.Final for Eclipse Oxygen”
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”
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:
- It’s a Release Candidate and the features I’ll show you are marked as Tech Preview, so use them for testing purpose ONLY!
- We cannot use Minishift just because there is no Minishift updated yet. Anyway, I’ll show how could use its base iso-image.
- 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)”
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”
I’m assuming you’ve already tried to run some example of a multi-container application. Let’s say we have an application composed of the following:
- Web service
- Key-value store
Continue reading “Configuring Containerized Services”
One question, which is often asked of me is “How do I quickly get new features into production?” This is the whole idea of microservices, to quickly move features into production. At this year’s Red Hat Summit, I spoke to this during my OpenShift Application Runtimes session, introducing it as an upcoming product.
Continue reading “OpenShift Application Runtimes”