<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~files/feed-premium.xsl"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedpress="https://feed.press/xmlns" xmlns:podcast="https://podcastindex.org/namespace/1.0" version="2.0">
  <channel>
    <feedpress:locale>en</feedpress:locale>
    <atom:link rel="self" href="https://feeds.dzone.com/containers"/>
    <atom:link rel="hub" href="https://feedpress.superfeedr.com/"/>
    <title>DZone Containers Zone</title>
    <link>https://dzone.com/containers</link>
    <description>Recent posts in Containers on DZone.com</description>
    <item>
      <title>Self-Hosted Inference Doesn’t Have to Be a Nightmare: How to Use GPUStack</title>
      <link>https://dzone.com/articles/how-to-use-gpustack</link>
      <description><![CDATA[<h2>The Problem Nobody Warned You About</h2>
<p>You bought the GPUs. Maybe you've got a couple of NVIDIA A100s in a rack, some RTX 4090s under desks, or a Kubernetes cluster with mixed hardware. You've got the compute. Congratulations!</p>
<p>Now what?</p>]]></description>
      <pubDate>Thu, 21 May 2026 18:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3649972</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18982943&amp;w=600"/>
      <dc:creator>Sandeep Sadarangani</dc:creator>
    </item>
    <item>
      <title>Smart Deployment Strategies for Modern Applications</title>
      <link>https://dzone.com/articles/application-deployment-strategies</link>
      <description><![CDATA[<p>Modern application development has moved toward distributed, cloud-based, and even microservices-based applications, requiring scalability, reliability, and performance under different conditions. Therefore, deployment has become a part of application development, not merely a final activity.</p>
<p>Intelligent deployment patterns and practices are all about building applications that are not just easy to deploy, but also reliable, scalable, and efficient in production. This means moving away from traditional, manual deployment patterns and toward automated, container-based deployment practices.</p>]]></description>
      <pubDate>Mon, 18 May 2026 18:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3644790</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18985325&amp;w=600"/>
      <dc:creator>Manju George</dc:creator>
    </item>
    <item>
      <title>Solving the Mystery: Why Java RSS Grows in Docker on M1 Macs</title>
      <link>https://dzone.com/articles/java-rss-growth-docker-m1</link>
      <description><![CDATA[<h2>The Problem</h2>
<p>You're running a Java application in a Docker container on your M1 Mac. Everything works fine, but you notice something strange: The <a href="https://dzone.com/articles/how-to-decrease-jvm-memory-consumption-in-docker-u">resident set size</a> (RSS) keeps growing, even though your heap usage is stable. After hours of investigation, you find mysterious <code>rwxp</code> memory regions, each exactly 128 MB, accumulating in your process memory map.</p>
<p>What's causing this? Is it a memory leak? A JVM bug? Something else entirely?</p>]]></description>
      <pubDate>Tue, 12 May 2026 19:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3638995</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18977781&amp;w=600"/>
      <dc:creator>Sumeet Sharma</dc:creator>
    </item>
    <item>
      <title>How We Diagnosed a Hidden Scheduler Failure in a Docker Swarm Cluster Serving 2 Million Users</title>
      <link>https://dzone.com/articles/docker-swarm-scheduler-failure</link>
      <description><![CDATA[<h2>Context: 120 Nodes, Strict SLAs, and Legacy Infrastructure</h2>
<p>Our team is responsible for the mobile backend infrastructure serving over 2 million registered users. The <a href="https://dzone.com/articles/setting-up-a-docker-swarm-cluster-and-deploying-co?fromrel=true">Docker Swarm</a> cluster consists of 120 nodes: 5 manager nodes, 40 worker nodes, and the rest are infrastructure servers. The cluster runs about 50 services, totaling hundreds of replicas.</p>
<p>We inherited Swarm from the previous contractor. The client is not yet ready to migrate to <a href="https://dzone.com/articles/demystifying-kubernetes">Kubernetes</a>, and Swarm is currently sufficient for the current scale. Services are distributed across nodes in groups and bound by labels: up to 4 worker nodes are allocated to heavier services, 2 to less loaded ones, and 1 to non-critical services. Nodes can host replicas of multiple services.</p>]]></description>
      <pubDate>Tue, 05 May 2026 14:00:03 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3643490</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18960923&amp;w=600"/>
      <dc:creator>Denis Tiumentsev</dc:creator>
    </item>
    <item>
      <title>Mastering Kubernetes to Maximize Your Cloud Potential</title>
      <link>https://dzone.com/articles/mastering-kubernetes-to-maximize-your-cloud-potent</link>
      <description><![CDATA[<p data-end="223" data-start="57" style="text-align: justify;"><a href="https://dzone.com/articles/kubernetes-101-understanding-the-foundation-and-ge">Kubernetes</a> is often introduced as a container orchestrator. That’s like calling a modern city “a collection of buildings.” Technically correct, but wildly incomplete.</p>
<p data-end="515" data-start="225" style="text-align: justify;">In reality, Kubernetes is a layered ecosystem where storage, compute, networking, security, and developer workflows interlock like gears in a precision machine. If one gear slips, everything grinds. If all align, you unlock a platform that scales, heals, and evolves with your applications.</p>]]></description>
      <pubDate>Mon, 04 May 2026 19:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3642604</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18958123&amp;w=600"/>
      <dc:creator>Jaswinder Kumar</dc:creator>
    </item>
    <item>
      <title>AI Agents for DevOps on Kubernetes Need Real Engineering, Not Magic</title>
      <link>https://dzone.com/articles/ai-agents-devops-kubernetes-engineering</link>
      <description><![CDATA[<p>In a real Kubernetes cluster, incidents rarely appear as a single, clean alert. They arrive as waves of Kubernetes events, latency spikes, pod restarts, rollout failures, and unpredictable autoscaling behavior all at once. The hard part is usually not “Can we fix it?” but “Can we understand what’s happening fast enough to make a safe decision?”</p>
<p>AI agents for DevOps can help here — but only when they sit on solid engineering foundations. They should compress the early correlation and triage phase, not take opaque, unsafe control of production.</p>]]></description>
      <pubDate>Thu, 30 Apr 2026 16:00:10 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3641075</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18953829&amp;w=600"/>
      <dc:creator>Abdul Majid Qureshi</dc:creator>
    </item>
    <item>
      <title>Java Backend Development in the Era of Kubernetes and Docker</title>
      <link>https://dzone.com/articles/java-backend-kubernetes-docker</link>
      <description><![CDATA[<p>We moved our monolithic Java application to Kubernetes last year. The promise was scalability and resilience. The reality was a series of silent failures during deployments. Users reported dropped connections every time we pushed a new version. Our monitoring showed zero downtime, but the customer experience told a different story. Requests vanished into the void during rolling updates. We spent weeks chasing network ghosts before finding the root cause. The issue was not the network. It was how our Java application handled termination signals.</p>
<p>In this article, I will share how we adapted our Java backend for container orchestration. I will explain the specific lifecycle issues we encountered. I will detail the configuration changes that solved the dropout problem. This is not a guide on writing Dockerfiles. It is a record of the operational friction we faced when Java met Kubernetes. Building cloud-native Java apps requires more than just packaging a JAR. It requires understanding how the orchestration layer interacts with the JVM.</p>]]></description>
      <pubDate>Tue, 28 Apr 2026 16:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3641690</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18949999&amp;w=600"/>
      <dc:creator>Ramya vani Rayala</dc:creator>
    </item>
    <item>
      <title>Java in a Container: Efficient Development and Deployment With Docker</title>
      <link>https://dzone.com/articles/java-in-containers-docker</link>
      <description><![CDATA[<p>There is a specific kind of frustration reserved for Java developers who have just containerized their application. You spend hours optimizing your Spring Boot microservice, ensuring your logic is sound and that your tests pass. You wrap it in a Docker container, push it to the registry, and deploy. Then the reality sets in. Your image is 800MB, your startup time is 40 seconds, and during load testing, the container is killed silently by the OS.</p>
<p>In my recent work, migrating a monolithic Java application to a microservices architecture, we faced this exact triad of issues. We were treating <a href="https://dzone.com/articles/getting-started-with-docker-5-easy-steps">Docker containers</a> like lightweight virtual machines and ignoring the nuances of how the JVM interacts with container boundaries. The result was bloated infrastructure costs, slow CI/CD pipelines, and unstable production pods.</p>]]></description>
      <pubDate>Tue, 28 Apr 2026 14:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3641716</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18949979&amp;w=600"/>
      <dc:creator>Ramya vani Rayala</dc:creator>
    </item>
    <item>
      <title>The Pod Prometheus Never Saw: Kubernetes' Sampling Blind Spot</title>
      <link>https://dzone.com/articles/k8s-sampling-blind-spot</link>
      <description><![CDATA[<h2>The Fix That Doesn't Fix It</h2>
<p>Reducing your Prometheus scrape interval from 15 seconds to 5 seconds does not fix the sampling blind spot. It moves it. Any pod whose entire lifetime falls within one 5-second scrape gap is still structurally invisible — not because of misconfiguration, not because of missing rules, but because poll-based collection has an irreducible sampling gap that no interval setting eliminates.</p>
<p>This article explains exactly why that is, what it costs in production, and what actually fixes it.</p>]]></description>
      <pubDate>Thu, 23 Apr 2026 13:30:01 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3650510</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18999550&amp;w=600"/>
      <dc:creator>Shamsher Khan</dc:creator>
    </item>
    <item>
      <title>The Invisible OOMKill: Why Your Java Pod Keeps Restarting in Kubernetes</title>
      <link>https://dzone.com/articles/java-pod-oomkill-kubernetes</link>
      <description><![CDATA[<p><span>Imagine deploying a robust Spring Boot microservice that passes every integration test in your local Docker environment, only to watch it crash loop endlessly shortly after launching to your Kubernetes production cluster. Everything ran fine on your laptop, but in the live environment, your pods start terminating en masse. Requests to your critical endpoints begin failing with 503 errors. Panic sets in as your service, the backbone of your transaction pipeline, is effectively brought down by an invisible foe.</span></p>
<p><span>In our recent migration to a cloud-native architecture, the culprit was a hidden memory configuration issue involving how the&nbsp;</span><a href="https://dzone.com/articles/mastering-the-jvm-elevating-java-development"><span>Java Virtual Machine</span></a><span>&nbsp;interacts with Kubernetes container limits. A tiny mismatch in resource allocation, something that went unnoticed during development, led to a chain reaction of OOMKilled events in production.</span></p>]]></description>
      <pubDate>Wed, 22 Apr 2026 14:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3641717</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18941889&amp;w=600"/>
      <dc:creator>Ramya vani Rayala</dc:creator>
    </item>
    <item>
      <title>When Kubernetes Breaks Session Consistency: Using Cosmos DB and Redis Together</title>
      <link>https://dzone.com/articles/when-kubernetes-breaks-session-consistency-using-c-1</link>
      <description><![CDATA[<p data-end="383" data-start="281">Distributed systems rarely struggle because of storage engines. They struggle because of coordination.</p>
<p data-end="835" data-start="385">We were operating a high-throughput <a href="https://dzone.com/articles/practical-guide-deploying-microservices-kubernetes">microservice on Kubernetes</a> backed by Azure Cosmos DB. The service required durability, global availability, and predictable read behavior under horizontal scaling. Cosmos DB was configured with SESSION consistency because it offers a practical balance between correctness and performance. It guarantees read-your-own-writes without incurring the latency and throughput penalties associated with strong consistency.</p>]]></description>
      <pubDate>Wed, 15 Apr 2026 20:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3640828</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18933419&amp;w=600"/>
      <dc:creator>Vikas Mittal</dc:creator>
    </item>
    <item>
      <title>NeMo Agent Toolkit With Docker Model Runner</title>
      <link>https://dzone.com/articles/nemo-agent-toolkit-docker-runner</link>
      <description><![CDATA[<p dir="ltr">The year 2025 has been widely recognized as the year of AI agents. With the launch of frameworks like Docker Cagent, Microsoft Agent Framework (MAF), and Google’s Agent Development Kit (ADK), organizations rapidly embraced agentic systems.</p>
<p dir="ltr">However, one critical area received far less attention: agent observability.</p>]]></description>
      <pubDate>Wed, 15 Apr 2026 13:30:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3652217</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18985099&amp;w=600"/>
      <dc:creator>Siri Varma Vegiraju</dc:creator>
    </item>
    <item>
      <title>Run AI Agents Safely With Docker Sandboxes: A Complete Walkthrough</title>
      <link>https://dzone.com/articles/ai-agents-docker-sandboxes</link>
      <description><![CDATA[<p data-source-line="3">There are days when I want an agent to work on a project, run commands, install packages, and poke around a repo without getting anywhere near the rest of my machine. That is exactly why Docker Sandboxes clicked for me.</p>
<p data-source-line="5">The nice part is that the setup is not complicated. You install the CLI, sign in once, choose a network policy, and launch a sandbox from your project folder. After that, you can list it, stop it, reconnect to it, or remove it when you are done.</p>]]></description>
      <pubDate>Tue, 07 Apr 2026 15:30:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3644726</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18971913&amp;w=600"/>
      <dc:creator>Naga Santhosh Reddy Vootukuri</dc:creator>
    </item>
    <item>
      <title>TOP-5 Lightweight Linux Distributions for Container Base Images</title>
      <link>https://dzone.com/articles/top-5-lightweight-linux-distributions-for-container</link>
      <description><![CDATA[<p dir="ltr">The <a href="https://dzone.com/articles/top-ten-lightweight-linux-distributions">base Linux distribution</a> we choose for building our container images affects the whole container stack: image size, performance, CVE exposure, patch cadence, debugging, maintainability. This is why going for some random base that ‘just works’ is not an option.</p>
<p dir="ltr">Luckily, there are multiple good options on the market for various use cases and business needs. This guide is aimed at providing you with the summary of top five lightweight Linux distributions chosen for their production-relevance: small, container-focused, actively maintained, chosen by developers. The summary is based on criteria important for production, such as footprint, libc variant, licensing, security features, support.</p>]]></description>
      <pubDate>Tue, 07 Apr 2026 15:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3640486</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18915888&amp;w=600"/>
      <dc:creator>Catherine Edelveis</dc:creator>
    </item>
    <item>
      <title>Docker Secrets Management: From Development to Production</title>
      <link>https://dzone.com/articles/docker-secrets-management</link>
      <description><![CDATA[<p>Most Docker tutorials show secrets passed as environment variables. It's convenient, works everywhere, and feels simple. <strong>It's also fundamentally insecure</strong>.</p>
<p>Environment variables are visible to any process running inside the container. They appear in <code>docker inspect</code> output accessible to anyone with <a href="https://dzone.com/articles/understanding-and-using-docker-containers-in-web-d">Docker</a> socket access. Debugging tools log them. Child processes inherit them. And in many logging frameworks, they get written to log files where they persist indefinitely.</p>]]></description>
      <pubDate>Tue, 07 Apr 2026 13:30:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3646671</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18971835&amp;w=600"/>
      <dc:creator>Shamsher Khan</dc:creator>
    </item>
    <item>
      <title>Spark on AmpereOne® M Arm Processors Reference Architecture</title>
      <link>https://dzone.com/articles/spark-ampereone-arm-architecture</link>
      <description><![CDATA[<h2 dir="ltr">Introduction</h2>
<p dir="ltr">Arm technology now powers a broad spectrum of on-premises and cloud server workloads. Building on Ampere Computing's previous reference architecture, which demonstrated that Apache Spark on Ampere Altra – 128C (Ampere Altra 128 Cores) processors delivers superior performance per rack, lower power consumption, and optimized CapEx and OpEx, this paper evaluates and extends that analysis to showcase Spark performance on the latest generation of AmpereOne® M processors.</p>
<h3 dir="ltr"><strong>Scope and Audience</strong></h3>
<p dir="ltr">This document describes the process of setting up, tuning, and evaluating Spark performance using a testbed powered by AmpereOne® M processors. It includes a comparative analysis of the performance benefits of the 12-channel AmpereOne® M processors relative to their predecessors, specifically Ampere Altra – 128C processors. Additionally, the paper examines the Spark performance improvements achieved by using a 64KB page-size kernel over standard 4KB page-size kernels.</p>]]></description>
      <pubDate>Mon, 06 Apr 2026 20:23:05 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3644702</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18972942&amp;w=600"/>
      <dc:creator>RamaKrishna Nishtala</dc:creator>
    </item>
    <item>
      <title>Mastering Azure Kubernetes Service: The Ultimate Guide to Scaling, Security, and Cost Optimization</title>
      <link>https://dzone.com/articles/mastering-azure-kubernetes-service-guide</link>
      <description><![CDATA[<p>Azure Kubernetes Service (AKS) has evolved from a simple managed orchestrator into a sophisticated platform that serves as the backbone for modern enterprise applications. However, as clusters grow in complexity, the challenge shifts from initial deployment to long-term operational excellence. Managing a production-grade AKS cluster requires a delicate balance between high availability through scaling, rigorous security postures, and aggressive cost management.</p>
<p>In this guide, we will explore the technical nuances of AKS, providing actionable best practices for scaling, security, and financial efficiency.</p>]]></description>
      <pubDate>Thu, 02 Apr 2026 13:00:07 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3641504</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18924923&amp;w=600"/>
      <dc:creator>Jubin Abhishek Soni</dc:creator>
    </item>
    <item>
      <title>DocumentDB on Kubernetes</title>
      <link>https://dzone.com/articles/documentdb-on-kubernetes</link>
      <description><![CDATA[<p>DocumentDB is an open-source MongoDB-compatible database built on PostgreSQL that provides a familiar interface while leveraging PostgreSQL's reliability and extensibility. The DocumentDB Kubernetes Operator brings this database to Kubernetes environments by extending the platform with custom resources. The operator manages DocumentDB clusters declaratively, handling deployment, scaling, upgrades, and high availability scenarios automatically.</p>
<p>The <a href="https://github.com/documentdb/documentdb-kubernetes-operator" rel="noopener noreferrer" target="_blank">DocumentDB Kubernetes Operator</a> provides multiple levels of high availability, each addressing a different failure domain. Local HA deploys multiple database instances within a single <a href="https://dzone.com/articles/demystifying-kubernetes">Kubernetes</a> cluster with automatic failover in seconds, protecting against pod and node failures.&nbsp;</p>]]></description>
      <pubDate>Wed, 01 Apr 2026 12:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3639692</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18922297&amp;w=600"/>
      <dc:creator>Abhishek Gupta</dc:creator>
    </item>
    <item>
      <title>Kubernetes Autoscaling: What Breaks Under Real Traffic</title>
      <link>https://dzone.com/articles/kubernetes-autoscaling-what-breaks-under</link>
      <description><![CDATA[<p data-end="628" data-start="574"><a href="https://dzone.com/articles/best-practices-managing-kubernetes-at-scale">Kubernetes autoscaling</a> looks straightforward on paper.</p>
<p data-end="772" data-start="630">Define resource requests.<br data-start="655" data-end="658">
 Set up the Horizontal Pod Autoscaler (HPA).<br data-start="701" data-end="704">
 Choose CPU or custom metrics.<br data-start="733" data-end="736">
 Let the cluster scale automatically.</p>]]></description>
      <pubDate>Tue, 31 Mar 2026 18:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3639551</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18922323&amp;w=600"/>
      <dc:creator>Ankush Madaan</dc:creator>
    </item>
    <item>
      <title>Deploying Java applications on Arm64 with Kubernetes</title>
      <link>https://dzone.com/articles/deploying-java-applications-on-arm64</link>
      <description><![CDATA[<p dir="ltr">In the first part of this two-part series on <a href="https://amperecomputing.com/tutorials/optimizing-java-applications-for-arm64-in-the-cloud">tuning Java applications for Ampere®- powered cloud instances</a>, we concentrated on tuning your Java environment for cloud applications, including picking the right Java version, tuning your default heap and garbage collector, and some options that enable your application to take advantage of underlying Arm64 features. In this article, we will look more closely at the operating system and Kubernetes configuration. In particular, we take a deep dive into container awareness in recent versions of Java, how to restrict the system resources made available to Java containers, and some common Linux configuration options to optimize your system for specific workloads. Much of the advice related to operating system tuning and workload placement applies to all workloads, not just JVM workloads, but since our focus is on the deployment of Java applications on Arm64 to Kubernetes, we will focus on that use-case here.</p>
<h3 dir="ltr">Resource Allocation in Kubernetes</h3>
<p dir="ltr">In this section, we’ll step outside the JVM and look at the infrastructure layer. Understanding how Kubernetes allocates resources, and how your Java application perceives those allocations, is fundamental to ensuring that you allocate the right amount of resources to your JVM.</p>]]></description>
      <pubDate>Mon, 30 Mar 2026 13:30:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3643642</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=18955742&amp;w=600"/>
      <dc:creator>Dave Neary</dc:creator>
    </item>
  </channel>
</rss>
