<?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: KainatSana</title>
    <description>The latest articles on DEV Community by KainatSana (@sanakainat).</description>
    <link>https://dev.to/sanakainat</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%2F787223%2F77ca2358-68b7-487f-b021-5877dd888cf6.jpeg</url>
      <title>DEV Community: KainatSana</title>
      <link>https://dev.to/sanakainat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sanakainat"/>
    <language>en</language>
    <item>
      <title>Build Games Challenge</title>
      <dc:creator>KainatSana</dc:creator>
      <pubDate>Fri, 27 Jun 2025 11:11:07 +0000</pubDate>
      <link>https://dev.to/sanakainat/build-games-challenge-4gf4</link>
      <guid>https://dev.to/sanakainat/build-games-challenge-4gf4</guid>
      <description>&lt;h2&gt;
  
  
  Building Super Mario Games with AI 🍄
&lt;/h2&gt;

&lt;p&gt;Nostalgic game devs, if you grew up jumping through pixelated worlds as Mario, you’re going to love this!&lt;br&gt;&lt;br&gt;
This is a modern reinterpretation of the classic Super Mario experience—reimagined in two formats:&lt;br&gt;&lt;br&gt;
one for the web, one for desktop. Both versions were crafted to deliver smooth animations, vibrant graphics, and that familiar, addictive gameplay. 🎮 &lt;/p&gt;

&lt;p&gt;I created both versions in &lt;strong&gt;less than an hour&lt;/strong&gt; using the &lt;strong&gt;Amazon Q Developer CLI&lt;/strong&gt;, exploring the power of AI to scaffold the game logic, generate the folder structure, and even handle bug fixes automatically.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Original Plan (That Failed)
&lt;/h2&gt;

&lt;p&gt;I initially asked AI to build a "professional Super Mario game with advanced features." The result? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2000+ lines of complicated code&lt;/li&gt;
&lt;li&gt;Confusing file structure&lt;/li&gt;
&lt;li&gt;Features nobody wanted&lt;/li&gt;
&lt;li&gt;A game that wasn't fun to play&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Lesson learned&lt;/strong&gt;: More code ≠ Better game&lt;/p&gt;
&lt;h2&gt;
  
  
  The AI-Powered Breakthrough
&lt;/h2&gt;

&lt;p&gt;Instead of fighting complexity, I worked with AI to build TWO focused versions:&lt;/p&gt;
&lt;h3&gt;
  
  
  🌐 HTML Version - The Universal Champion
&lt;/h3&gt;

&lt;p&gt;Perfect for sharing and playing anywhere!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I asked AI:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Create a smooth Super Mario game for browsers. Make it mobile-friendly, under 300 lines, with spinning coins and responsive controls."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;What AI delivered:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instant browser play&lt;/li&gt;
&lt;li&gt;Works on phones and tablets
&lt;/li&gt;
&lt;li&gt;Smooth animations&lt;/li&gt;
&lt;li&gt;Easy to share with friends&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  🎮 Pygame Version - The Desktop Powerhouse
&lt;/h3&gt;

&lt;p&gt;Enhanced with professional game development techniques!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I asked AI:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Take the HTML version and create a Pygame version with professional animations like squash &amp;amp; stretch effects and enhanced visual polish."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;What AI delivered:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Squash &amp;amp; stretch animations (like Pixar movies!)&lt;/li&gt;
&lt;li&gt;Glowing coin effects&lt;/li&gt;
&lt;li&gt;Smooth physics simulation&lt;/li&gt;
&lt;li&gt;Desktop gaming experience&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Game Screenshots - HTML Version
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Game Menu
&lt;/h3&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%2Fe8df0oe0h2252a13k25h.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%2Fe8df0oe0h2252a13k25h.png" alt="Game Menu" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  The Game
&lt;/h3&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%2F140wvpudvpz4axfg81iq.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%2F140wvpudvpz4axfg81iq.png" alt="Game level 2" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Winning Scenario
&lt;/h3&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%2Fl9wnwbphzwjycm7wgq57.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%2Fl9wnwbphzwjycm7wgq57.png" alt="You Win" width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Game Over
&lt;/h3&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%2Fgxsfbb6zksuz3atmmw92.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%2Fgxsfbb6zksuz3atmmw92.png" alt="Oh No" width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Pygame Version
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;[Desktop app with enhanced animations]&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Pygame
&lt;/h3&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%2F6kidbir6a9gx4q94e85t.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%2F6kidbir6a9gx4q94e85t.png" alt="Level 1" width="800" height="620"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  AI Development Magic
&lt;/h2&gt;

