Microservices

Static analysis with KubeAudit for Red Hat OpenShift

Static analysis with KubeAudit for Red Hat OpenShift

In this article, we introduce a new utility for developers who want to ensure that their code transitions cleanly from upstream Kubernetes to Red Hat OpenShift. OpenShiftKubeAudit (KubeAudit) is a static analyzer that semantically checks a user’s code for known incompatibilities so you can fix them before bringing the code into OpenShift. KubeAudit is also simple to use and easy to extend.

Running an audit

This being the first release, KubeAudit currently offers only a handful of audits, but they’re easy to write. We’re looking for feedback and additional use cases from the community to help make the tool more comprehensive.

Continue reading “Static analysis with KubeAudit for Red Hat OpenShift”

Share
Install a signed certificate with Open Liberty 20.0.0.10’s Automatic Certificate Management Environment Support 2.0

Install a signed certificate with Open Liberty 20.0.0.10’s Automatic Certificate Management Environment Support 2.0

Red Hat Runtimes now supports the new Open Liberty 20.0.0.10 Java runtime. Open Liberty 20.0.0.10 features support for the Automatic Certificate Management Environment (ACME) protocol, which automates the process of obtaining a certificate signed by a certificate authority (CA). The Open Liberty 20.0.0.10 release also includes many bug fixes.

Continue reading Install a signed certificate with Open Liberty 20.0.0.10’s Automatic Certificate Management Environment Support 2.0

Share
Kubernetes: The evolution of distributed systems

Kubernetes: The evolution of distributed systems

DevNation Tech Talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions plus code and sample projects to help you get started. In this talk, you’ll learn about Kubernetes and distributed systems from Bilgin Ibryam and Burr Sutter.

Cloud-native applications of the future will consist of hybrid workloads: stateful applications, batch jobs, stateless microservices, and functions (plus maybe something else) wrapped as Linux containers and deployed via Kubernetes on any cloud. Functions and the so-called serverless computing model are the latest evolution of what started as service-oriented architecture years ago. But is this the last step of the application architecture evolution and is it here to stay?

Continue reading “Kubernetes: The evolution of distributed systems”

Share
Troubleshooting user task errors in Red Hat Process Automation Manager and Red Hat JBoss BPM Suite

Troubleshooting user task errors in Red Hat Process Automation Manager and Red Hat JBoss BPM Suite

I’ve been around Red Hat JBoss BPM Suite (jBPM) and Red Hat Process Automation Manager (RHPAM) for many years. Over that time, I’ve learned a lot about the lesser-known aspects of this business process management engine.

If you are like most people, you might believe that user tasks are trivial, and learning about their details is unnecessary. Then, one day, you will find yourself troubleshooting an error like this one:

User '[User:'admin']' was unable to execution operation 'Start' on task id 287271 due to a no 'current status' match.

Receiving one too many similar error messages led me to learn everything that I know about user tasks, and I have decided to share my experience.

User tasks are a vital part of any business process management engine, jBPM included. Their behavior is defined by the OASIS Web Services—Human Task Specification, which has been fully adopted by Business Process Model and Notation (BPMN) 2.0—the standard for business processes diagrams. The spec defines two exceptionally important things that I will discuss in this article: The user task lifecycle and task access control. Without further ado, let’s jump right in.

Note: These troubleshooting tips are applicable to Red Hat JBoss BPM Suite 6.2 and above and Red Hat Process Automation Manager 7.

Continue reading “Troubleshooting user task errors in Red Hat Process Automation Manager and Red Hat JBoss BPM Suite”

Share
Using OpenAPI with .NET Core

Using OpenAPI with .NET Core

In this article, we’ll look at using OpenAPI with .NET Core. OpenAPI is a specification for describing RESTful APIs. First, I’ll show you how to use OpenAPI to describe the APIs provided by an ASP.NET Core service. Then, we’ll use the API description to generate a strongly-typed client to use the web service with C#.

Writing OpenAPI descriptions

Developers use the OpenAPI specification to describe RESTful APIs. We can then use OpenAPI descriptions to generate a strongly-typed client library that is capable of accessing the APIs.

Note: Swagger is sometimes used synonymously with OpenAPI. It refers to a widely used toolset for working with the OpenAPI specification.

Continue reading “Using OpenAPI with .NET Core”

Share
Quarkus and Jakarta EE: Together, or not?

Quarkus and Jakarta EE: Together, or not?

In this article, I answer a question that I have seen asked on various forums: Will Quarkus be compatible with Jakarta EE? To understand our answer to that question, it is helpful to know the history of Quarkus and what we’re trying to achieve with it. So, please indulge me while I lay that groundwork.

A short history of Quarkus and Java EE

When Emmanuel Bernard, Jason Greene, Bob McWhirter, and I first discussed kicking off the ThornFly.x proof of concept, which would later become Quarkus, we had conversations about where Java EE (now Jakarta EE) would eventually fit. I think we all agreed that we already had the best open source implementation of Java EE in the form of WildFly and Red Hat JBoss Enterprise Application Platform (JBoss EAP). Creating yet another addition to this space seemed confusing at best. At worst, we feared that it would split our engineering and open source community efforts.

Continue reading “Quarkus and Jakarta EE: Together, or not?”

Share
Keeping Kubernetes secrets secret

Keeping Kubernetes secrets secret

DevNation Tech Talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions plus code and sample projects to help you get started. In this talk, you’ll learn how to manage Kubernetes secrets from Alex Soto Bueno and Burr Sutter.

Everyone is talking about microservices and serverless architecture, and how to deploy them using cluster managers like Kubernetes. But, what about the secrets (such as certificates, passwords, SSH, and API keys)? The current trend increases the number of secrets required to run our services. This fact places a new level of maintenance on our security teams.

Continue reading “Keeping Kubernetes secrets secret”

Share