The year is coming to a close, and we've rounded up some of our favorite Kubernetes and OpenShift content from 2022, including stories about microservices and container optimization, as well as top announcements.
Don't miss the other articles in our Best of 2022 series:
- Top Linux resources of 2022
- Top Ansible and automation resources of 2022
- Top cloud and app services resources of 2022
Microservices
Microservice architecture has become increasingly popular in addressing the shortcomings of monolithic applications, and Bob Reselman offered a three-part series to explain the foundations. The first part lays out the design principles for a microservices-oriented application (MOA), explains how companies tend to evolve to use microservices, and examines the trade-offs. In part 2, Reselman describes how to adopt microservices in your organization. The last part compares the potential drawbacks and benefits of microservices that you should consider before implementing them.
CI/CD and GitOps
Let’s start off with a quick overview of how Jenkins and CD relate. You'll learn how to use a Jenkinsfile to create deployments that combine CI/CD and GitOps. Many tools have new features that make it easy to automate more of the building, testing, and deployment process. Red Hat advocates then show how feature testing can be improved by automating builds and creating Kubernetes environments.
Christian Hernandez describes the best practices you should follow to make the most of Git workflows for your GitOps deployments. You'll see how to separate your configuration from your code, how to use branches, trunk-based development workflows, and tips for setting up policies and security for your Git workflow. Meanwhile, Christian Hernandez offers some best practices for creating GitOps repositories and directory structures. Although there are no hard-and-fast rules, following the basic guidelines outlined here can help you get started.
Looking for something hands-on? Try the Develop with GitOps learning path and use GitOps and OpenShift Pipelines to implement Kubernetes-native CI/CD to automate and manage application deployment.
Containers
Using Karan Singh's guide, you'll learn how to optimize Docker container images for size using a project called DockerSlim. DockerSlim will reduce your image size by up to a factor of 30 while making your containers more secure by reducing their attack surface.
To build containers that will run in Kubernetes and Red Hat OpenShift, you have a few options. Don Schenck describes the pros and cons of each method so you can decide which approach is best for your needs.
When you've written your first container-based application and have it running in Docker or Podman, you're ready to move to the next level. That means running multiple applications—microservices, in other words—in an orchestrated environment. Kubernetes, an open source container orchestration platform, is just such an environment, and by far the most popular one at that. Follow along with Don Schenck's guide to 101 Kubernetes developer content!
For a hands-on experience, you can take that knowledge to:
- Learn Kubernetes using Red Hat Developer Sandbox for OpenShift.
- Build and deploy applications into OpenShift with the Foundations of OpenShift learning path.
Node.js and Quarkus
Our guide from Lucas Holmquist looks at why testing in JavaScript applications is important. You'll also learn how to measure code coverage, how to maximize your investment in testing, and what the Node.js reference architecture recommends to ensure adequate code coverage. Another part in this series, on making your Node.js applications secure, focuses on some of the key security elements that JavaScript developers should address.
Want more hands on learning? Rohan Kumar teaches you how to create a simple Java application by using the Quarkus bootstrapping site, provision a cost-free development cluster in Red Hat OpenShift, and deploy it to OpenShift. You can also learn how to deploy a sample application in Node.js (or other languages) onto this same development cluster.
In the first article in a two-part series from Stephen Nimmo, you'll build a solid error response model that helps API consumers reduce toil in their work. In the second, you'll learn how to exchange financial information over the FIX protocol in a Java application using the QuickFIX/J engine and Quarkus.
Announcements
At KubeCon North America 2022, the Podman community unveiled a new tool: Podman Desktop. This tool allows developers to install, configure, and keep their container engine up to date in a GUI.
Serena Chechile announces new features available in the Red Hat OpenShift console in OpenShift 4.10. These include changing defaults for routes and troubleshooting misbehaving pods from the UI.
Red Hat has announced the release of Red Hat OpenShift Dev Spaces, a new version of Red Hat CodeReady Workspaces that sports upgraded features. This article explains the major changes in this upgrade and their effects on administrators and users.
Resources
Our Git cheat sheet will teach you everything you need to know about Git commands for working with repositories, branches, files, and more.
Understand common cloud native patterns and principles for designing and implementing applications on Kubernetes with this practical guide.
Last updated: September 20, 2023