Autoscaling Red Hat Fuse applications with OpenShift

Autoscaling Red Hat Fuse applications with OpenShift

In this article, we demonstrate Red Hat OpenShift’s horizontal autoscaling feature with Red Hat Fuse applications. The result is a Spring Boot-based application that uses the Apache Camel component twitter-search that searches Twitter for tweets based on specific keywords. If traffic or the number of tweets increases, and this application cannot serve all requests, then the application autoscales itself by increasing the number of pods. The ability to serve all requests is monitored by tracking this application’s CPU utilization on a particular pod. Also, as soon as traffic or CPU utilization is back to normal, the number of pods is reduced to the minimum configured value.

There are two types of scaling: horizontal and vertical. Horizontal scaling is where the number of application instances or containers is increased. Vertical scaling is where system resources like CPU and memory are increased at the running application’s or container’s runtime. Horizontal scaling can be used for stateless applications, whereas vertical scaling is more suitable for stateful applications.

Continue reading “Autoscaling Red Hat Fuse applications with OpenShift”

Share
Quarkus: Modernize “helloworld” JBoss EAP quickstart, Part 2

Quarkus: Modernize “helloworld” JBoss EAP quickstart, Part 2

In part one of this series, we took a detailed look at Red Hat JBoss Enterprise Application Platform (JBoss EAP) quickstarts helloworld quickstart as a starting point for understanding how to modernize a Java application using technologies (CDI and Servlet 3) supported in Quarkus. In this part, we’ll continue our discussion of modernization with a look at memory consumption.

Measuring performances is a fundamental topic when dealing with a modernization process, and memory consumption reporting is part of performance analysis. It’s worth starting with these tools from the very beginning so that they can be used to evaluate the improvements achieved during the modernization process.

Continue reading “Quarkus: Modernize “helloworld” JBoss EAP quickstart, Part 2″

Share
4 container usage takeaways from the 2019 Sysdig report

4 container usage takeaways from the 2019 Sysdig report

You probably already knew that most of the containers created by developers are disposable, but did you realize that half of them are only around for less than five minutes? That and other fascinating details are available in the latest annual container report from Sysdig, a container security and orchestration vendor.

This is the company’s third such report. The results are obtained from their own instrumentation collected from a five-day period last month of the more than 2 million containers used by their own customers. This means the results could be somewhat skewed toward more experienced container developers.

Continue reading “4 container usage takeaways from the 2019 Sysdig report”

Share
Support lifecycle for Clang/LLVM, Go, and Rust in Red Hat Enterprise Linux 8

Support lifecycle for Clang/LLVM, Go, and Rust in Red Hat Enterprise Linux 8

Red Hat Enterprise Linux (RHEL) 8.1.0 includes updates to our llvm-toolset, go-toolset, and rust-toolset application streams, which provide developers with up-to-date versions of these compiler toolchains. The upstream projects for these streams move very quickly with new feature releases every six months for LLVM and Go, and every six weeks (!) for Rust. The communities around these toolchains encourage users to users to always stay up-to-date with the latest releases, which is why we try to get new versions into Red Hat Enterprise Linux as quickly as we can.

From a support perspective, we will continue to support these application streams for the entire life of RHEL 8. We will provide new features and bug fixes within the stream by updating to newer upstream releases on a regular basis. For llvm-toolset and go-toolset, you can expect stream updates every six months, and for rust-toolset you can expect updates every three months.

Continue reading “Support lifecycle for Clang/LLVM, Go, and Rust in Red Hat Enterprise Linux 8”

Share
Quarkus: Modernize “helloworld” JBoss EAP quickstart, Part 1

Quarkus: Modernize “helloworld” JBoss EAP quickstart, Part 1

Quarkus is, in its own words, “Supersonic subatomic Java” and a “Kubernetes native Java stack tailored for GraalVM & OpenJDK HotSpot, crafted from the best of breed Java libraries and standards.” For the purpose of illustrating how to modernize an existing Java application to Quarkus, I will use the Red Hat JBoss Enterprise Application Platform (JBoss EAP) quickstarts helloworld quickstart as sample of a Java application builds using technologies (CDI and Servlet 3) supported in Quarkus.

