<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Testinag on marktaguiad.dev</title>
    <link>https://marktaguiad.dev/tags/testinag/</link>
    <description>Recent content in Testinag on marktaguiad.dev</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <managingEditor>marktaguiad@marktaguiad.dev (Mark Taguiad)</managingEditor>
    <webMaster>marktaguiad@marktaguiad.dev (Mark Taguiad)</webMaster>
    <copyright>marktaguiad.dev</copyright>
    <lastBuildDate>Fri, 03 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://marktaguiad.dev/tags/testinag/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Istio: A/B Testing and Canary Deployment</title>
      <link>https://marktaguiad.dev/post/k8s-istio-quatro/</link>
      <pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate><author>marktaguiad@marktaguiad.dev (Mark Taguiad)</author>
      <guid>https://marktaguiad.dev/post/k8s-istio-quatro/</guid>
      <description>&lt;img&#xA;  class=&#34;theme-image&#34;&#xA;  src=&#34;https://marktaguiad.dev/images/devops/k8s-notes/istio/ab-testing/k8s-ab-testing-001.png&#34;&#xA;  data-light=&#34;/images/devops/k8s-notes/istio/ab-testing/k8s-ab-testing-001.png&#34;&#xA;  data-dark=&#34;/images/devops/k8s-notes/istio/ab-testing/k8s-ab-testing-dark-001.png&#34;&#xA;  alt=&#34;Architecture Diagram&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;A/B testing and Canary Deployment allows you to route traffic between different versions of your application to compare performance, behavior, or user experience.&lt;/p&gt;&#xA;&lt;p&gt;With Istio, you can control traffic without changing application code—just by configuring the service mesh.&lt;/p&gt;&#xA;&lt;p&gt;Replicate this using this &lt;a href=&#34;https://github.com/mcbtaguiad/istio-demo&#34;&gt;repo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;kubectl apply -k kube/ab-testing/demo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h1&gt;&#xA;&lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ol&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#ab-testing-vs-canary-deployment&#34;&gt;A/B Testing vs Canary Deployment&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#ab-testing&#34;&gt;A/B Testing&lt;/a&gt;&#xA;      &lt;ol&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#labels&#34;&gt;Labels&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#service&#34;&gt;Service&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#destination-rule&#34;&gt;Destination Rule&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#virtual-service&#34;&gt;Virtual Service&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#rollout-strategy&#34;&gt;Rollout Strategy&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#roll-back-strategy&#34;&gt;Roll-back Strategy&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ol&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#canary-deployment&#34;&gt;Canary Deployment&lt;/a&gt;&#xA;      &lt;ol&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#rollout-strategy-1&#34;&gt;Rollout Strategy&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ol&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#observe-metrics&#34;&gt;Observe Metrics&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/nav&gt;&#xA;&lt;h3 id=&#34;ab-testing-vs-canary-deployment&#34;&gt;A/B Testing vs Canary Deployment&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspect&lt;/th&gt;&#xA;          &lt;th&gt;Canary Deployment&lt;/th&gt;&#xA;          &lt;th&gt;A/B Testing&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Purpose&lt;/td&gt;&#xA;          &lt;td&gt;Safe rollout&lt;/td&gt;&#xA;          &lt;td&gt;Experimentation&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Traffic split&lt;/td&gt;&#xA;          &lt;td&gt;Gradual (10% → 100%)&lt;/td&gt;&#xA;          &lt;td&gt;Fixed (often 50/50)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Decision basis&lt;/td&gt;&#xA;          &lt;td&gt;Errors, latency&lt;/td&gt;&#xA;          &lt;td&gt;User behavior, metrics&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;End goal&lt;/td&gt;&#xA;          &lt;td&gt;Replace old version&lt;/td&gt;&#xA;          &lt;td&gt;Pick best variant&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Versions&lt;/td&gt;&#xA;          &lt;td&gt;Usually same feature&lt;/td&gt;&#xA;          &lt;td&gt;Different UX/features&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;ab-testing&#34;&gt;A/B Testing&lt;/h3&gt;&#xA;&lt;h4 id=&#34;labels&#34;&gt;Labels&lt;/h4&gt;&#xA;&lt;p&gt;Label your deployments properly.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
