<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aleksei Aleinikov</title>
    <description>The latest articles on DEV Community by Aleksei Aleinikov (@aleksei_aleinikov).</description>
    <link>https://dev.to/aleksei_aleinikov</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2950325%2F67548842-b25f-4c39-84ef-bc470e23aa8d.jpg</url>
      <title>DEV Community: Aleksei Aleinikov</title>
      <link>https://dev.to/aleksei_aleinikov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aleksei_aleinikov"/>
    <language>en</language>
    <item>
      <title>Release Speed Means Very Little If Users Cannot Rely on the Product</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:23:52 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/release-speed-means-very-little-if-users-cannot-rely-on-the-product-1jfp</link>
      <guid>https://dev.to/aleksei_aleinikov/release-speed-means-very-little-if-users-cannot-rely-on-the-product-1jfp</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhhoqweo2veiwq59nbhp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhhoqweo2veiwq59nbhp.png" alt=" " width="720" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A lot of teams still celebrate speed first:&lt;br&gt;
more releases,&lt;br&gt;
shorter lead time,&lt;br&gt;
faster change.&lt;/p&gt;

&lt;p&gt;But users do not experience your process.&lt;br&gt;
They experience whether the product works predictably when they need it.&lt;/p&gt;

&lt;p&gt;That is why SRE matters:&lt;br&gt;
SLIs, SLOs, error budgets, and a clear line between moving fast and burning trust.&lt;/p&gt;

&lt;p&gt;Reliability is not the opposite of speed.&lt;br&gt;
It is what makes speed sustainable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.devgenius.io/why-reliability-beats-release-speed-in-2025-and-how-to-prove-it-59470cdf402d" rel="noopener noreferrer"&gt;https://blog.devgenius.io/why-reliability-beats-release-speed-in-2025-and-how-to-prove-it-59470cdf402d&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  sre #devops #reliability #engineering
&lt;/h1&gt;

</description>
      <category>sre</category>
      <category>devplusplus</category>
      <category>devops</category>
      <category>development</category>
    </item>
    <item>
      <title>Chaos Engineering Only Becomes Useful When Monitoring Can Explain the Failure</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:22:55 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/chaos-engineering-only-becomes-useful-when-monitoring-can-explain-the-failure-39ai</link>
      <guid>https://dev.to/aleksei_aleinikov/chaos-engineering-only-becomes-useful-when-monitoring-can-explain-the-failure-39ai</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kegsenctei0392d74bg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kegsenctei0392d74bg.png" alt=" " width="720" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Chaos engineering without good monitoring is just controlled confusion.&lt;/p&gt;

&lt;p&gt;The real value appears when you can see:&lt;br&gt;
what broke,&lt;br&gt;
where it slowed down,&lt;br&gt;
which dependency dragged the system,&lt;br&gt;
and how much user pain it actually caused.&lt;/p&gt;

&lt;p&gt;That is why I tie every chaos experiment to SLOs, traces, golden signals, and business outcomes.&lt;/p&gt;

&lt;p&gt;If the system wobbles tomorrow, I do not want surprise.&lt;br&gt;
I want rehearsal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/codetodeploy/are-your-slos-ready-for-tomorrows-dns-wobble-ba04b7696ffd" rel="noopener noreferrer"&gt;https://medium.com/codetodeploy/are-your-slos-ready-for-tomorrows-dns-wobble-ba04b7696ffd&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  observability #sre #devops #chaosengineering
&lt;/h1&gt;

</description>
      <category>sre</category>
      <category>devops</category>
      <category>monitoring</category>
      <category>devplusplus</category>
    </item>
    <item>
      <title>Predictable Deploys Start When You Stop Trusting SSH Memory</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:21:53 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/predictable-deploys-start-when-you-stop-trusting-ssh-memory-16e4</link>
      <guid>https://dev.to/aleksei_aleinikov/predictable-deploys-start-when-you-stop-trusting-ssh-memory-16e4</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3v0uzk2g5r1avb0d4hgw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3v0uzk2g5r1avb0d4hgw.png" alt=" " width="720" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I stopped trusting release processes that only work because someone remembers the right commands.&lt;/p&gt;

&lt;p&gt;That is why I like Ansible for deploys:&lt;br&gt;
describe the desired state once,&lt;br&gt;
apply it repeatedly,&lt;br&gt;
and get the same result on every machine.&lt;/p&gt;

&lt;p&gt;Good automation is not about doing more.&lt;br&gt;
It is about making routine operations boring, predictable, and safe.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://levelup.gitconnected.com/how-to-build-predictable-deploys-in-2025-using-ansible-9def6bd571b2" rel="noopener noreferrer"&gt;https://levelup.gitconnected.com/how-to-build-predictable-deploys-in-2025-using-ansible-9def6bd571b2&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  ansible #devops #automation #linux
&lt;/h1&gt;