It’s important to note that both Quarkus and JBoss EAP rely on providing developers with tools based—as much as possible—on standards. If your application is not already running on JBoss EAP, there’s no problem. You can migrate it from your current application server to JBoss EAP using the Red Hat Application Migration Toolkit. After that, the final and working modernized version of the code is available in the https://github.com/mrizzi/jboss-eap-quickstarts/tree/quarkus repository inside the helloworld module.

This article is based on the guides Quarkus provides, mainly Creating Your First Application and Building a Native Executable.

Continue reading “Quarkus: Modernize “helloworld” JBoss EAP quickstart, Part 1″

Share
Managing JBoss EAP/Wildfly using Jcliff

Managing JBoss EAP/Wildfly using Jcliff

Systems management can be a difficult task. Not only does one need to determine what the end state should be but, more importantly, how to ensure systems attain and remain at this state. Doing so in an automated fashion is just as critical, because there may be a large number of target instances. In regard to enterprise Java middleware application servers, these instances are typically configured using a set of XML based files. Although these files may be manually configured, most application servers have a command-line based tool or set of tools that abstracts the end user from having to worry about the underlying configuration. WebSphere Liberty includes a variety of tools to manage these resources, whereas JBoss contains the jboss-cli tool.

Although each tool accomplishes its utilitarian use case as it allows for proper server management, it does fail to adhere to one of the principles of automation and configuration management: idempotence. Ensuring the desired state does not equate to executing the same action with every iteration. Additional intelligence must be introduced. Along with idempotence, another core principle of configuration management is that values be expressed declaratively and stored in a version control system.

Jcliff is a Java-based utility that is built on top of the JBoss command-line interface and allows for the desired intent for the server configuration to be expressed declaratively, which in turn can be stored in a version control system. We’ll provide an overview of the Jcliff utility including inherent benefits, installation options, and several examples showcasing the use.

Continue reading “Managing JBoss EAP/Wildfly using Jcliff”

Share
OpenShift Developer experience feedback: Take the survey, join community sessions

OpenShift Developer experience feedback: Take the survey, join community sessions

We’ve recently added several feedback loops aimed at increasing customer and community involvement in order to better understand how developers create, build, manage, test, and deploy their applications on and for Red Hat OpenShift.

2019 OpenShift Developer Survey

This short survey is intended for Developers who interact with OpenShift in some form or someone who can represent them, such as manager or team lead.

Take the survey now (Survey ends November 23.)

Continue reading “OpenShift Developer experience feedback: Take the survey, join community sessions”

Share
Get hands-on experience with Kubernetes and Quarkus at DevNation Live in Austin

Get hands-on experience with Kubernetes and Quarkus at DevNation Live in Austin

Join us December 12, 2019 for this free, one-day, two-track event at the Hilton Austin with Red Hat experts.

The cloud is dramatically changing established development practices, and developers need expert training and hands-on experience to stay up to date.

Join Red Hat’s developer advocates (including Burr Sutter, Edson Yanaga, and Kamesth Sampath) in Austin, Texas for a day of technical sessions, conversation, and hands-on workshops focused on Kubernetes development and Java microservices. Whether you are a Java developer or work in Node.js, C#, Ruby, or Python, you will gain a strong understanding of how to use modern architecture, new patterns, and DevOps to make the most of your work in the cloud.

Register now

Continue reading “Get hands-on experience with Kubernetes and Quarkus at DevNation Live in Austin”

Share
How to customize the Red Hat OpenShift 3.11 SDN

How to customize the Red Hat OpenShift 3.11 SDN

In this article, I’ll highlight a practical case for customizing the Red Hat OpenShift software-defined network (SDN). To achieve this, I will identify the OpenShift-Ansible inventory parameters that configure different aspects of the OpenShift SDN, specifically the cluster, portal, and docker networks.

Why customize the SDN?

An important question I am often asked is: Why do you need to customize the SDN? Isn’t it completely internal? Users generally assume there is no need to customize the SDN because OpenShift’s SDN has no impact on networks outside the OpenShift cluster; therefore, IP conflicts should not be a concern. However, this is not always the case.

Continue reading “How to customize the Red Hat OpenShift 3.11 SDN”

Share