<?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: Sudhakar Daggubati</title>
    <description>The latest articles on DEV Community by Sudhakar Daggubati (@mrdaggubati).</description>
    <link>https://dev.to/mrdaggubati</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%2F162572%2F271b03fa-08e7-489c-a608-e97df992151d.jpg</url>
      <title>DEV Community: Sudhakar Daggubati</title>
      <link>https://dev.to/mrdaggubati</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mrdaggubati"/>
    <language>en</language>
    <item>
      <title>open-source API gateway solutions and their managed offerings.</title>
      <dc:creator>Sudhakar Daggubati</dc:creator>
      <pubDate>Fri, 27 Sep 2024 14:48:14 +0000</pubDate>
      <link>https://dev.to/mrdaggubati/api-management-gateways-4h0f</link>
      <guid>https://dev.to/mrdaggubati/api-management-gateways-4h0f</guid>
      <description>&lt;p&gt;&lt;a href="https://konghq.com/" rel="noopener noreferrer"&gt;Kong&lt;/a&gt; and &lt;a href="https://apisix.apache.org/" rel="noopener noreferrer"&gt;APISIX&lt;/a&gt;, two popular open-source #APIGateway solutions. #kong looks versatile Unified Gateway but how it fares against #APISIX backed by a similar enterprise &lt;a href="https://api7.ai" rel="noopener noreferrer"&gt;API7&lt;/a&gt; offering. &lt;/p&gt;

&lt;p&gt;Key Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API Gateway and API Management&lt;/li&gt;
&lt;li&gt;Plugin architecture&lt;/li&gt;
&lt;li&gt;NGINX-based&lt;/li&gt;
&lt;li&gt;Config management&lt;/li&gt;
&lt;li&gt;Seamless Kubernetes integration&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Differentiation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI Gateway:&lt;/strong&gt; Only Kong offers an AI gateway, leveraging AI for tasks like traffic management and anomaly detection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance:&lt;/strong&gt; API7 claims superior performance, but real-world benchmarks may vary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; Self-hosting Kong can be cost-effective, SaaS offering pricing are complex, its better to check the fine print and usage patterns &lt;a href="![Image%20description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i4tm0nrch9vmd9tkjfpp.png)"&gt; Pricing Models &lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service Mesh:&lt;/strong&gt; Kong uses Envoy, while API7 uses Istio (which also uses Envoy).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud Costs:&lt;/strong&gt; Running AI and API gateways at scale in the cloud can be expensive, Network design, workload pattern and application architecture going to play a critical role in how costly its going to be.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Choosing the Right API Gateway:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F35qrxqt1rocvduv7rpx5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F35qrxqt1rocvduv7rpx5.png" alt="Image description" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;APISIX(API7):&lt;/strong&gt; If performance and native service mesh capabilities are your primary concerns, then API7 might be a good choice. While #APISIX is a top #CNCF project and cloud-native with its out-of-the-box plugins, API7's focus on performance and service mesh integration is a compelling factor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F347jlck0bso6wjomq4zm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F347jlck0bso6wjomq4zm.png" alt="Image description" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kong:&lt;/strong&gt; if that #AIGateway is exiting, in-house team is capable and priority is for long standing community support and self management then considering kong is advisable; you could self mange or opt for enterprise option.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4tm0nrch9vmd9tkjfpp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4tm0nrch9vmd9tkjfpp.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The best choice between Kong and APISIX depends on organizational inclinations and specific requirements, including the need for AI integration, performance demands, and budget constraints. Carefully evaluate your needs and consider the strengths and weaknesses of each platform to make an informed decision.&lt;/p&gt;

&lt;p&gt;Considering both are open source in nature/base and a big community driving the adoption, over a period of time, feature coverage would eventually catch-up, so better to be cost &amp;amp; performance conscious when choosing the gateway. Watch out those pricing models; getting on is easy but not getting off :-)&lt;/p&gt;

&lt;h1&gt;
  
  
  PlatformEngineering
&lt;/h1&gt;

</description>
      <category>apigateway</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Automating DNS with Confidence: Terraform + DNScontrol</title>
      <dc:creator>Sudhakar Daggubati</dc:creator>
      <pubDate>Mon, 23 Sep 2024 15:09:55 +0000</pubDate>
      <link>https://dev.to/mrdaggubati/automating-dns-with-confidence-terraform-dnscontrol-566m</link>
      <guid>https://dev.to/mrdaggubati/automating-dns-with-confidence-terraform-dnscontrol-566m</guid>
      <description>&lt;p&gt;A split origin DNS setup with multi origin and multi subscription creating route via a gateway subnet is complex&lt;/p&gt;

&lt;p&gt;Its even more challenging to keep it running smoothly and not to break things inadvertently; it's not a joke when people say &lt;code&gt;its all DNS&lt;/code&gt; :-)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmvtnp3vh4hsl8skeq58u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmvtnp3vh4hsl8skeq58u.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Terraform can automate most of this infra at scale but one aspect that  it lacks is management of DNS in a complex setup in which one often need additional capabilities to test and validate before plan is applied.&lt;/p&gt;

