{"id":402,"date":"2025-06-24T06:43:54","date_gmt":"2025-06-24T06:43:54","guid":{"rendered":"https:\/\/sreschool.com\/blog\/?p=402"},"modified":"2026-05-05T07:29:43","modified_gmt":"2026-05-05T07:29:43","slug":"canary-deployment-in-devsecops","status":"publish","type":"post","link":"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/","title":{"rendered":"Canary Deployment in DevSecOps"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><strong>1. Introduction &amp; Overview<\/strong><\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">What is Canary Deployment?<\/h3>\n\n\n\n<p>Canary deployment is a progressive software release technique where a new version of an application is gradually rolled out to a subset of users before it is released to the entire infrastructure. Named after the &#8220;canary in a coal mine&#8221; analogy, this approach helps detect issues in production with minimal user impact.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">History or Background<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Origins in Risk Detection<\/strong>: The concept derives from using canaries in coal mines to detect toxic gases. Similarly, a &#8220;canary release&#8221; helps detect issues early.<\/li>\n\n\n\n<li><strong>Adopted by Tech Giants<\/strong>: Companies like Google, Netflix, and Facebook pioneered and normalized canary deployments for their continuous delivery pipelines.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Why is it Relevant in DevSecOps?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Early Detection of Security Issues<\/strong>: Identify vulnerabilities before full-scale deployment.<\/li>\n\n\n\n<li><strong>Reduced Blast Radius<\/strong>: Only a small portion of users are impacted in case of failure.<\/li>\n\n\n\n<li><strong>Compliance and Auditability<\/strong>: Supports gradual release, logging, and rollback mechanisms.<\/li>\n\n\n\n<li><strong>Integration with CI\/CD<\/strong>: Fits naturally within automated pipelines.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. Core Concepts &amp; Terminology<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Key Terms and Definitions<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Term<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Canary<\/strong><\/td><td>A small subset of production users or servers receiving the new code version.<\/td><\/tr><tr><td><strong>Baseline<\/strong><\/td><td>The current stable version used as a comparison point.<\/td><\/tr><tr><td><strong>Rollout Strategy<\/strong><\/td><td>The plan for incrementally increasing user exposure to the canary version.<\/td><\/tr><tr><td><strong>Rollback<\/strong><\/td><td>Reverting to a previous stable version upon failure.<\/td><\/tr><tr><td><strong>Gatekeeper<\/strong><\/td><td>Tooling (manual\/automated) that checks metrics before allowing further rollout.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">How It Fits into the DevSecOps Lifecycle<\/h3>\n\n\n\n<p>Canary deployment spans several phases:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Plan<\/strong>: Define rollout policies and failure thresholds.<\/li>\n\n\n\n<li><strong>Build<\/strong>: Code is built and scanned.<\/li>\n\n\n\n<li><strong>Test<\/strong>: Canary receives monitored traffic.<\/li>\n\n\n\n<li><strong>Release<\/strong>: Gradual production exposure.<\/li>\n\n\n\n<li><strong>Monitor<\/strong>: Real-time observability and alerting.<\/li>\n\n\n\n<li><strong>Respond<\/strong>: Rollback or promote based on results.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. Architecture &amp; How It Works<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Components &amp; Internal Workflow<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>CI\/CD Pipeline<\/strong>: Builds and packages the application.<\/li>\n\n\n\n<li><strong>Deployment Controller<\/strong>: Orchestrates rollout (e.g., Argo Rollouts, Spinnaker).<\/li>\n\n\n\n<li><strong>Routing Layer<\/strong>: Splits traffic (e.g., Istio, NGINX).<\/li>\n\n\n\n<li><strong>Monitoring Tools<\/strong>: Collects telemetry (e.g., Prometheus, Datadog).<\/li>\n\n\n\n<li><strong>Policy Engine<\/strong>: Enforces SLOs and security gates.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">High-Level Architecture Diagram (Text Description)<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>           +---------------------+\n           |   CI\/CD Pipeline    |\n           +----------+----------+\n                      |\n                      v\n        +-----------------------------+\n        | Canary Deployment Controller|\n        +----------+------------------+\n                   |\n         +---------+----------+\n         |                    |\n   +-----v-----+        +-----v------+\n   | Canary V2 |        | Baseline V1|\n   +-----------+        +------------+\n         |                     |\n         +---------+-----------+\n                   v\n             Traffic Splitter\n              (e.g., Istio)\n                   |\n                   v\n            +-------------+\n            | End Users   |\n            +-------------+\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Integration Points with CI\/CD or Cloud Tools<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Tool Category<\/th><th>Examples<\/th><th>Integration Role<\/th><\/tr><\/thead><tbody><tr><td>CI\/CD<\/td><td>Jenkins, GitLab CI, GitHub Actions<\/td><td>Trigger canary releases<\/td><\/tr><tr><td>Deployment<\/td><td>ArgoCD, Spinnaker<\/td><td>Manage rollout logic<\/td><\/tr><tr><td>Service Mesh<\/td><td>Istio, Linkerd<\/td><td>Control traffic split<\/td><\/tr><tr><td>Observability<\/td><td>Prometheus, Grafana, Datadog<\/td><td>Monitor health and metrics<\/td><\/tr><tr><td>Cloud Platforms<\/td><td>AWS App Mesh, GCP, Azure<\/td><td>Native support or add-ons for canary logic<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. Installation &amp; Getting Started<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisites<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kubernetes cluster (e.g., via Minikube, EKS, GKE)<\/li>\n\n\n\n<li>Helm installed<\/li>\n\n\n\n<li><code>kubectl<\/code> and <code>argo<\/code> CLI tools<\/li>\n\n\n\n<li>Basic CI\/CD tool configured (e.g., GitHub Actions)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Hands-on Guide: Canary with Argo Rollouts + Istio<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Step 1: Install Argo Rollouts<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl create ns argo-rollouts\nkubectl apply -n argo-rollouts -f https:\/\/github.com\/argoproj\/argo-rollouts\/releases\/latest\/download\/install.yaml\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Step 2: Deploy a Canary-enabled Application<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: argoproj.io\/v1alpha1\nkind: Rollout\nmetadata:\n  name: demo-app\nspec:\n  replicas: 4\n  strategy:\n    canary:\n      steps:\n        - setWeight: 25\n        - pause: { duration: 2m }\n        - setWeight: 50\n        - pause: { duration: 2m }\n  selector:\n    matchLabels:\n      app: demo\n  template:\n    metadata:\n      labels:\n        app: demo\n    spec:\n      containers:\n      - name: demo\n        image: myregistry\/demo:v2\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Step 3: Apply and Monitor<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl apply -f rollout.yaml\nkubectl argo rollouts get rollout demo-app --watch\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. Real-World Use Cases<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use Case 1: Vulnerability Testing in Production<\/h3>\n\n\n\n<p>A security patch is deployed to 10% of users. Security tools monitor for exploit attempts or regressions before full rollout.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use Case 2: Feature Flag Management<\/h3>\n\n\n\n<p>New payment features are canaried behind flags, ensuring fraud detection systems remain stable before wide exposure.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use Case 3: Cloud-Native SaaS Platforms<\/h3>\n\n\n\n<p>Platforms like Shopify use canary deployment to continuously push changes to their massive user base without risking outages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use Case 4: Industry-Specific \u2013 Healthcare<\/h3>\n\n\n\n<p>EHR systems (like Epic or Cerner integrations) use canary to test new compliance workflows with a small group of clinics.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>6. Benefits &amp; Limitations<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Key Advantages<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reduced Risk<\/strong>: Failures are detected early.<\/li>\n\n\n\n<li><strong>Fast Feedback Loop<\/strong>: Enables real-time testing in production.<\/li>\n\n\n\n<li><strong>Improved Security<\/strong>: Less surface area exposed to vulnerabilities.<\/li>\n\n\n\n<li><strong>Supports Automation<\/strong>: Easily integrates with pipelines.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Limitations<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Limitation<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Complexity<\/td><td>Requires sophisticated observability and rollout tools.<\/td><\/tr><tr><td>Monitoring Overhead<\/td><td>Constant metric collection and analysis needed.<\/td><\/tr><tr><td>Latency Issues<\/td><td>May arise in multi-region traffic routing.<\/td><\/tr><tr><td>Not Foolproof<\/td><td>Canary might succeed in 10% but fail at scale.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>7. Best Practices &amp; Recommendations<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Security Tips<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>automated rollback<\/strong> on anomaly detection.<\/li>\n\n\n\n<li>Integrate with <strong>SAST\/DAST<\/strong> in CI before production.<\/li>\n\n\n\n<li>Protect canary environments with <strong>WAFs and rate-limiting<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Performance &amp; Maintenance<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Always <strong>baseline metrics<\/strong> before rollout.<\/li>\n\n\n\n<li>Use <strong>load testing tools<\/strong> during canary phase.<\/li>\n\n\n\n<li>Clean up unused versions to avoid bloat.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Compliance &amp; Automation Ideas<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>audit trails<\/strong> to log who triggered the rollout.<\/li>\n\n\n\n<li>Integrate <strong>policy-as-code tools<\/strong> like OPA to enforce release conditions.<\/li>\n\n\n\n<li>Automate rollouts via GitOps tools (e.g., ArgoCD).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>8. Comparison with Alternatives<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Approach<\/th><th>Canary Deployment<\/th><th>Blue-Green Deployment<\/th><th>Rolling Update<\/th><\/tr><\/thead><tbody><tr><td>Rollout Granularity<\/td><td>Fine-grained (percent-based)<\/td><td>All-or-nothing<\/td><td>Batch-by-batch<\/td><\/tr><tr><td>Rollback Speed<\/td><td>Fast, selective<\/td><td>Fast<\/td><td>Moderate<\/td><\/tr><tr><td>Risk Profile<\/td><td>Low<\/td><td>Medium<\/td><td>Medium<\/td><\/tr><tr><td>Complexity<\/td><td>Medium-High<\/td><td>Medium<\/td><td>Low<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">When to Choose Canary Deployment<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You need <strong>progressive exposure<\/strong> and <strong>automated rollbacks<\/strong>.<\/li>\n\n\n\n<li>You are running <strong>high-impact systems<\/strong> where failure must be contained.<\/li>\n\n\n\n<li>You want <strong>real-time observability<\/strong> in production.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>9. Conclusion<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Final Thoughts<\/h3>\n\n\n\n<p>Canary deployment is a critical practice for organizations aiming to balance velocity, reliability, and security in software releases. It offers DevSecOps teams a controlled way to validate new features, detect vulnerabilities early, and maintain compliance standards.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Future Trends<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AI-driven Rollouts<\/strong>: ML models decide canary success\/failure.<\/li>\n\n\n\n<li><strong>Integration with Policy Engines<\/strong>: Automated compliance validation.<\/li>\n\n\n\n<li><strong>Security-aware CD Pipelines<\/strong>: Canary tied to CVE thresholds or threat detection.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Next Steps<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Explore advanced rollout strategies with tools like Flagger, Istio, and Argo Rollouts.<\/li>\n\n\n\n<li>Build a fully automated GitOps-based canary pipeline.<\/li>\n\n\n\n<li>Join communities for Argo and Spinnaker to stay current.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction &amp; Overview What is Canary Deployment? Canary deployment is a progressive software release technique where a new version [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-402","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Canary Deployment in DevSecOps - SRE School<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Canary Deployment in DevSecOps - SRE School\" \/>\n<meta property=\"og:description\" content=\"1. Introduction &amp; Overview What is Canary Deployment? Canary deployment is a progressive software release technique where a new version [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/\" \/>\n<meta property=\"og:site_name\" content=\"SRE School\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-24T06:43:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-05T07:29:43+00:00\" \/>\n<meta name=\"author\" content=\"priteshgeek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"priteshgeek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/\",\"url\":\"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/\",\"name\":\"Canary Deployment in DevSecOps - SRE School\",\"isPartOf\":{\"@id\":\"https:\/\/sreschool.com\/blog\/#website\"},\"datePublished\":\"2025-06-24T06:43:54+00:00\",\"dateModified\":\"2026-05-05T07:29:43+00:00\",\"author\":{\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/6a53e3870889dd6a65b2e04b7bc3d7db\"},\"breadcrumb\":{\"@id\":\"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sreschool.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Canary Deployment in DevSecOps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sreschool.com\/blog\/#website\",\"url\":\"https:\/\/sreschool.com\/blog\/\",\"name\":\"SRESchool\",\"description\":\"Master SRE. Build Resilient Systems. Lead the Future of Reliability\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sreschool.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/6a53e3870889dd6a65b2e04b7bc3d7db\",\"name\":\"priteshgeek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/231a0e8b7a02636f2fbacf8dcf4494cb1cc0d49ecc9a8165fbaeaeeaf102641a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/231a0e8b7a02636f2fbacf8dcf4494cb1cc0d49ecc9a8165fbaeaeeaf102641a?s=96&d=mm&r=g\",\"caption\":\"priteshgeek\"},\"url\":\"https:\/\/sreschool.com\/blog\/author\/priteshgeek\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Canary Deployment in DevSecOps - SRE School","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/","og_locale":"en_US","og_type":"article","og_title":"Canary Deployment in DevSecOps - SRE School","og_description":"1. Introduction &amp; Overview What is Canary Deployment? Canary deployment is a progressive software release technique where a new version [&hellip;]","og_url":"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/","og_site_name":"SRE School","article_published_time":"2025-06-24T06:43:54+00:00","article_modified_time":"2026-05-05T07:29:43+00:00","author":"priteshgeek","twitter_card":"summary_large_image","twitter_misc":{"Written by":"priteshgeek","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/","url":"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/","name":"Canary Deployment in DevSecOps - SRE School","isPartOf":{"@id":"https:\/\/sreschool.com\/blog\/#website"},"datePublished":"2025-06-24T06:43:54+00:00","dateModified":"2026-05-05T07:29:43+00:00","author":{"@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/6a53e3870889dd6a65b2e04b7bc3d7db"},"breadcrumb":{"@id":"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/sreschool.com\/blog\/canary-deployment-in-devsecops\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sreschool.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Canary Deployment in DevSecOps"}]},{"@type":"WebSite","@id":"https:\/\/sreschool.com\/blog\/#website","url":"https:\/\/sreschool.com\/blog\/","name":"SRESchool","description":"Master SRE. Build Resilient Systems. Lead the Future of Reliability","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sreschool.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Person","@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/6a53e3870889dd6a65b2e04b7bc3d7db","name":"priteshgeek","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/231a0e8b7a02636f2fbacf8dcf4494cb1cc0d49ecc9a8165fbaeaeeaf102641a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/231a0e8b7a02636f2fbacf8dcf4494cb1cc0d49ecc9a8165fbaeaeeaf102641a?s=96&d=mm&r=g","caption":"priteshgeek"},"url":"https:\/\/sreschool.com\/blog\/author\/priteshgeek\/"}]}},"_links":{"self":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/comments?post=402"}],"version-history":[{"count":1,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/402\/revisions"}],"predecessor-version":[{"id":404,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/402\/revisions\/404"}],"wp:attachment":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/media?parent=402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/categories?post=402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/tags?post=402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}