</description>
      <category>ansible</category>
      <category>devops</category>
      <category>automation</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Linux DNS Resolution Is Usually More Layered Than People Think</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:20:53 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/linux-dns-resolution-is-usually-more-layered-than-people-think-2b10</link>
      <guid>https://dev.to/aleksei_aleinikov/linux-dns-resolution-is-usually-more-layered-than-people-think-2b10</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F09gqap58kkdxp3h7v390.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F09gqap58kkdxp3h7v390.png" alt=" " width="720" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A hostname lookup on Linux is rarely just “send a DNS query.”&lt;/p&gt;

&lt;p&gt;It is usually a chain:&lt;br&gt;
local mappings,&lt;br&gt;
source order rules,&lt;br&gt;
client resolver settings,&lt;br&gt;
maybe a local cache,&lt;br&gt;
and only then external DNS.&lt;/p&gt;

&lt;p&gt;That is why tools can disagree while each still looks “correct.”&lt;/p&gt;

&lt;p&gt;If you want to debug name resolution properly, do not ask only what DNS says.&lt;br&gt;
Ask which layer answered first.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.datadriveninvestor.com/how-linux-resolves-domain-names-in-2025-from-call-to-ip-2bd0cfcb0fb8" rel="noopener noreferrer"&gt;https://medium.datadriveninvestor.com/how-linux-resolves-domain-names-in-2025-from-call-to-ip-2bd0cfcb0fb8&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  linux #dns #devops #networking
&lt;/h1&gt;

</description>
      <category>devops</category>
      <category>linux</category>
      <category>dns</category>
      <category>networking</category>
    </item>
    <item>
      <title>Telemetry Gets Useful When Logs, Traces, and Metrics Stop Living Separate Lives</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:19:51 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/telemetry-gets-useful-when-logs-traces-and-metrics-stop-living-separate-lives-3cf2</link>
      <guid>https://dev.to/aleksei_aleinikov/telemetry-gets-useful-when-logs-traces-and-metrics-stop-living-separate-lives-3cf2</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F67ki47fbsjx6mcrcqurf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F67ki47fbsjx6mcrcqurf.png" alt=" " width="720" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A lot of observability stacks collect plenty of telemetry and still feel hard to use.&lt;/p&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;p&gt;Because logs, traces, and metrics exist — but they do not tell one coherent story.&lt;/p&gt;

&lt;p&gt;That is why I like OpenTelemetry as a common layer:&lt;br&gt;
structured logs tied to trace IDs,&lt;br&gt;
traces routed through a central gateway,&lt;br&gt;
metrics collected with the same context.&lt;/p&gt;

&lt;p&gt;One click from a log to a span is often the difference between guessing and actually understanding the slowdown.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.datadriveninvestor.com/how-to-bring-order-to-telemetry-in-2025-a-practical-opentelemetry-guide-cfff057707d2" rel="noopener noreferrer"&gt;https://medium.datadriveninvestor.com/how-to-bring-order-to-telemetry-in-2025-a-practical-opentelemetry-guide-cfff057707d2&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  opentelemetry #observability #devops #monitoring
&lt;/h1&gt;

</description>
      <category>devops</category>
      <category>devchallenge</category>
      <category>devplusplus</category>
      <category>monitoring</category>
    </item>
    <item>
      <title>BDUI Feels Slow When You Wait for the Whole Screen Before Showing Meaning</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:18:41 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/bdui-feels-slow-when-you-wait-for-the-whole-screen-before-showing-meaning-onp</link>
      <guid>https://dev.to/aleksei_aleinikov/bdui-feels-slow-when-you-wait-for-the-whole-screen-before-showing-meaning-onp</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp3phatalgj0l8y87kpwu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp3phatalgj0l8y87kpwu.png" alt=" " width="720" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A lot of BDUI screens feel slow for the same reason:&lt;/p&gt;

&lt;p&gt;the client waits for the full payload,&lt;br&gt;
parses a heavy response synchronously,&lt;br&gt;
and shows nothing useful until everything is “ready.”&lt;/p&gt;

&lt;p&gt;That is the wrong order.&lt;/p&gt;

&lt;p&gt;A faster approach is simple:&lt;br&gt;
stream the response,&lt;br&gt;
parse incrementally,&lt;br&gt;
render progressively,&lt;br&gt;
and let the user interact before every detail arrives.&lt;/p&gt;

