Container-related Changes in Red Hat Enterprise Linux 7.5

With Red Hat Enterprise Linux 7.5.0 released this week, we wanted to take a look at a few of the container-specific changes for users of Red Hat Enterprise Linux and Red Hat Enterprise Linux Atomic Host.

Buildah Now Fully Supported

With Red Hat Enterprise Linux 7.5, we now fully support using Buildah to create Docker and OCI-compliant container images. Buildah was introduced in 7.4.3 as a tech preview, and moves to fully supported in this release.

Continue reading “Container-related Changes in Red Hat Enterprise Linux 7.5”

In Defense of the Pet Container, Part 3: Puppies, Kittens and… Containers

In our third and final installment (see: part one & part two), let’s take a look at some high-level use cases for Linux containers as well as finally (finally) defending what I like to call “pet” containers. From a general perspective, we see three repeated high-level use cases for containerizing applications:

  1. The fully orchestrated, multi-container application as you would create in OpenShift via the Red Hat Container Development Kit;
  2. Loosely orchestrated containers that don’t use advanced features like application templates and Kubernetes; and
  3. Pet containers.

Continue reading “In Defense of the Pet Container, Part 3: Puppies, Kittens and… Containers”

Architecting Containers Part 5: Building a Secure and Manageable Container Software Supply Chain

Background

In Architecting Containers Part 4: Workload Characteristics and Candidates for Containerization we investigated the level of effort necessary to containerize different types of workloads. In this article I am going to address several challenges facing organizations that are deploying containers – how to patch containers and how to determine which teams are responsible for the container images. Should they be controlled by development or operations?

In addition, we are going to take a look at

Continue reading “Architecting Containers Part 5: Building a Secure and Manageable Container Software Supply Chain”

Architecting Containers Part 4: Workload Characteristics and Candidates for Containerization

Many development and operations teams are looking for guidelines to help them determine what applications can be containerized and how difficult it may be. In Architecting Containers Part 3: How the User Space Affects Your Applications we took an in depth look at how the user space affects applications for both developers and operations. In this article we are going to take a look at workload characteristics and the level of effort required to containerize different types of applications.

The goal of this article is to provide guidance based on current capabilities and best practices within

Continue reading “Architecting Containers Part 4: Workload Characteristics and Candidates for Containerization”

Continuous Delivery / Deployment with OpenShift Enterprise

In our previous posts, we’ve explored the Red Hat container ecosystem, the Red Hat Container Development Kit (CDK), OpenShift as a local deployment and OpenShift in production. In this final post of the series, we’re going to take a look at how a team can take advantage of the advanced features of OpenShift in order to automatically move new versions of applications from development to production — a process known as Continuous Delivery (or Continuous Deployment, depending on the level of automation).

OpenShift supports

Continue reading “Continuous Delivery / Deployment with OpenShift Enterprise”

OpenShift Enterprise in Production

In a previous blog post we took a look at the Red Hat Container Development Kit (CDK) and how it can be used to build and deploy applications within a development environment that closely mimics a production OpenShift cluster. In this post, we’ll take an in-depth look at what a production OpenShift cluster looks like — the individual components, their functions, and how they relate to each other. We’ll also check out how OpenShift supports scaling up and scaling out applications in a production environment.

Continue reading “OpenShift Enterprise in Production”

Container Tidbits: When Should I Break My Application into Multiple Containers?

There is a lot of confusion around which pieces of your application you should break into multiple containers and why. I recently responded to this thread on the Docker user mailing list which led me to writing today’s post. In this post I plan to examine an imaginary Java application that historically ran on a single Tomcat server and to explain why I would break it apart into separate containers. In an attempt to make things interesting – I will also aim to

Continue reading “Container Tidbits: When Should I Break My Application into Multiple Containers?”

Test Driving OpenShift with the Red Hat Container Development Kit (CDK)

Setting up a local development environment that corresponds as close as possible to production can be a time-consuming and error-prone task. However, for OpenShift deployments, we have the Red Hat Container Development Kit (CDK) which does a good job at solving this and also provides a great environment for experimenting with containers and the Red Hat container ecosystem in general.

In this blogpost we will cover deploying applications using the OpenShift Enterprise PaaS that comes with the CDK. The whole process will be driven via the OpenShift CLI, in contrast to our last post which focused on OpenShift’s web interface. If you haven’t yet installed the CDK, check out the previous blog post for instructions.

By the end of this article you will know how to build existing applications on OpenShift, whether they already use

Continue reading “Test Driving OpenShift with the Red Hat Container Development Kit (CDK)”

The Red Hat Ecosystem for Microservice and Container Development

Over the last couple years, microservices and containers have started to redefine the software development landscape. The traditional large Java or C# application has been replaced with multiple smaller components (microservices) which coordinate to provide the required functionality. These microservices typically run inside containers, which provide isolation and portability.

This approach has numerous benefits including being able to scale and replace microservices independently as well as reducing the complexity of individual components. However, it also brings more complexity to the system level; it takes extra effort and tooling to manage and orchestrate the microservices and their interactions.

This post will describe how Red Hat technology and services can be used to develop, deploy and run an effective microservice-based system.

Continue reading “The Red Hat Ecosystem for Microservice and Container Development”