<?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: Govardhana M K</title>
    <description>The latest articles on DEV Community by Govardhana M K (@vardhangopu).</description>
    <link>https://dev.to/vardhangopu</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%2F1030062%2F33447cfb-0861-4341-b483-50887593e2b8.jpg</url>
      <title>DEV Community: Govardhana M K</title>
      <link>https://dev.to/vardhangopu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vardhangopu"/>
    <language>en</language>
    <item>
      <title>5 Myths Causing Cloud Waste</title>
      <dc:creator>Govardhana M K</dc:creator>
      <pubDate>Fri, 17 Mar 2023 04:10:47 +0000</pubDate>
      <link>https://dev.to/vardhangopu/5-myths-causing-cloud-waste-17ne</link>
      <guid>https://dev.to/vardhangopu/5-myths-causing-cloud-waste-17ne</guid>
      <description>&lt;p&gt;I (actually) tried this with my 15+ clients so far.&lt;/p&gt;

&lt;p&gt;More often than not, I was right about these myths.&lt;/p&gt;

&lt;p&gt;Want to become a (much) better FinOps specialist or a cloud designer?&lt;/p&gt;

&lt;p&gt;Here are my top 5 myths you should understand first:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stable Cost ≠ Optimum Cost&lt;/li&gt;
&lt;li&gt;Reservations are not limited to compute services&lt;/li&gt;
&lt;li&gt;Orphan's are sleeper cells, don't take it light.&lt;/li&gt;
&lt;li&gt;Prefer sustainable and cost effective approach than quick wins&lt;/li&gt;
&lt;li&gt;Storage costs can surpass your imagination, keep a watch.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hope you find the next few seconds useful! 🚀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o0Uf-AQF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hl30j09bcdy4vo1sefex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o0Uf-AQF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hl30j09bcdy4vo1sefex.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kFOO20KJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8opqsm2uu6o6b3nx5icx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kFOO20KJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8opqsm2uu6o6b3nx5icx.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a16F6-RX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8rq9uk6liqmiporuefoc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a16F6-RX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8rq9uk6liqmiporuefoc.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4nJSKa1X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/13wq1n60bee4jrjf5nw7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4nJSKa1X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/13wq1n60bee4jrjf5nw7.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UnoITbbl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hzw5h8q3gcau26hia1lr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UnoITbbl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hzw5h8q3gcau26hia1lr.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e6uuL2IK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ctpj3opb8f5mcyfusnux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e6uuL2IK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ctpj3opb8f5mcyfusnux.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tNXyCPlk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mk5b2s94sd7a4h39p50f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tNXyCPlk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mk5b2s94sd7a4h39p50f.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8WvQ0eQS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/233xmo9eep2sxji08tuq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8WvQ0eQS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/233xmo9eep2sxji08tuq.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--C0KjOUQo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ar79t7r2nerwtr8b50t8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--C0KjOUQo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ar79t7r2nerwtr8b50t8.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Cz16QAJP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xj37ke2eeakzplh8xj4p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Cz16QAJP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xj37ke2eeakzplh8xj4p.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Uw9f5ctx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/st2kll8udlx31ac0m84w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Uw9f5ctx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/st2kll8udlx31ac0m84w.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GtKpU8Op--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nzxgmfa879bfk0b4h89p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GtKpU8Op--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nzxgmfa879bfk0b4h89p.png" alt="Image description" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel freel to follow me here: &lt;a href="https://www.linkedin.com/in/govardhana-miriyala-kannaiah/"&gt;https://www.linkedin.com/in/govardhana-miriyala-kannaiah/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for more cool content related to cloud and devsecops !&lt;/p&gt;

</description>
      <category>aws</category>
      <category>architecture</category>
      <category>beginners</category>
      <category>finops</category>
    </item>
    <item>
      <title>Pick cost effective compute choice in 2 mins</title>
      <dc:creator>Govardhana M K</dc:creator>
      <pubDate>Fri, 17 Mar 2023 04:04:11 +0000</pubDate>
      <link>https://dev.to/vardhangopu/pick-cost-effective-compute-choice-in-2-mins-1hg0</link>
      <guid>https://dev.to/vardhangopu/pick-cost-effective-compute-choice-in-2-mins-1hg0</guid>
      <description>&lt;p&gt;Selecting a cost-effective instance in AWS may be complex for many, hence we see a lot of unnecessary on-demand instances usage.&lt;/p&gt;

&lt;p&gt;I tried to simplify this exercise so that one can pick in 2 minutes.&lt;/p&gt;