&lt;p&gt;The AI surprised me with smart suggestions I hadn't thought of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automatic mobile support&lt;/strong&gt; for HTML version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// AI added touch controls without me asking!&lt;/span&gt;
&lt;span class="nx"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;touchstart&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;handleTouch&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Professional animation techniques&lt;/strong&gt; for Pygame:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# AI implemented industry-standard squash &amp;amp; stretch
&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;mario&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;jumping&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;mario&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;scale_y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.8&lt;/span&gt;  &lt;span class="c1"&gt;# Squash when jumping
&lt;/span&gt;    &lt;span class="n"&gt;mario&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;scale_x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;1.2&lt;/span&gt;  &lt;span class="c1"&gt;# Stretch horizontally
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Cross-platform optimization&lt;/strong&gt; - AI automatically optimized each version for its platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Effective AI Prompts I Used
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ✅ Good Prompts (That Worked)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Create a Mario game for HTML5 that works on mobile browsers"
"Add professional squash &amp;amp; stretch animations to the Pygame version"  
"Make the coins spin in 3D with a golden glow effect"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ❌ Bad Prompts (That Failed)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Make a complex Mario game with advanced features"
"Add every possible animation and effect"
"Create the most professional game possible"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Key insight&lt;/strong&gt;: Specific, focused requests work better than vague "make it awesome" prompts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Time Saved with AI
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML Version&lt;/strong&gt;: 2 hours (vs 8+ hours manually)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pygame Version&lt;/strong&gt;: 3 hours (vs 12+ hours manually)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bug fixes&lt;/strong&gt;: AI caught and fixed issues instantly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-platform adaptation&lt;/strong&gt;: AI handled platform differences automatically&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Results
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;HTML Version&lt;/th&gt;
&lt;th&gt;Pygame Version&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Platform&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Browser (Universal)&lt;/td&gt;
&lt;td&gt;Desktop&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pip install pygame&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Best For&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sharing &amp;amp; Mobile&lt;/td&gt;
&lt;td&gt;Gaming &amp;amp; Learning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Animation Quality&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Smooth&lt;/td&gt;
&lt;td&gt;Professional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;File Size&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;45KB&lt;/td&gt;
&lt;td&gt;15KB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running the Games
&lt;/h2&gt;

&lt;h3&gt;
  
  
  HTML Version (Recommended for sharing)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Just open in any browser&lt;/span&gt;
open smooth-mario.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Pygame Version (Recommended for desktop)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;pygame-mario
python3 smooth_mario_pygame.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Easy Launcher
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 play.py  &lt;span class="c"&gt;# Choose your version!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🤖 AI Development Tips
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Be specific&lt;/strong&gt; - "mobile-friendly Mario game" works better than "good Mario game"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iterate gradually&lt;/strong&gt; - Build features one at a time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask for explanations&lt;/strong&gt; - Understanding AI's choices helps you learn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform matters&lt;/strong&gt; - Different platforms need different approaches&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🎮 Game Development Insights
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Simple can be better&lt;/strong&gt; - Two focused games beat one complicated mess&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform optimization&lt;/strong&gt; - HTML for sharing, Pygame for desktop experience&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User experience first&lt;/strong&gt; - Fun gameplay &amp;gt; technical complexity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clean code wins&lt;/strong&gt; - 300 readable lines &amp;gt; 2000 confusing lines&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Try It Yourself!
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;strong&gt;Play the games&lt;/strong&gt;: &lt;a href="https://github.com/KainatSana/amzonq-challenge-super-mario" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;HTML Version&lt;/strong&gt;: &lt;a href="http://q-cli-challenge.s3-website-us-east-1.amazonaws.com/" rel="noopener noreferrer"&gt;Play in Browser&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Want to build your own AI-powered game? Start with a simple, specific prompt and iterate from there!&lt;/p&gt;

