<!DOCTYPE html><html lang="en"><head><meta http-equiv="Content-Type" content="text/html charset=UTF-8"><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><meta name="x-apple-disable-message-reformatting"><title>TLDR DevOps</title><meta name="color-scheme" content="light dark"><meta name="supported-color-schemes" content="light dark"><style type="text/css">
:root {
color-scheme: light dark; supported-color-schemes: light dark;
}
*,
*:after,
*:before {
-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
}
* {
-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
}
html,
body,
.document {
width: 100% !important; height: 100% !important; margin: 0; padding: 0;
}
body {
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
}
div[style*="margin: 16px 0"] {
margin: 0 !important;
}
table,
td {
mso-table-lspace: 0pt; mso-table-rspace: 0pt;
}
table {
border-spacing: 0; border-collapse: collapse; table-layout: fixed; margin: 0 auto;
}
img {
-ms-interpolation-mode: bicubic; max-width: 100%; border: 0;
}
*[x-apple-data-detectors] {
color: inherit !important; text-decoration: none !important;
}
.x-gmail-data-detectors,
.x-gmail-data-detectors *,
.aBn {
border-bottom: 0 !important; cursor: default !important;
}
.btn {
-webkit-transition: all 200ms ease; transition: all 200ms ease;
}
.btn:hover {
background-color: #f67575; border-color: #f67575;
}
* {
font-family: Arial, Helvetica, sans-serif; font-size: 18px;
}
@media screen and (max-width: 600px) {
.container {
width: 100%; margin: auto;
}
.stack {
display: block!important; width: 100%!important; max-width: 100%!important;
}
.btn {
display: block; width: 100%; text-align: center;
}
}
body,
p,
td,
tr,
.body,
table,
h1,
h2,
h3,
h4,
h5,
h6,
div,
span {
background-color: #FEFEFE !important; color: #010101 !important;
}
@media (prefers-color-scheme: dark) {
body,
p,
td,
tr,
.body,
table,
h1,
h2,
h3,
h4,
h5,
h6,
div,
span {
background-color: #27292D !important; color: #FEFEFE !important;
}
}
a {
color: inherit !important; text-decoration: underline !important;
}
</style><!--[if mso | ie]>
<style type="text/css">
a {
background-color: #FEFEFE !important; color: #010101 !important;
}
@media (prefers-color-scheme: dark) {
a {
background-color: #27292D !important; color: #FEFEFE !important;
}
}
</style>
<![endif]--></head><body class="">
<div style="display: none; max-height: 0px; overflow: hidden;">Apache Spark 4.1 introduces Spark Declarative Pipelines (SDP) for declarative data engineering and enables Real-Time Mode in Structured Streaming โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ </div>
<div style="display: none; max-height: 0px; overflow: hidden;">
<br>
</div>
<table align="center" class="document"><tbody><tr><td valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" class="container" width="600"><tbody><tr class="inner-body"><td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr class="header"><td bgcolor="" class="container">
<table width="100%"><tbody><tr><td class="container">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" style="margin-top: 0px;" width="100%"><tbody><tr><td style="padding: 0px;">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div style="text-align: center;">
<span style="margin-right: 0px;"><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Ftldr.tech%2Fdevops%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/H5Isz_qJbnkvdFNMzV6VPoNqE__A9-73DvZcl929tAc=439" rel="noopener noreferrer" target="_blank"><span>Sign Up</span></a>
|<span style="margin-right: 2px; margin-left: 2px;"><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fadvertise.tldr.tech%2F%3Futm_source=tldrdevops%26utm_medium=newsletter%26utm_campaign=advertisetopnav/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/nP5ENlGsxRCZMHAnFVTkhFtxzucP6RJSKNyn3IsgB1Q=439" rel="noopener noreferrer" target="_blank"><span>Advertise</span></a></span>|<span style="margin-left: 2px;"><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fa.tldrnewsletter.com%2Fweb-version%3Fep=1%26lc=a95aa396-be20-11f0-8f8e-81ed8dd4b51d%26p=13b401a4-ed49-11f0-91e0-b93572017b6a%26pt=campaign%26t=1767961682%26s=8194d17e25c4e5c1f3ecfdaf87acfa8a5bc7ca644d9bb908519158ec7600f2e2/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/9zI_XPLf6TMhkrj0sp7Kz5GDrTHIzLPLUid_M69ork0=439"><span>View Online</span></a></span>
<br>
</span></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="text-align: center;"><span data-darkreader-inline-color="" style="--darkreader-inline-color:#3db3ff; color: rgb(51, 175, 255) !important; font-size: 30px;">T</span><span style="font-size: 30px;"><span data-darkreader-inline-color="" style="color: rgb(232, 192, 96) !important; --darkreader-inline-color:#e8c163; font-size:30px;">L</span><span data-darkreader-inline-color="" style="color: rgb(101, 195, 173) !important; --darkreader-inline-color:#6ec7b2; font-size:30px;">D</span></span><span data-darkreader-inline-color="" style="--darkreader-inline-color:#dd6e6e; color: rgb(220, 107, 107) !important; font-size: 30px;">R</span>
<br>
</td></tr></tbody></table>
<br>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr id="together-with"><td align="center" height="20" style="vertical-align:middle !important;" valign="middle" width="100%"><strong style="vertical-align:middle !important; height: 100%;">Together With </strong>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/IX0jHP3X6I78a2xRnHiNfXuy4mXv0zpxI9dtvtcdE58=439"><img src="https://images.tldr.tech/unleash.png" valign="middle" style="vertical-align: middle !important; height: 100%;" alt="Unleash"></a></td></tr></tbody></table>
<table style="table-layout: fixed; width:100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;">
<div style="text-align: center;">
<h1><strong>TLDR DevOps <span id="date">2026-01-09</span></strong></h1>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width:100%;" width="100%"><tbody><tr id="sponsy-copy"><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/2/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/NOAIx-qlOw2If2Ygown987wWR1vMn7UMSg7fvCnkhkc=439">
<span>
<strong>What happens when a 300-year-old bank goes all-in on feature flags? (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Lloyds Banking Group has been around since 1765. Now they're running one of the most ambitious digital transformations in UK banking โ with feature flags at the center of it.<p></p><p><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/3/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/tkRcBDhNeuFnXyhv6IRDzxgGuTw0ubtDLzAW8V672Rg=439" rel="noopener noreferrer nofollow" target="_blank"><span>In this live webinar</span></a>, Daniel Woollery (Head of Digital Services, Lloyds) shares how the bank scaled <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/4/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/CeZ15Rug74xJJ9TspnxcFGHCEwjmqL68KgmTzRQCs4k=439" rel="noopener noreferrer nofollow" target="_blank"><span>FeatureOps</span></a> from scattered team experiments to an enterprise-wide platform. </p>
<p>๐ On the agenda: migrating hundreds of flags off legacy systems, building governance that <em>accelerates</em> delivery, and rolling out GenAI with feature-level risk controls.</p>
<p>๐ฐ๏ธ Webinar starts January 19 @ 10AM ET. <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/5/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/62OJ_81CHD_GjOVhJnbtStiIoCvim0ooBLMLUrGzmCs=439" rel="noopener noreferrer nofollow" target="_blank"><span>Save your spot</span></a>
</p>
</span></span></div>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr>
<tr bgcolor=""><td class="container">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td style="padding: 0px;">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">๐ฑ</span></div></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>News & Trends</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.devopsdigest.com%2Fred-hat-expands-collaboration-with-nvidia%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/wBargdFTGRYeT3Y5yfDSWfIyGw0Uy-6BsvOlStfdwYk=439">
<span>
<strong>Red Hat Expands Collaboration with NVIDIA (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Red Hat expanded its collaboration with NVIDIA to deliver Day 0 support for the NVIDIA Rubin platform across Red Hat Enterprise Linux, OpenShift, and Red Hat AI. The partnership targets rack-scale enterprise AI with optimized performance, security, and hybrid cloud consistency.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.databricks.com%2Fblog%2Fintroducing-apache-sparkr-41%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/kb9kDrU8ouIvPQSW9p-s79HOHa_kS1SWQTkil9FQiMY=439">
<span>
<strong>Introducing Apache Sparkยฎ 4.1 (6 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Apache Spark 4.1 introduces Spark Declarative Pipelines (SDP) for a declarative data engineering approach, and enables Real-Time Mode in Structured Streaming to achieve single-digit millisecond latencies for stateless workloads. The update also delivers GA support for SQL Scripting, expands PySpark capabilities with Arrow integration, and enhances Spark Connect for machine learning.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fkubernetes.io%2Fblog%2F2026%2F01%2F07%2Fkubernetes-v1-35-csi-sa-tokens-secrets-field-beta%2F%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/sikqmhtG_AwhhV9_EbmH2G0nf9Tfi6f6s2s0r5O07Cc=439">
<span>
<strong>Kubernetes v1.35: A Better Way to Pass Service Account Tokens to CSI Drivers (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Kubernetes v1.35 introduces a beta opt-in solution for CSI drivers, enabling them to securely receive service account tokens through the `secrets` field in `NodePublishVolumeRequest` instead of the less secure `volume_context`. This addresses past logging vulnerabilities, such as CVE-2023-2878, by providing a safer, more consistent method for handling sensitive data.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">๐</span></div>
</div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Opinions & Tutorials</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.unkey.com%2Fblog%2Fserverless-exit%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/BaFh3ZudsFOiGyLLpMh3tp1TxUr-Y5CxBDhmGwiVpug=439">
<span>
<strong>Why we're leaving serverless (5 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Unkey migrated from Cloudflare Workers to stateful Go servers, achieving 6x lower latency by eliminating external cache network requests and simplifying architecture from complex distributed pipelines to straightforward in-memory batching. The move enabled self-hosting and platform independence, improved developer experience, and reduced operational complexity.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.pcloadletter.dev%2Fblog%2Fcraftsmanship-is-dead%2F%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/3Knf7S3pkahBkokQ999pD8eTBysP_ppkhNV1ctw4gI0=439">
<span>
<strong>Software craftsmanship is dead (3 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Modern software development prioritizes rapid feature delivery and short-term impact metrics over long-term code quality and maintainability. Incentive structures, Agile backlog pressure, low deployment risk, and a lack of emphasis on craftsmanship have collectively contributed to declining code quality across organizations.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">๐งโ๐ป</span></div>
</div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Resources & Tools</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fresolve.ai%2Fblog%2Frole-of-multi-agent-systems-AI-native-engineering%3Futm_source=tldr-devops%26utm_medium=3p-newsletter-1-9%26utm_campaign=ai-for-production-systems%26utm_id=ai-for-prod/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/fnLpkcoaL8O_10ilJ9jM6_IKvKioW16Uev7kjlHs_x4=439">
<span>
<strong>Making software engineers AI-native (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
AI-native engineering = <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fresolve.ai%2Fblog%2Frole-of-multi-agent-systems-AI-native-engineering%3Futm_source=tldr-devops%26utm_medium=3p-newsletter-1-9%26utm_campaign=ai-for-production-systems%26utm_id=ai-for-prod/2/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/lijAGgsjV1l1EIKBjXbrcjmOy6Elqt0vLFXOSOx84vg=439" rel="noopener noreferrer nofollow" target="_blank"><span>engineers set the goals and agents perform the work</span></a>. When agents handle log analysis, metric correlation, and timeline reconstruction during an incident, engineers can shift their focus to architectural decisions and system design rather than tactical investigation.
<p></p>
<p>Download the <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fresolve.ai%2Fresources%2Febook%2Fai-for-production-systems%3Futm_source=tldr-devops%26utm_medium=3p-newsletter-1-9%26utm_campaign=ai-for-production-systems%26utm_id=ai-for-prod/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/jpu_0GWP7hZurIjK_4VN6N1SLZ3Xq3oHRWvZO-hngyU=439" rel="noopener noreferrer nofollow" target="_blank"><span>free AI for Prod ebook</span></a> to learn more about how AI is changing core engineering workflows.
</p>
</span></span></div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fgithub.com%2FDayuanJiang%2Fnext-ai-draw-io%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/_TO7GVuzT-4pVcQRiXYHIg9PO_DjhmcZreekTedo06k=439">
<span>
<strong>Next AI Draw.io (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Next AI Draw.io is an AI-powered Next.js web application that enables users to create, modify, and enhance draw.io diagrams using natural language commands and AI-assisted visualization. This tool supports various diagram types and recommends powerful models like Claude Sonnet 4.5 for optimal performance.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fgithub.com%2FFission-AI%2FOpenSpec%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/yJK3LhbZiDRPepqNVugFOgAFS8LiU6qZ5D8bqiKEk4E=439">
<span>
<strong>OpenSpec (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
OpenSpec is a spec-driven development (SDD) framework for AI coding assistants that aims to align humans and AI by locking intent with a lightweight specification workflow before any code is written. The system provides deterministic, reviewable outputs, addressing the unpredictability of AI when requirements are confined to chat history.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">๐</span></div></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><strong><h1>Miscellaneous</h1></strong></div>
</div>
</td></tr></tbody></table>
<table bgcolor="" style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fgrafana.com%2Fblog%2Fimprove-service-reliability-and-ops-culture-with-grafana-cloud-service-center%2F%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/I6_oeh6E0ohosxcaHpMDSlsLemSFVO1Ch6KjJ0RmW64=439">
<span>
<strong>Improve service reliability and ops culture with Grafana Cloud Service Center (7 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Grafana Cloud's Service Center provides a unified hub for monitoring service reliability, performance trends, incidents, SLOs, alerts, and on-call rotations to prevent engineer burnout and improve operational culture. The feature centralizes scattered data into service pages that help teams make data-driven decisions about reliability improvements and workload balancing.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.pgedge.com%2Fblog%2Fpostgresql-18-returning-enhancements-a-game-changer-for-modern-applications%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/aq3snqqRYEFIxKViSnXy8HBwkkAZKYINofpF3OKGISE=439">
<span>
<strong>PostgreSQL 18 RETURNING Enhancements: A Game Changer for Modern Applications (7 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
PostgreSQL 18 significantly enhances the RETURNING clause by introducing OLD and NEW aliases across INSERT, UPDATE, DELETE, and MERGE, enabling developers to access before-and-after row values in a single atomic statement. This removes the need for triggers or extra queries, simplifies change tracking and auditing, and makes MERGE-based upserts far more powerful and maintainable.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fblog.cloudflare.com%2Fbgp-route-leak-venezuela%2F%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/rqmhe1wmoi8weASguSnffMdQDYFh_4sZVy4H1SIH1_c=439">
<span>
<strong>A closer look at a BGP anomaly in Venezuela (9 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
A routing leak in Venezuela on January 2, involving AS8048 (CANTV), was noted by a cybersecurity newsletter amid news of Nicolรกs Maduro's capture, initially suggesting potential malfeasance. However, Cloudflare Radar data showed eleven similar, likely accidental, Type 1 hairpin route leaks by CANTV since early December, indicating the issue stemmed from insufficient routing export and import policies rather than malicious intent.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">โก</span></div></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Quick Links</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table bgcolor="" style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fblogs.perficient.com%2F2025%2F12%2F17%2Fdeploy-microservices-on-aks-using-github-actions%2F%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/VZa4cRTVitOD8-8IFxahoyX8MV0TVjMkEakJPHW_TA8=439">
<span>
<strong>Deploy Microservices On AKS using GitHub Actions (2 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
GitHub Actions automates CI/CD pipelines for deploying microservices to Azure Kubernetes Service by building Docker images, pushing them to Azure Container Registry, and deploying to AKS clusters using kubectl.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.cncf.io%2Fblog%2F2026%2F01%2F07%2Fholmesgpt-agentic-troubleshooting-built-for-the-cloud-native-era%2F%3Futm_source=tldrdevops/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/DwpI9qw_UCglzCD6tPGbfs_5MtaDR4ctneS3A8gCZxk=439">
<span>
<strong>HolmesGPT: Agentic troubleshooting built for the cloud native era (2 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
HolmesGPT, an open-source AI troubleshooting agent for Kubernetes and cloud-native environments, was accepted as a CNCF Sandbox project in October.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" style="word-break: break-word; vertical-align: top; padding: 5px 10px;">
<p style="padding: 0; margin: 0; font-size: 22px; color: #000000; line-height: 1.6; font-weight: bold;">
Love TLDR? Tell your friends and get rewards!
</p>
</td></tr>
<tr><td class="container" style="padding: 0px 10px 15px;">
<div class="text-block">
Share your referral link below with friends to get free TLDR swag!
</div>
</td></tr>
<tr><td align="left" style="padding: 10px;">
<div class="text-block">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Frefer.tldr.tech%2F2609ae2f%2F10/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/h7roZbukk18xocGUeBfBlI_eHIKA1zrwhsCp06Ml59E=439" style="color: #464ba4; text-decoration: underline;">https://refer.tldr.tech/2609ae2f/10</a>
</div>
</td></tr>
<tr></tr>
<tr><td align="left" style="padding:5px 10px;">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fhub.sparklp.co%2Fsub_f0dd9d8cb21d%2F10/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/ftBlvg_LxI2oLpuEH-unNUg_B1k6Xc8iNlwSqmSmL5c=439" style="font-size: 16px; line-height: 1.6; padding: 10px 0; display: inline-block; text-decoration: underline;"><span style="mso-text-raise:13pt; text-decoration: underline;">Track your referrals here.</span></a>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" style="word-break: break-word; vertical-align: top; padding: 5px 10px;">
<p style="padding: 0; margin: 0; font-size: 22px; color: #000000; line-height: 1.6; font-weight: bold;">
Want to advertise in TLDR? ๐ฐ
</p>
<div class="text-block" style="margin-top: 10px;">
If your company is interested in reaching an audience of devops professionals and decision makers, you may want to <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fadvertise.tldr.tech%2F%3Futm_source=tldrdevops%26utm_medium=newsletter%26utm_campaign=advertisecta/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/eMU0a3AN-zP8ojfElJIWnncj7jf89aSUfJBsGhTfX8o=439"><strong><span>advertise with us</span></strong></a>.
</div>
<br>
<!-- New "Want to work at TLDR?" section -->
<p style="padding: 0; margin: 0; font-size: 22px; color: #000000; line-height: 1.6; font-weight: bold;">
Want to work at TLDR? ๐ผ
</p>
<div class="text-block" style="margin-top: 10px;">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fjobs.ashbyhq.com%2Ftldr.tech/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/MY7kO1pdDt57wk_xzokuQkOTn_j_37oNQfJKMEBqIY8=439" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>Apply here</strong></a>,
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fjobs.ashbyhq.com%2Ftldr.tech%2Fc227b917-a6a4-40ce-8950-d3e165357871/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/-HPA0CR0L4VX_7R68dN7J_qLxJzlCr87JDCjz4n1r1k=439" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>create your own role</strong></a> or send a friend's resume to <a href="mailto:jobs@tldr.tech" style="color: #0000EE; text-decoration: underline;">jobs@tldr.tech</a> and get $1k if we hire them! TLDR is one of <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.linkedin.com%2Ffeed%2Fupdate%2Furn:li:activity:7401699691039830016%2F/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/ZJJ5LNWaihebf8E67h_49dtyzbGsy90iHHn18jynVwI=439" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>Inc.'s Best Bootstrapped businesses</strong></a> of 2025.
</div>
<br>
<div class="text-block">
If you have any comments or feedback, just respond to this email!
<br>
<br> Thanks for reading,
<br>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.linkedin.com%2Fin%2Fkunaljaydesai%2F/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/QAR-IOnVF_10ZJ_IiuMktu9Cert4CFy4TCDkOdh6Y6k=439"><span>Kunal Desai</span></a> & <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.linkedin.com%2Fin%2Fmartin-hauskrecht%2F/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/ACPzpbfXUJRAIimqDIHkWx_hAYK0BpR61w8SZv6G-0I=439"><span>Martin Hauskrecht</span></a>
<br>
<br>
</div>
<br>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block" id="testing-id">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Ftldr.tech%2Fdevops%2Fmanage%3Femail=donut.sweater.23%2540rss.andrealin.it/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/eekGKqEzyoH08eaN9mdQRYOtffJzQBVfvxoSVpfQbuY=439">Manage your subscriptions</a> to our other newsletters on tech, startups, and programming. Or if TLDR DevOps isn't for you, please <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fa.tldrnewsletter.com%2Funsubscribe%3Fep=1%26l=1c5ddf10-b6dc-11ed-a12f-33c00cd07e37%26lc=a95aa396-be20-11f0-8f8e-81ed8dd4b51d%26p=13b401a4-ed49-11f0-91e0-b93572017b6a%26pt=campaign%26pv=4%26spa=1767960076%26t=1767961682%26s=c2084d498dd16f11db8a12f953462911266873b301a3d803df85e93b69e43821/1/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/y43EnUP3DvAmpyyH3_fU2oXcEgtAA36PWQyseUfO5TM=439">unsubscribe</a>.
<br>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
<img alt="" src="http://tracking.tldrnewsletter.com/CI0/0100019ba2ba6142-f5d10720-bef8-4cb8-9338-6d86500d8e80-000000/7iSxCdqijrj5EdCftj529O4-3ztSeLp6j-FkgD8Tznc=439" style="display: none; width: 1px; height: 1px;">
</body></html>