&lt;p&gt;Here I am sharing this with you all 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FFK5gZUK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gpfns3lewnq2hhvy1rz0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FFK5gZUK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gpfns3lewnq2hhvy1rz0.png" alt="Image description" width="880" height="660"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel freel to follow me here: &lt;a href="https://www.linkedin.com/in/govardhana-miriyala-kannaiah/"&gt;https://www.linkedin.com/in/govardhana-miriyala-kannaiah/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for more cool content related to Cloud and DevOps!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>beginners</category>
      <category>finops</category>
      <category>devops</category>
    </item>
    <item>
      <title>How to detect a terraform drift and remediate it? A quick overview...</title>
      <dc:creator>Govardhana M K</dc:creator>
      <pubDate>Fri, 24 Feb 2023 05:00:36 +0000</pubDate>
      <link>https://dev.to/vardhangopu/how-to-detect-a-terraform-drift-and-remediate-it-a-quick-overview-23hf</link>
      <guid>https://dev.to/vardhangopu/how-to-detect-a-terraform-drift-and-remediate-it-a-quick-overview-23hf</guid>
      <description>&lt;p&gt;Drift is one of the most frequent and fundamental challenges of the infrastructure built with the terraform.&lt;/p&gt;

&lt;p&gt;To understand drift better, let's walkthrough&lt;/p&gt;

&lt;p&gt;[1] Desired State: It is the state of a resource that is configured in the resource block of your terraform (.tf) file.&lt;/p&gt;

&lt;p&gt;[2] Current State: It is the actual configuration state of a resource that is in service. &lt;/p&gt;

&lt;p&gt;Drift is nothing but the deviation between the desired state and the current state !!&lt;/p&gt;

&lt;p&gt;Why does a drift happen?&lt;br&gt;
Though it is recommended to centralize terraform to provision the infra, it doesn't stop an individual with the provisioning access to modify/remove the resources spun by terraform.&lt;/p&gt;

&lt;p&gt;Some of the best practices to limit the drift:&lt;br&gt;
🔷 Provide least privilege access to the users with permission boundaries&lt;br&gt;
🔷 Integrate Terraform with version control tools (GIT) and CI/CD pipelines&lt;/p&gt;

&lt;p&gt;How to detect a drift?&lt;br&gt;
🔶 terraform State: The state file tracks the resources defined in the desired state and those that exist in the infrastructure (current state)&lt;/p&gt;

&lt;p&gt;🔶 terraform plan –refresh-only: The refresh command to reconcile the real-world drift outside of terraform&lt;/p&gt;

&lt;p&gt;Note:&lt;br&gt;
This is a refresh-only plan, so Terraform will not take any actions to undo the detected drift.&lt;/p&gt;

&lt;p&gt;How to remediate the drift then?&lt;br&gt;
🔶 Running 'terraform apply' would reset the current state to the desired state.&lt;/p&gt;

&lt;p&gt;Look at the below diagram to understand the sample architecture to detect the drifts and remediate them 👇&lt;/p&gt;

&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%2F9a4l9x88q4kxjozt520b.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%2F9a4l9x88q4kxjozt520b.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow: &lt;a href="https://www.linkedin.com/in/govardhana-miriyala-kannaiah/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/govardhana-miriyala-kannaiah/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for more content related to Professional Development/ Cloud / DevSecOps / Infrastructure as Code / CyberSecurity&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>tailwindcss</category>
      <category>scss</category>
      <category>typescript</category>
    </item>
    <item>
      <title>How do you detect secrets in you source code ?</title>
      <dc:creator>Govardhana M K</dc:creator>
      <pubDate>Tue, 21 Feb 2023 06:02:32 +0000</pubDate>
      <link>https://dev.to/vardhangopu/how-do-you-detect-secrets-in-you-source-code--i0g</link>
      <guid>https://dev.to/vardhangopu/how-do-you-detect-secrets-in-you-source-code--i0g</guid>
      <description>&lt;p&gt;Hackers Stole Source code and are inside Go Daddy for nearly 3 years !!&lt;/p&gt;

&lt;p&gt;When this news broke out, Security became the Talk of the Tech World for the nth time again.&lt;/p&gt;

&lt;p&gt;Most of the service providers came forward with statements, about how secure they are and the clients can sleep on them peacefully.&lt;/p&gt;

&lt;p&gt;The truth is "We are as good as our weakest link".&lt;/p&gt;

&lt;p&gt;I Know Security is a vast and deep subject, but it is a good time to revisit the basics and understand the secrets management in the source code.&lt;/p&gt;

&lt;p&gt;🔷 What is a Secret?&lt;br&gt;
In simple terms, anything that you would want to hide from others / the outside world.&lt;/p&gt;

&lt;p&gt;🔷 Some of the common forms of Secrets are:&lt;br&gt;
[1] Credentials&lt;br&gt;
[2] Database connection strings&lt;br&gt;
[3] API Keys and Tokens&lt;br&gt;
[4] RSA Keys&lt;br&gt;
[5] Certificates&lt;/p&gt;

&lt;p&gt;When these secrets are accidentally / intentionally infused into the source code, the application and infra may be compromised for attacks.&lt;/p&gt;

&lt;p&gt;🔷 Is my DevSecOps pipeline not good enough?&lt;br&gt;
Secrets detection in the CI/CD pipeline may not be a good preventive measure, as we are running secrets scan and aspiring from redemption only after the secrets are infused. This is a poor reactive approach.&lt;/p&gt;

&lt;p&gt;🔷 How can I make it Proactive then?&lt;br&gt;
There are a few good resources like git leaks, git secrets, trufflehog to detect the secrets in the code and block the code commits.&lt;/p&gt;