&lt;h2&gt;
  
  
  Credits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Built using AI assistance for rapid development&lt;/li&gt;
&lt;li&gt;HTML version: Pure JavaScript, no frameworks&lt;/li&gt;
&lt;li&gt;Pygame version: Python with professional animation techniques&lt;/li&gt;
&lt;li&gt;Total development time: 5 hours (would have been 20+ hours manually)&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;🍄 Some more days until the deadline. Join “Build Games with Amazon Q CLI” to get hands-on agentic coding experience, build games, complete the steps and redeem a cool T-shirt. Get started from here → &lt;a href="https://s12d.com/BGWQCLI%E2%80%9D" rel="noopener noreferrer"&gt;https://s12d.com/BGWQCLI”&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What game will you build with AI next?&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>awschallenge</category>
    </item>
    <item>
      <title>More than "Hello World in Lambda"🤔</title>
      <dc:creator>KainatSana</dc:creator>
      <pubDate>Fri, 24 Feb 2023 16:53:18 +0000</pubDate>
      <link>https://dev.to/sanakainat/more-than-hello-world-in-lambda-3f6n</link>
      <guid>https://dev.to/sanakainat/more-than-hello-world-in-lambda-3f6n</guid>
      <description>&lt;p&gt;AWS Lambda is a serverless computing service that allows developers to run code without managing servers or infrastructure. Lambda functions can be triggered by various events and are a great way to build scalable and cost-effective applications. In this blog, we'll explore how to go beyond the "Hello, World!" example and create more complex Lambda functions.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Let's create a Lambda function that fetches data from an external API and stores it in an S3 bucket.&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 1: Set up the AWS Environment&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Before we start, make sure you have an AWS account and have set up the necessary permissions. You'll need to create an S3 bucket and an IAM role with permissions to access the bucket and execute Lambda functions.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 2: Create the Lambda Function&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Go to the AWS Management Console and navigate to the Lambda service.&lt;/li&gt;
&lt;li&gt;Click "Create function" and select "Author from scratch".&lt;/li&gt;
&lt;li&gt;Give your function a name, select your preferred runtime, and choose the IAM role you created in step.&lt;/li&gt;
&lt;li&gt;In the function code editor, copy and paste the following code:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import boto3
import requests
import json

def lambda_handler(event, context):

    url = "https://jsonplaceholder.typicode.com/posts"
    response = requests.get(url)
    data = response.json()

    s3 = boto3.resource('s3')
    bucket_name = 'your-bucket-name'
    object_key = 'data.json'
    s3.Object(bucket_name, object_key).put(Body=json.dumps(data))

    return {
        'statusCode': 200,
        'body': json.dumps('Data fetched and stored in S3!')
    }

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code fetches data from the JSON Placeholder API and stores it in an S3 bucket. Make sure to replace "your-bucket-name" with the name of the S3 bucket you created in step 1.&lt;/p&gt;