&lt;p&gt;Less spinner.&lt;br&gt;
More meaning.&lt;br&gt;
Much earlier.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://javascript.plainenglish.io/why-your-bdui-is-slow-and-how-to-fix-it-in-2025-57b7a936199b" rel="noopener noreferrer"&gt;https://javascript.plainenglish.io/why-your-bdui-is-slow-and-how-to-fix-it-in-2025-57b7a936199b&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>javascript</category>
      <category>react</category>
    </item>
    <item>
      <title>Cookie Management Finally Got a Real API</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:17:46 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/cookie-management-finally-got-a-real-api-5ea0</link>
      <guid>https://dev.to/aleksei_aleinikov/cookie-management-finally-got-a-real-api-5ea0</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg8b6dieyjxo3d9xhbr23.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg8b6dieyjxo3d9xhbr23.png" alt=" " width="720" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For years, &lt;code&gt;document.cookie&lt;/code&gt; made simple cookie work feel harder than it should be.&lt;/p&gt;

&lt;p&gt;String parsing,&lt;br&gt;
manual rebuilding,&lt;br&gt;
no native change events,&lt;br&gt;
and synchronous access on the main thread.&lt;/p&gt;

&lt;p&gt;The Cookie Store API is a much cleaner direction:&lt;br&gt;
async methods,&lt;br&gt;
structured reads and writes,&lt;br&gt;
and reactive updates when cookies change.&lt;/p&gt;

&lt;p&gt;That is a real upgrade for frontend code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://javascript.plainenglish.io/how-to-speed-up-cookie-management-in-2025-with-the-new-asynchronous-api-862003d5e3ff" rel="noopener noreferrer"&gt;https://javascript.plainenglish.io/how-to-speed-up-cookie-management-in-2025-with-the-new-asynchronous-api-862003d5e3ff&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>frontend</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Redirects Are a Security Boundary, Not Just a One-Liner</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:16:06 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/redirects-are-a-security-boundary-not-just-a-one-liner-f61</link>
      <guid>https://dev.to/aleksei_aleinikov/redirects-are-a-security-boundary-not-just-a-one-liner-f61</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fegxciqbzv4vdcz8rladp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fegxciqbzv4vdcz8rladp.png" alt=" " width="720" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A redirect looks simple until it becomes an XSS hole.&lt;/p&gt;

&lt;p&gt;The problem is not just navigation.&lt;br&gt;
It is untrusted input,&lt;br&gt;
unsafe schemes,&lt;br&gt;
bad history behavior,&lt;br&gt;
and code that keeps running after the redirect starts.&lt;/p&gt;

&lt;p&gt;That is why redirects deserve a real helper:&lt;br&gt;
validate the URL,&lt;br&gt;
allow only safe protocols,&lt;br&gt;
optionally restrict domains,&lt;br&gt;
and choose &lt;code&gt;assign&lt;/code&gt; or &lt;code&gt;replace&lt;/code&gt; deliberately.&lt;/p&gt;

&lt;p&gt;Small function.&lt;br&gt;
Big difference.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://javascript.plainenglish.io/why-your-redirects-are-vulnerable-and-how-to-fix-them-in-2025-7fb8ced03e67" rel="noopener noreferrer"&gt;https://javascript.plainenglish.io/why-your-redirects-are-vulnerable-and-how-to-fix-them-in-2025-7fb8ced03e67&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  javascript #webdev #frontend #security
&lt;/h1&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>web</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Why Human Dependency Risk Can Matter More Than CVEs</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:14:50 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/why-human-dependency-risk-can-matter-more-than-cves-jck</link>
      <guid>https://dev.to/aleksei_aleinikov/why-human-dependency-risk-can-matter-more-than-cves-jck</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffmx8gwstnjcdxwz3cibw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffmx8gwstnjcdxwz3cibw.png" alt=" " width="720" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A lot of security teams still look for fragility only in technology.&lt;/p&gt;

&lt;p&gt;But serious incidents often start somewhere else:&lt;br&gt;
one person becomes the release path,&lt;br&gt;
one approver becomes the bottleneck,&lt;br&gt;
one “temporary” bypass becomes normal.&lt;/p&gt;

&lt;p&gt;That is why Human Risk Graph matters.&lt;/p&gt;

&lt;p&gt;It makes hidden dependency structures visible:&lt;br&gt;
single points of failure,&lt;br&gt;
decision concentration,&lt;br&gt;
and human bypass paths that quietly weaken security long before any breach happens.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://levelup.gitconnected.com/why-human-risk-graph-hrg-matters-more-than-cves-in-2026-08436e649026" rel="noopener noreferrer"&gt;https://levelup.gitconnected.com/why-human-risk-graph-hrg-matters-more-than-cves-in-2026-08436e649026&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  security #devsecops #riskmanagement #cybersecurity
&lt;/h1&gt;

