A Practical Introduction to Container Terminology

You might think containers seem like a pretty straightforward concept, so why do I need to read about container terminology? In my work as a container technology evangelist, I’ve encountered misuse of container terminology that causes people to stumble on the road to mastering containers. Terms like containers and images are used interchangeably, but there are important conceptual differences. In the world of containers, repository has a different meaning than what you’d expect. Additionally, the landscape for container technologies is larger than just docker. Without a good handle on the terminology, It can be difficult to grasp the key differences between docker and (pick your favorites, CRI-O, rkt, lxc/lxd) or understand what the Open Container Initiative is doing to standardize container technology.

Background

It is deceptively simple to get started with Linux Containers. It takes only a few minutes to install a container engine like docker and run your first commands. Within another few minutes, you are building your first container image and sharing it. Next, you begin the familiar process of architecting a production-like container environment, and have the epiphany that it’s necessary to understand a lot of terminology and technology behind the scenes. Worse, many of the following terms are used interchangeably… often causing quite a bit of confusion for newcomers.

  • Container
  • Image
  • Container Image
  • Image Layer
  • Registry
  • Repository
  • Tag
  • Base Image
  • Platform Image
  • Layer

Understanding the terminology laid out in this technical dictionary will provide you a deeper understanding of the underlying technologies. This will help you and your teams speak the same language and also provide insight into how to better architect your container environment for the goals you have. As an industry and wider community, this deeper understanding will enable us to build new architectures and solutions. Note, this technical dictionary assumes that the reader already has an understanding of how to run containers. If you need a primer, try starting with  A Practical Introduction to Docker Containers on the Red Hat Developer Blog.

Continue reading “A Practical Introduction to Container Terminology”

Share

Using Byteman to Find Out Why the TimeZone Changed on a Java App Server

This article is about a real problem I faced where the timezone on a Java application server (in my case it was JBoss) changed unexpectedly during the run time of the server. It was hard to find any pattern or the reason for the change, as it was triggered by a HTTP request. To debug this scenario, I used the Byteman tool and injected the script into the JVM. This helped me to identify the root cause of the issue and come up with a few Do’s and Don’ts for a shared JVM (like on Java application servers).

Any application server is considered a shared JVM. There are multiple applications deployed on the JVM and they share the same resources. In such a scenario, there are some precautions which need to be taken care of. One of them is dealing with the JVM’s timezone.

Byteman is a tool that makes it easy to trace, monitor, and test the behavior of Java applications and the JDK runtime code. It injects Java code into your application APIs or into Java runtime methods without the need for you to recompile, repackage, or even redeploy your application. Injection can be performed at startup or in running code.

Continue reading “Using Byteman to Find Out Why the TimeZone Changed on a Java App Server”

Share

Eclipse CheConf 2018 – Join the live stream February 21st at 10 am EST

CheConf 2018, the second Eclipse Che user and developer virtual conference is happening on February 21st. This one-day virtual conference explains how cloud developer workspaces are changing the way applications are created, and how companies are building cloud-native developer tools. Eclipse Che is the largest extensible cloud development platform in the market, with over 150,000 public developer sessions a month. Join hundreds of fellow Che users in sessions that include how-tos, case studies, and community talks from experts throughout the Eclipse Che community.

The live stream starts at 10:00 EST on February 21st with a series of 30 minute sessions and 1 hour tutorials. Live chat and Q&A will be moderated by Che committers.

Join the fun, learn about cloud development, and see how organizations large and small are benefiting from Che. Register early to guarantee your spot.

Continue reading “Eclipse CheConf 2018 – Join the live stream February 21st at 10 am EST”

Share

Annobin – Storing Extra Information in Binaries

Introduction

Compiled files, often called binaries, are a mainstay of modern computer systems. But it is often hard for system builders and users to find out more than just very basic information about these files. The Annobin project exists as means to answer questions like:

  • How was this binary built?
  • What testing was performed on the binary?
  • What sources were used to make the binary ?

The Annobin project is an implementation of the Watermark specification , which details how to record extra information in a binary. One important feature of this specification is that it includes an address range for the information stored. This makes it possible to record the fact that part of a binary was compiled with one set of options and another part was recorded with a different set of options.

Continue reading “Annobin – Storing Extra Information in Binaries”

Share

New Release of Red Hat JBoss Data Virtualization.

Red Hat is proud to announce the release of JBoss Data Virtualization (JDV) 6.4

Overview

JBoss Data Virtualization is a data integration solution that sits in front of multiple data sources and allows them to be treated as a single source, delivering the right data, in the required form, at the right time to any application and/or user.

JDV 6.4 Features

The JBoss Data Virtualization 6.4 release focuses on supporting new and updating existing cloud, big data, and in-memory data sources.

Continue reading “New Release of Red Hat JBoss Data Virtualization.”

Share

Scheduling Voxxed Days Zurich 2018 with OptaPlanner

My name is Mario Fusco and I’m honored to be the Program Committee Lead of Voxxed Days Zurich for the third year in a row. Reading, evaluating, discussing, and selecting from the 200+ proposals that arrive every year is a long and challenging process. I must admit, I largely underestimated the task the first year I started doing it. It’s necessary to evaluate not only the quality of every submission, but also how they fit together. In the end, the worst part is having to reject so many incredible proposals because there are a limited number of slots.

Continue reading “Scheduling Voxxed Days Zurich 2018 with OptaPlanner”

Share

Apache Camel URI completion in VS Code XML Editor and Eclipse Che

Apache Camel empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based Fluent APISpring or Blueprint XML Configuration files, and a Scala DSL. It also uses URIs to work directly with any kind of Transport or messaging model such as HTTPActiveMQJMSJBI, SCA, MINA or CXF, as well as pluggable Components and Data Format options. Apache Camel is a small library with minimal dependencies for easy embedding in any Java application.

Continue reading “Apache Camel URI completion in VS Code XML Editor and Eclipse Che”

Share