&lt;p&gt;❗ Remember, Security is everyone's responsibility. Any tool, automation, process, or framework is just an enabler. One shouldn't trade off security for faster delivery.&lt;/p&gt;

&lt;p&gt;See the below diagram for the illustration of details. 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VZx69zfL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u7nkt2b6jwzdi7tpix7r.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VZx69zfL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u7nkt2b6jwzdi7tpix7r.PNG" alt="Image description" width="720" height="960"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow Me here: &lt;a href="https://www.linkedin.com/in/govardhana-miriyala-kannaiah/"&gt;https://www.linkedin.com/in/govardhana-miriyala-kannaiah/&lt;/a&gt;&lt;br&gt;
for more content related to Cloud / DevSecOps / Infrastructure as Code / CyberSecurity / Life&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>aws</category>
      <category>devops</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What are the different Route 53 Routing Policies?</title>
      <dc:creator>Govardhana M K</dc:creator>
      <pubDate>Mon, 20 Feb 2023 05:43:09 +0000</pubDate>
      <link>https://dev.to/vardhangopu/what-are-the-different-route-53-routing-policies-2plo</link>
      <guid>https://dev.to/vardhangopu/what-are-the-different-route-53-routing-policies-2plo</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Simple&lt;br&gt;
Route traffic to a single resource. As simple as that !&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Weighted&lt;br&gt;
Specify how much % of requests a specific resource should handle.&lt;br&gt;
Fun fact: if you specify the weight=0 for all the resources, traffic would be equally distributed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Failover&lt;br&gt;
Primarily used for the DR purpose, an active-passive setup tied up with the resource health checks. If the primary health check fails, requests are auto routed to the secondary.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Latency based&lt;br&gt;
Redirect the users to the AWS regions with the least latency&lt;br&gt;
Fun fact: need not be the region closest to the user always!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Geolocation&lt;br&gt;
To route traffic based on the user location.&lt;br&gt;
Matched users are routed to the pre-configured locations, the default location is mandatory in this policy to re-direct the users from the no-match locations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Multi-Value Answer&lt;br&gt;
when you want route53 to respond to DNS queries with up to 8 healthy records selected at random.&lt;br&gt;
Note: multi-value by any means is not a replacement for a load balancer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Geoproximity&lt;br&gt;
Shifts traffic based on bias.&lt;br&gt;
To allow more traffic (bias range: 1 to 99)&lt;br&gt;
To shrink traffic (bias range: -1 to -99)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The diagram below shows all 7 available Route 53 Routing Policies.&lt;/p&gt;

&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%2F23nb6dyx15bl7n0hbrs4.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%2F23nb6dyx15bl7n0hbrs4.PNG" alt=" " width="720" height="960"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel freel to follow me here: &lt;a href="https://www.linkedin.com/in/govardhana-miriyala-kannaiah/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/govardhana-miriyala-kannaiah/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for more cool content !&lt;/p&gt;

</description>
      <category>python</category>
      <category>codenewbie</category>
      <category>career</category>
      <category>discuss</category>
    </item>
    <item>
      <title>How to set up a real-time leaderboard for an online gaming application?</title>
      <dc:creator>Govardhana M K</dc:creator>
      <pubDate>Mon, 20 Feb 2023 04:56:44 +0000</pubDate>
      <link>https://dev.to/vardhangopu/how-to-set-up-a-real-time-leaderboard-for-an-online-gaming-application-581e</link>
      <guid>https://dev.to/vardhangopu/how-to-set-up-a-real-time-leaderboard-for-an-online-gaming-application-581e</guid>
      <description>&lt;p&gt;AWS Elasticache is an in-memory database that provides high performance with low latency. Elasticache for Redis would be the ideal solution for this scenario.&lt;/p&gt;

&lt;p&gt;Redis sorted sets are used for computationally complex use cases like gaming leaderboards and it guarantees:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Uniqueness&lt;/li&gt;
&lt;li&gt;Element ordering&lt;/li&gt;
&lt;li&gt;Real-time re-ranking of new elements&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Salient Features of Elasticache-Redis:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Auto-Failover capability / Multi A-Z&lt;/li&gt;
&lt;li&gt;Seamless scaling&lt;/li&gt;
&lt;li&gt;High Availability with Read Replicas&lt;/li&gt;
&lt;li&gt;Backup and restoration&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note: Redis is not suitable for multi-thread architectures.&lt;/p&gt;

&lt;p&gt;See the below diagram for the sample architecture and "how it works" details.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HcQXmG5O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2d7wwa3rn5o7dqeeasa9.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HcQXmG5O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2d7wwa3rn5o7dqeeasa9.PNG" alt="Image description" width="720" height="960"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel freel to follow me here: &lt;a href="https://www.linkedin.com/in/govardhana-miriyala-kannaiah/"&gt;https://www.linkedin.com/in/govardhana-miriyala-kannaiah/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for more cool content !&lt;/p&gt;

</description>
      <category>aws</category>
      <category>architecture</category>
      <category>devops</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