&lt;p&gt;Click "Deploy" to create your Lambda function.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 3: Test the Lambda Function&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Click the "Test" button and create a new test event.&lt;/li&gt;
&lt;li&gt;Give your test event a name and leave the default event template.&lt;/li&gt;
&lt;li&gt;Click "Create".&lt;/li&gt;
&lt;li&gt;Click the "Test" button again to run the test event.&lt;/li&gt;
&lt;li&gt;After the function executes, check your S3 bucket to make sure the data was stored successfully.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And that's it! You've created a Lambda function that fetches data from an external API and stores it in an S3 bucket. You can now use this function as part of a larger application or build on it to create more complex functionality.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>privacy</category>
    </item>
    <item>
      <title>Adopting a serverless mindset ☁️</title>
      <dc:creator>KainatSana</dc:creator>
      <pubDate>Fri, 24 Feb 2023 15:01:47 +0000</pubDate>
      <link>https://dev.to/sanakainat/adopting-a-serverless-mindset-31jo</link>
      <guid>https://dev.to/sanakainat/adopting-a-serverless-mindset-31jo</guid>
      <description>&lt;p&gt;As technology evolves, so does the way we approach software development and infrastructure management. One of the most recent and exciting developments in the world of cloud computing is the serverless computing model. So let's dive into it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Serverless Computing?
&lt;/h2&gt;

&lt;p&gt;Serverless computing is a model of cloud computing where the cloud provider manages the infrastructure and automatically provisions and manages the compute resources required to run your application. With serverless computing, you don't have to worry about managing servers, scaling infrastructure, or configuring load balancers. Instead, you can focus on building and deploying your application.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Suppose we are building an application where clients are talking to a server via HTTP request. Its hosted on EC2 and has a database for storing data.&lt;/p&gt;
&lt;/blockquote&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%2Ffnfkqjbk2kpelmyn5bbc.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%2Ffnfkqjbk2kpelmyn5bbc.png" alt=" " width="499" height="184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s a pretty basic architecture but what will happen when you start getting more traffic?&lt;br&gt;
You can scale vertically to some extend but after crossing instance limit you will have to shift to horizontal scaling by putting load balancer in front of it. &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%2F1h1pqg3sapl5ggjh9iw4.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%2F1h1pqg3sapl5ggjh9iw4.png" alt=" " width="514" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then comes the cost management and configuration of auto-scaling groups. For fault tolerance you will have to deploy instances in multiple availability zones. &lt;br&gt;
&lt;strong&gt;Then the next configuration and next....&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;First, you have your own code and all of the custom logic that’s unique to your business or product then comes all this configuration &amp;amp; management.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But there's very little that’s business specific about how you would approach most of these issues. &lt;/p&gt;

&lt;p&gt;And this is exactly the kind of ‘undifferentiated lifting’ that can be offloaded to AWS allowing you to focus more on the things that are unique to your particular business.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Serverless relieves customer from all this management so customers can focus more on business logics.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now lets consider this application again, HTTP requests can now be considered events that have some meaning to our service. &lt;br&gt;
In the middle you have code that handles these events or what we would call “the handler”. &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%2Fvgmfo86gmiwbkduy52h0.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%2Fvgmfo86gmiwbkduy52h0.png" alt=" " width="501" height="190"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And then you have some set of backend services that handler interacts with.&lt;br&gt;
This is the exact same configuration that AWS lambda(an AWS serverless offering) uses but lambda is relieving us from all server management with added benefits. &lt;/p&gt;