&lt;p&gt;There are multiple scenarios in which lack of this capability makes it hard to customize DNS and do not get into troubles. &lt;/p&gt;

&lt;h1&gt;
  
  
  Temporary zone and validate before apply
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh2dktf3z5qzm3msi740.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh2dktf3z5qzm3msi740.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use terraform to create temporary DNS zone&lt;/li&gt;
&lt;li&gt;Use curl or &lt;a href="https://httpie.io/" rel="noopener noreferrer"&gt;https://httpie.io/&lt;/a&gt; to validate the DNS entries&lt;/li&gt;
&lt;li&gt;this setup ensures DNS changes are tested and impact is known

&lt;ul&gt;
&lt;li&gt;Each provider has their own SDK, format that they support and API; for example terraform has no zone file import while azure does besides integration tests are non exist and complex to craft, mostly simple nslookup validation.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h1&gt;
  
  
  Combination of native DNS mgmt + Terraform
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12btgxy6je7mn0khbp2a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12btgxy6je7mn0khbp2a.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DNScontrol and Terraform are both powerful tools for managing DNS records, but they have different capabilities and use cases. Let's use them together to make a DNS management predictable and fault proof.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designed specifically for DNS: DNScontrol is tailored for DNS management, offering features and integrations that are optimized for DNS-related tasks.&lt;/li&gt;
&lt;li&gt;Flexibility: It provides a high level of flexibility, allowing you to define DNS records using various formats (e.g., YAML, JSON) and supports a wide range of DNS providers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You could leave whole DNS management to DNSControl or use it for complex validations and DNS records mgmt and use AZ CLI to  export and import in a CI/CD task with necessary approval flows +/- terraform.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>terraform</category>
      <category>dns</category>
    </item>
    <item>
      <title>kyverno-json; to extend kyverno policy rules framework beyond K8S resources</title>
      <dc:creator>Sudhakar Daggubati</dc:creator>
      <pubDate>Wed, 14 Aug 2024 11:06:57 +0000</pubDate>
      <link>https://dev.to/mrdaggubati/kyverno-json-to-extend-kyverno-policy-rules-framework-beyons-k8s-resources-5b2d</link>
      <guid>https://dev.to/mrdaggubati/kyverno-json-to-extend-kyverno-policy-rules-framework-beyons-k8s-resources-5b2d</guid>
      <description>&lt;p&gt;&lt;a href="https://kyverno.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;kyverno&lt;/strong&gt;&lt;/a&gt; is a powerful policy engine for #Kubernetes artifacts governance, What if you need to extend same capabilities beyond Kubernetes resources?&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqi45aol0bc51c3tujped.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqi45aol0bc51c3tujped.png" alt="Image description" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check &lt;a href="https://kyverno.github.io/kyverno-json/latest/" rel="noopener noreferrer"&gt;kyverno-json&lt;/a&gt;, it is natural extension when one already having #kyverno as policy engine for #k8s governance.&lt;/p&gt;

&lt;p&gt;Exploring as we got a config driven PaaS infra setup,by extending existing policy coverage to other configuration items and at plan stage itself and as a pipeline, we hope to minimize config induced errors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kyverno-json&lt;/strong&gt; bridges the gap by allowing you to apply Kyverno policies to validate any JSON or YAML data. This opens doors to validating:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Terraform files&lt;/strong&gt;: Ensure your infrastructure configurations adhere to best practices and security guidelines.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dockerfiles&lt;/strong&gt;: Validate image builds for compliance and prevent potential vulnerabilities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cloud configurations: Maintain consistency and avoid errors across your cloud infrastructure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Authorization&lt;/strong&gt; requests: Enforce granular access control at the request level.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Beyond Deployment-Time Validation:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With kyverno-json, validation extends beyond deployment time:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevOps Pipelines&lt;/strong&gt;: Integrate seamlessly into your DevOps pipelines for continuous validation.&lt;br&gt;
&lt;strong&gt;Pre-commit hooks&lt;/strong&gt;: Enforce validation before code commits, catching errors early in the development cycle.&lt;br&gt;
&lt;strong&gt;Atlantis&lt;/strong&gt; (Terraform PR Automation): Enhance your Terraform pull request automation with robust validation capabilities., atlantis also doubles up as self service tool for developers.&lt;br&gt;
&lt;strong&gt;Makefiles&lt;/strong&gt;: Utilize kyverno-json in your makefiles for streamlined validation as part of your build process.&lt;/p&gt;

&lt;p&gt;Terraform plan can be validated taking its JSON output and passing to CLI when complex validation is required.&lt;/p&gt;

&lt;p&gt;Terraform input validation is limited, kyverno-json covers a lot more with &lt;a href="https://jmespath.org/" rel="noopener noreferrer"&gt;JMESPath &lt;/a&gt;; a query language for JSON.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
