Kubernetes installations can be complex with multiple runtime dependencies and runtime engines. CRI-O was created to provide a lightweight runtime for Kubernetes which adds an abstraction layer between the cluster and the runtime that allows for various OCI runtime technologies. However you still have the problem of depending on daemon(s) in your cluster for builds – I.e. if you are using the cluster for builds you still need a Docker daemon.
Enter Buildah. Buildah allows you to have a Kubernetes cluster without any Docker daemon for both runtime and builds. Excellent. But what if things go wrong? What if you want to do troubleshooting or debugging of containers in your cluster? Buildah isn’t really built for that, what you need is a client tool for working with containers and the one that comes to mind is Docker CLI – but then you’re back to using the daemon.
This is where Podman steps in. Podman allows you to do all of the Docker commands without the daemon dependency. To see examples of Podman replacing the
docker command, see Alessandro Arrichiello’s Intro to Podman and Doug Tidwell’s Podman—The next generation of Linux container tools.
Continue reading “Containers without daemons: Podman and Buildah available in RHEL 7.6 and RHEL 8 Beta”
On the heels of our recently announcement, General Availability of Clang/LLVM 6.0, Go 1.10, and Rust 1.29, I want to share how we’ll be supporting them going forward. Previously, these packages had been in “Technology Preview” status, which means that they were provided for “you to test functionality and provide feedback during the development process”, and were “not fully supported under Red Hat Subscription Level Agreements, may not be functionally complete, and are not intended for production use”.
So now that we’ve promoted them to fully supported status, what does that mean? In the simplest terms, General Availability (GA) means that these packages have officially entered the “Full Support Phase” of their lifecycle:
Continue reading “Support Lifecycle for Clang/LLVM, Go, and Rust”
It’s been some time since I last talked with you about business logic engines and using them in application development cloud architectures. At that time, I showcased running JBoss BRMS in a container on Red Hat OpenShift. This gives you the cloud experience, one that’s portable across private and public clouds, but on your own local laptop using Red Hat Container Development Kit.
The world continues to move forward, a new product has been released which replaced JBoss BRMS with the Red Hat Decision Manager, so now I want to provide a way for you to install this on OpenShift, in the same easy to use demo format.
Continue reading “Quickly try Red Hat Decision Manager in your Cloud”
The Red Hat Training team is pleased to announce the release of Fundamentals of Java EE Development. This free training is hosted by our partner edX. edX is an open online course provider that now hosts three Red Hat courses, including Fundamentals of Red Hat Enterprise Linux and Fundamentals of Containers, Kubernetes, and Red Hat OpenShift.
Enterprise Java (Java EE is now known as Jakarta EE) is one of the most in-demand and marketable programming platforms. With Fundamentals of Java EE Development, students learn the foundational skills needed to develop modern applications. Serving as an introduction to enterprise Java development using Red Hat Developer Studio and Red Hat JBoss Enterprise Application Platform, this course builds on students’ Java SE skills to teach the basic concepts behind more advanced topics such as microservices and cloud-native applications.
Continue reading “Free Online Java EE Development Course From Red Hat Available Now”
When you write a program, you have to test it. Run, program, run! Did it do what you expected? Yay! Maybe you’ll even set up a testsuite to run it many times, just to be sure. You might even create some sample files for it to work with.
Continue reading Microcontainers for Unit Testing
With the introduction of Red Hat Enterprise Linux 8 (RHEL 8) we have tried to greatly simplify the layout of the content available in Red Hat Enterprise Linux. The main repository, BaseOS, provides the parts of the distribution that give you a running userspace on physical hardware, a virtual machine, a cloud instance or a container. The Application Stream (AppStream) repository provides all the applications you might want to run in a given userspace. The Supplemental repository provides other software that has special licensing. The CodeReady Linux Builder provides mostly build time components for developers (see Introducing CodeReady Linux Builder).
As a result, most RHEL 8 systems will only need two repositories enabled. However, this may lead to the the question, where do I find alternate versions of software if there is only 1 application repository? In prior versions, you would look to the RHSCL or Extras repositories. However, in RHEL 8, through a new technology called Modularity, we can offer those alternate versions in the same physical repository.
Continue reading “Introducing Application Streams in RHEL 8”
Red Hat Enterprise Linux 8 Beta is here!
And it’s been built with production stability and development agility in mind.
There’s so much to say about RHEL 8 Beta, but I want to focus on just a few points from the corporate announcement that highlight Red Hat Enterprise Linux 8 Beta as a developer platform that:
- Simplifies application development – with less setup and config effort, you can more quickly get to writing code
- Is the easiest RHEL yet for developers that are new to Linux
- Is for traditional and cloud/container applications with many new tools for both
- Already delivers dozens of tools to build and test applications
Now let’s zoom in on what these mean.
“Too slow, too fast”
We’ve gotten this feedback a lot when discussing availability and support of development packages. To address this dichotomy, Red Hat Enterprise Linux 8 Beta has built in the concept of Application Streams to deliver userspace packages (programming languages, compilers, databases, etc.) more simply and with greater flexibility – this addresses the “too slow”. For the “too fast” requirement, there are also “Core” components that have the same lifecycle as the operating system – 10 years. Users will often have a version in each grouping. Application Streams – think of them as “son of Software Collections” – are a simpler way to deliver this modularity with improved installation, use, and re-use
Continue reading “Red Hat Enterprise Linux 8 Beta is here!”
The RHEL8 Beta introduces a new repository, the CodeReady Linux Builder (or “Builder” for short) that developers may need while developing applications for RHEL. As you all know “developer” is not a one size fits all term. As a result, I am taking this opportunity to try to explain when you might need Builder enabled for your development activities.
Continue reading Introducing CodeReady Linux Builder
Ten years ago, the developers of the Python programming language decided to clean things up and release a backwards-incompatible version, Python 3. They initially underestimated the impact of the changes, and the popularity of the language. Still, in the last decade, the vast majority of community projects has migrated to the new version, and major projects are now dropping support for Python 2.
In Red Hat Enterprise Linux 8, Python 3.6 is the default. But Python 2 remains available in RHEL 8.
Using Python in RHEL 8
To install Python, type
yum install python3.
To run Python, type
If that doesn’t work for you, or you need more details, read on!
Continue reading “Python in RHEL 8”
I am pleased to announce that my upcoming book “Vert.x in Action: Asynchronous and Reactive Applications in Java” is now available from the Manning early-access program (MEAP): (See below for the exclusive Red Hat Developer discount code)
As enterprise applications become larger and more distributed, new architectural approaches like reactive designs, microservices, and event streams are required knowledge. The Eclipse Vert.x framework provides a mature, rock-solid toolkit for building reactive applications using Java, Kotlin, or Scala. Vert.x in Action teaches you to build responsive, resilient, and scalable JVM applications with Vert.x using well-established reactive design patterns.
Vert.x in Action teaches you to build highly-scalable reactive enterprise applications. In this practical developer’s guide, Vert.x expert Julien Ponge gets you up to speed in the basics of asynchronous programming as you learn to design and code reactive applications. Using the Vert.x asynchronous APIs, you’ll build services including web stack, messaging, authentication, and access control. You’ll also dive into deployment of container-native components with Docker, Kubernetes, and OpenShift. Along the way, you’ll check your app’s health and learn to test its resilience to external service failures.
Continue reading “Upcoming Book: Vert.x in Action (MEAP)”