Reproducible and consistent development environments with DevContainers

As a developer in an agile world it becomes quite normal to be involved in more than one activity (projects, trainings and some research) at a time. Each of these activities may require a specific setup of development environments in terms of programming languages, compiler and library versions. Installing and maintaining all this with a classical approach is error-prone and requires a lot of effort. Using task-specific virtual machines would solve the problem, but it consumes a lot of resources and causes a lot of maintenance as well, because one also needs to keep VM’s operating system up to date. This article shows, how DevContainers can help you create and maintain reproducible development environments leveraging the benefits of modern container technology.

14.03.2025

Stefan Kühnel

Part 8: Plugin Cloning

This time we explore how plugin cloning of the Access Control List (ACL) Plugin enhances API security within a zero-trust architecture. We address the challenge of executing the ACL plugin twice, first for a consumer authenticated via an mTLS client certificate and then for a consumer authenticated via an OAuth2 token in the same processing pipeline, as the Kong’s architecture prevents the same plugin from running multiple times in a single request-response cycle. To meet this challenge, we introduce the Kong supported Priority-Updater tool, which enables cloning and priority configuration of existing plugins. This blog provides a comprehensive guide to implementing multi-layer authentication by plugin cloning.

24.02.2025

Alexander Suchier

Web Performance Optimization

In this post, you will learn about the importance of optimizing web page loading times and how it impacts conversions, as well as why it’s critical for SEO positioning and visibility. We’ll also outline tips and strategies for improving website performance, ranging from website speed tests to image optimization, and minimizing CSS and Javascript among other techniques. Additionally, we discuss important metrics like time to first byte and the benefits of using technologies like HTTP/2 and Gzip compression. This post offers valuable insights into how to improve your website’s performance and user experience.

12.02.2025

Francisco Javier Lopera Machon

Part 2: Releases

Let’s continue to automate the release process with versioning, GitHub releases, and promotion using Fastlane and GitHub Actions. This time we focus on setting up a new workflow that bumps the version, creates a new tag, and pushes the changes to the repository. The article also covers creating a new release with generated release notes from the commit messages and merged branches since the last tag. Finally, we will promote a release from the internal track or TestFlight to the production track in the PlayStore and AppStore respectively. All in all, this is an essential guide to streamlining the release process for your Flutter app.

27.01.2025

Dario Digregorio

Data streaming with Confluent Kafka Connect

Kafka Connect, a solution from Confluent for transferring data to and from Kafka, provides a high-performance and scalable option for connecting to over 80 different data sources, including databases, messaging systems, REST interfaces, and cloud storage. Using Kafka Connect can save a lot of time and effort, especially if scalability and security are important to your project. To use Connect, you’ll need to understand the basic architecture, which includes Workers, Tasks and Connectors as well as how to configure them.

30.12.2024

Jürgen Huber