&lt;p&gt;Let's summarize why we need serverless?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Serverless relieves us form server management that means you don't have to deploy and manage servers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provides flexible Scaling by automatically scaling or let you define capacity&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provides high availability automatically.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;There is no idle capacity means you will be charged for only when your function runs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
Adopting a serverless mindset can bring many benefits to your development team, including reduced infrastructure management, automatic scaling, reduced costs, and increased flexibility. With AWS Lambda, Amazon API Gateway, Amazon DynamoDB, and AWS Step Functions, you can easily build and deploy serverless applications on AWS. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;By embracing serverless computing, you can focus on what really matters: building great applications that deliver value to your customers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Reference Link [&lt;a href="https://explore.skillbuilder.aws/learn/lp/92/serverless-learning-plan" rel="noopener noreferrer"&gt;https://explore.skillbuilder.aws/learn/lp/92/serverless-learning-plan&lt;/a&gt;]&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>a11y</category>
    </item>
    <item>
      <title>Introduction to VPC ☁️</title>
      <dc:creator>KainatSana</dc:creator>
      <pubDate>Sun, 22 Jan 2023 13:18:23 +0000</pubDate>
      <link>https://dev.to/sanakainat/introduction-to-vpc-4e4p</link>
      <guid>https://dev.to/sanakainat/introduction-to-vpc-4e4p</guid>
      <description>&lt;p&gt;VPC is Virtual Private Cloud in simpler words your own private data center but in cloud. VPC lets you take control over networking of your resources by Route tables, subnets, internet gateway &amp;amp; Security groups.&lt;br&gt;
Let's dig more on these basic term I have mentioned here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subnets&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Subnets let us divide a network into little chunks &amp;amp; those chunks(subnets) can be allocated to different team over an organization to make networking more efficient &amp;amp; secure.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Route Tables&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Route tables look after Who can talk to what? Route table allow routes/IP by which VPC will be connected. We can set up rules(routes) to allow directing of traffic.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internet Gateway&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Internet Gateway allows the communication between VPC &amp;amp; internet. Without IGW resources within a VPC won't be able to talk to internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Groups&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;We can say Security Groups are firewall around instances. They regulate access to ports &amp;amp; control inbound/ outbound traffic from other instances.&lt;br&gt;
By default all outbound traffic is allowed &amp;amp; all inbound is block by default.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;AWS provides a number of efficient, secure connectivity options to help you get the most out of AWS when integrating your remote networks with Amazon VPC. Amazon Virtual Private Cloud (Amazon VPC) enables you to launch AWS resources into a virtual network that you’ve defined. This virtual network closely resembles a traditional network that you’d operate in your own data center, with the benefits of using the scalable infrastructure of AWS.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Happy Cloud Engineering☁️&lt;/em&gt;&lt;/p&gt;

</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>Getting Started with Serverless☁️🚀</title>
      <dc:creator>KainatSana</dc:creator>
      <pubDate>Fri, 20 Jan 2023 19:39:54 +0000</pubDate>
      <link>https://dev.to/sanakainat/getting-started-with-serverless-d0g</link>
      <guid>https://dev.to/sanakainat/getting-started-with-serverless-d0g</guid>
      <description>&lt;h2&gt;
  
  
  What comes to your mind hearing about serverless?
&lt;/h2&gt;

&lt;p&gt;Applications without servers? Actually No, serverless applications are with servers but save us from the hassle of managing one.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;It gives us benefits like&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;No server Management&lt;/li&gt;
&lt;li&gt;Flexible scaling&lt;/li&gt;
&lt;li&gt;Automated high availability without configuring&lt;/li&gt;
&lt;li&gt;No idle capacity&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;One benefit of cloud is its hide the infrastructure layer &amp;amp; let organizations focus on business logics &amp;amp; innovation.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  AWS has serverless offerings?
&lt;/h2&gt;

&lt;p&gt;Yes, When learning about AWS many consider just lambda as a serverless offering but AWS with lambda provide other so many services too for storage, orchestration services, developer tools etc. Like 🖗&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%2Fk0eyvnng7sua861s3ppp.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%2Fk0eyvnng7sua861s3ppp.PNG" alt="Image description" width="800" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to learn more on serverless I will suggest to follow serverless learning plan on AWS skill builder.&lt;/em&gt;&lt;br&gt;
&lt;code&gt;https://explore.skillbuilder.aws/learn/lp/92/serverless-learning-plan&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Happy Building Cloud Engineers ☁️💻&lt;/p&gt;

</description>
      <category>sql</category>
      <category>database</category>
      <category>cloud</category>
      <category>performance</category>
    </item>
  </channel>
</rss>
