<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Devops on Christian Krudewig</title><link>https://krudewig.dev/en/tags/devops/</link><description>Recent content in Devops on Christian Krudewig</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 18 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://krudewig.dev/en/tags/devops/index.xml" rel="self" type="application/rss+xml"/><item><title>Coding agent in a box</title><link>https://krudewig.dev/en/post/2026-10-18-coding-agent-in-a-box/</link><pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate><guid>https://krudewig.dev/en/post/2026-10-18-coding-agent-in-a-box/</guid><description>&lt;p&gt;&lt;strong&gt;Coding agents have changed how we build software, but they&amp;rsquo;ve also created new risks. This post describes a response to the one that worries me most: an agent compromising the systems I have access to, or leaking sensitive information.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Shaping Engineers in the Age of AI</title><link>https://krudewig.dev/en/post/2026-09-16-shaping-engineers-in-the-age-of-ai/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://krudewig.dev/en/post/2026-09-16-shaping-engineers-in-the-age-of-ai/</guid><description>&lt;p&gt;&lt;strong&gt;This is the story of how AI coding agents changed the informal way we teach engineering on the job, and what we can do to keep turning juniors into seniors.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Self-Contained Teams: How to Keep a DevOps Culture in a Growing Organization</title><link>https://krudewig.dev/en/post/2026-01-22-self-contained-teams/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://krudewig.dev/en/post/2026-01-22-self-contained-teams/</guid><description>&lt;p&gt;When projects take longer despite your organization gaining more expertise, when developers share frustration about &amp;ldquo;process hindering progress&amp;rdquo;, the problem may not be the people or the technology. It may be time to look at team boundaries.&lt;/p&gt;</description></item><item><title>Storing evaluation data for AI projects</title><link>https://krudewig.dev/en/post/2025-12-13-Ways-to-store-testing-data/</link><pubDate>Wed, 17 Dec 2025 00:00:00 +0000</pubDate><guid>https://krudewig.dev/en/post/2025-12-13-Ways-to-store-testing-data/</guid><description>&lt;p&gt;When building ML systems, test and evaluation datasets are as critical as the code itself. But where should you store them? The answer depends on size, sensitivity, and how often they change.&lt;/p&gt;</description></item><item><title>Python packaging unboxed</title><link>https://krudewig.dev/en/post/2024-02-23-python-packaging-from-imports-to-docker/</link><pubDate>Fri, 23 Feb 2024 00:00:00 +0000</pubDate><guid>https://krudewig.dev/en/post/2024-02-23-python-packaging-from-imports-to-docker/</guid><description>&lt;p&gt;&lt;strong&gt;Python packaging has a reputation for being confusing. With tools like setuptools, pip, poetry, flit, pdm, and twine, it&amp;rsquo;s easy to get lost. This post demystifies the packaging workflow from the import system to Docker deployments.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Testing a Flink Stateful Function Service</title><link>https://krudewig.dev/en/post/2022-04-15-testing-a-flink-stateful-function-service/</link><pubDate>Fri, 15 Apr 2022 00:00:00 +0000</pubDate><guid>https://krudewig.dev/en/post/2022-04-15-testing-a-flink-stateful-function-service/</guid><description>&lt;p&gt;&lt;strong&gt;With &lt;a href="https://nightlies.apache.org/flink/flink-statefun-docs-master/"&gt;Flink Statefun&lt;/a&gt; a powerful, polyglot data streaming framework has entered the real-time data processing landscape. It allows to break down a streaming pipeline into individual microservices which can each take care of one or more tasks. This post is about how to test these services individually without executing the whole pipeline.&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>