</description>
      <category>security</category>
      <category>development</category>
      <category>devops</category>
      <category>devplusplus</category>
    </item>
    <item>
      <title>If Your Docker Release Process Depends on Memory, It Is Already Fragile</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:13:39 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/if-your-docker-release-process-depends-on-memory-it-is-already-fragile-5bma</link>
      <guid>https://dev.to/aleksei_aleinikov/if-your-docker-release-process-depends-on-memory-it-is-already-fragile-5bma</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzml7hzcvm31iy44z28g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzml7hzcvm31iy44z28g.png" alt=" " width="720" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A release process is weak the moment it only works because you remember the exact steps.&lt;/p&gt;

&lt;p&gt;That is why even a small Docker app benefits from CI/CD:&lt;br&gt;
fail early in CI,&lt;br&gt;
publish automatically,&lt;br&gt;
and make the delivery path repeatable.&lt;/p&gt;

&lt;p&gt;Automation is not complexity here.&lt;br&gt;
It is stability.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/devmap/how-i-set-up-ci-cd-for-a-docker-app-in-2026-444439883a19" rel="noopener noreferrer"&gt;https://medium.com/devmap/how-i-set-up-ci-cd-for-a-docker-app-in-2026-444439883a19&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  docker #devops #automation #cicd
&lt;/h1&gt;

</description>
      <category>docker</category>
      <category>devops</category>
      <category>devplusplus</category>
      <category>cicd</category>
    </item>
    <item>
      <title>Your Ingress Controller Choice Is Really a Choice About Operational Pain</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:12:31 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/your-ingress-controller-choice-is-really-a-choice-about-operational-pain-2mm5</link>
      <guid>https://dev.to/aleksei_aleinikov/your-ingress-controller-choice-is-really-a-choice-about-operational-pain-2mm5</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qqlahvlefcwkh8snjnx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qqlahvlefcwkh8snjnx.png" alt=" " width="720" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every ingress controller can route traffic.&lt;/p&gt;

&lt;p&gt;That is not the hard part.&lt;/p&gt;

&lt;p&gt;The real question is what you want to optimize for:&lt;br&gt;
deep control with NGINX,&lt;br&gt;
faster and friendlier setup with Traefik,&lt;br&gt;
or stronger performance discipline with HAProxy.&lt;/p&gt;

&lt;p&gt;Pick the wrong fit, and the pain shows up later in operations.&lt;br&gt;
&lt;a href="https://levelup.gitconnected.com/which-kubernetes-ingress-controller-should-you-pick-in-2026-f0bc8b77dc47" rel="noopener noreferrer"&gt;https://levelup.gitconnected.com/which-kubernetes-ingress-controller-should-you-pick-in-2026-f0bc8b77dc47&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  kubernetes #ingress #devops #platformengineering
&lt;/h1&gt;

</description>
      <category>devops</category>
      <category>webdev</category>
      <category>cloud</category>
      <category>sre</category>
    </item>
    <item>
      <title>Backups Can Save Your Data. They Cannot Automatically Save Your Data Warehouse</title>
      <dc:creator>Aleksei Aleinikov</dc:creator>
      <pubDate>Fri, 03 Apr 2026 07:11:29 +0000</pubDate>
      <link>https://dev.to/aleksei_aleinikov/backups-can-save-your-data-they-cannot-automatically-save-your-data-warehouse-dog</link>
      <guid>https://dev.to/aleksei_aleinikov/backups-can-save-your-data-they-cannot-automatically-save-your-data-warehouse-dog</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1g166xktk1zlr6lhzru.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1g166xktk1zlr6lhzru.png" alt=" " width="720" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A lot of teams say the same thing after a warehouse incident:&lt;/p&gt;

&lt;p&gt;“We have backups. We’re fine.”&lt;/p&gt;

&lt;p&gt;Not necessarily.&lt;/p&gt;

&lt;p&gt;A backup can restore files.&lt;br&gt;
It cannot automatically restore ingestion order, orchestration, metadata, access, downstream trust, or business visibility.&lt;/p&gt;

&lt;p&gt;That is why DWH resilience is not just a backup problem.&lt;br&gt;
It is a disaster recovery problem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.dataengineerthings.org/why-backups-alone-wont-save-your-dwh-e2056ad91ef4" rel="noopener noreferrer"&gt;https://blog.dataengineerthings.org/why-backups-alone-wont-save-your-dwh-e2056ad91ef4&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  dataengineering #datawarehouse #devops #bigdata
&lt;/h1&gt;

</description>
      <category>data</category>
      <category>dataengineering</category>
      <category>bigdata</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
