Many traditional optimizations in the compiler work from a top-down approach, which starts at the beginning of the program and works toward the bottom. This allows the optimization to see the definition of something before any uses of it, which simplifies most evaluations. It’s also the natural way we process things. In this article, we’ll look at a different approach and a new project called Ranger, which attempts to turn this problem upside down.
Continue reading “An upside-down approach to GCC optimizations”
The Eclipse Cloud Development (ECD) project group started at the Eclipse Foundation in 2016 with Eclipse Che and Orion open source coding tools. Each year since has seen greater interest and new projects added, including Theia, CodeWind, Dirigible, Sprotty, and now Che4z. As the ECD has grown to become a center of open source cloud-native development tooling, user and vendor interest has also increased; users of Eclipse Cloud Development projects now number well over 500k, and several other vendors have joined Red Hat to push tooling forward in this critical market. This has been fantastic, as it has driven more contributions and collaboration from the community.
Continue reading Red Hat strengthens commitment to open source tooling, joins new working group
Red Hat Fuse is a leading integration platform, which is capable of solving any given problem with simple enterprise integration patterns (EIP). Over time, Red Hat Fuse has evolved to cater to a wide range of infrastructure needs.
For more information on each of these, check out the Red Hat Fuse documentation. The Fuse on Red Hat OpenShift flavor uses a Fuse image that has runtime components packaged inside a Linux container image. This article will discuss how to reduce the size of the Fuse image. The same principle can be used for other images.
Continue reading “How to reduce Red Hat Fuse image size”
My colleague and I recently had to stand up a Red Hat OpenShift 4 cluster for a customer to determine how difficult it would be for them to port their application. Although they could have achieved a similar outcome with CodeReady Containers, their local development machines did not have enough resources (8GB RAM minimum, which is one problem of developing on tablets).
To reduce the overhead of adding and removing users from the project during the trial, we decided to skip over the simple HTPasswd provider and use the OAuth provider backed by Auth0. We also wanted to publish our guide to make it easier for others to adopt a similar deployment.
Continue reading “How to configure Red Hat OpenShift 4 to use Auth0”
Back in May, we launched the Red Hat Universal Base Image (UBI), targeted at developers building containerized applications for the cloud. Since then, we have published an extensive FAQ covering topics ranging from how often UBI is updated, to how the end user license agreement (EULA) allows you to redistribute applications built on it. These are all great fundamental topics to cover, but people still seem to have a lot of questions around what UBI is and what it isn’t.
Continue reading What is Red Hat Universal Base Image?
Our first DevNation Live regional event was held in Bengaluru, India in July. This free technology event focused on open source innovations, with sessions presented by elite Red Hat technologists.
In this session, Kamesh Sampath provides an overview of Envoy and Istio, two open source projects that will change the way you write cloud-native Java applications on Kubernetes. We’ll show how to download and set up Istio on your local laptop, then deploy Java microservices as part of the Istio service mesh with Istio sidecar proxy.
Continue reading “DevNation Live Bengaluru: Sail into cloud — An introduction to Istio”
Kubernetes is becoming much more than just a platform for running container workloads. Its API can be extended with application-specific Custom Resource Definitions(CRDs), and you can implement your own logic adapting your applications dynamically to changes in the cluster. In this article, we’ll be writing a simple Kubernetes Operator in Java using the Fabric8 Kubernetes Client.
Continue reading “Write a simple Kubernetes Operator in Java using the Fabric8 Kubernetes Client”
The open source Operator Framework is a toolkit to manage Kubernetes-native applications. The framework and its features provide the ability to develop solutions to simplify some complexities, such as the process to install, configure, manage and package applications on Kubernetes and Red Hat OpenShift. It provides the ability to use a client to perform CRUD actions, that is, operations to create, read, update, and delete data on these platforms.
By using operators, it’s possible not only to provide all expected resources but also to manage them dynamically, programmatically, and at execution time. To illustrate this idea, imagine if someone accidentally changed a configuration or removed a resource by mistake; in this case, the operator could fix it without any human intervention. We’ll take a look at Operators and the Operator SDK in this article.
Continue reading “Getting started with Golang Operators by using Operator SDK”
In the following video, I demonstrate how to deploy Red Hat AMQ Streams (based on upstream Apache Kafka) on OpenShift 4.
I will also demonstrate how to use AMQ Streams in a basic way using Red Hat Fuse. There is a Camel route exposing a REST endpoint at
/goodbye, which—when hit—sends a “Goodbye World” message to the topic. There is also a timer sending “Hello World” messages periodically to the topic. A separate Camel route consumes from the topic and logs the messages for our visibility.
Continue reading “Deploy Red Hat AMQ Streams and Fuse on OpenShift Container Platform 4”