<?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: Mwanza Simi</title>
    <description>The latest articles on DEV Community by Mwanza Simi (@simimwanza).</description>
    <link>https://dev.to/simimwanza</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%2F2749564%2F8bd4c01e-1b48-4a5d-b10e-fc14459e2b92.jpeg</url>
      <title>DEV Community: Mwanza Simi</title>
      <link>https://dev.to/simimwanza</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/simimwanza"/>
    <language>en</language>
    <item>
      <title>Building Reverse Engineering Reality with Google Gemini</title>
      <dc:creator>Mwanza Simi</dc:creator>
      <pubDate>Wed, 04 Mar 2026 10:40:30 +0000</pubDate>
      <link>https://dev.to/simimwanza/building-reverse-engineering-reality-with-google-gemini-4mhc</link>
      <guid>https://dev.to/simimwanza/building-reverse-engineering-reality-with-google-gemini-4mhc</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/mlh/built-with-google-gemini-02-25-26"&gt;Built with Google Gemini: Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built with Google Gemini
&lt;/h2&gt;

&lt;p&gt;I built an app called "Reverse Engineering Reality." You upload a photo of any everyday object, and it gives you detailed instructions for assembling or disassembling it. The instructions are fictional but surprisingly detailed complete with materials, tools, step-by-step guides, and custom illustrations for each step.&lt;/p&gt;

&lt;p&gt;The idea came from that moment when you look at something and wonder how it's made. Instead of just wondering, you get an actual blueprint. It's part educational, part creative experiment. You can take a photo of your coffee maker or a lamp and get a full breakdown of how you'd theoretically build it from scratch.&lt;/p&gt;

&lt;p&gt;I used gemini-2.5-flash for the core analysis and text generation, and imagen-4.0-generate-001 for creating the step illustrations. The app analyses your photo, identifies objects in it, lets you pick which one you want instructions for, then generates everything. After that, there's a chat assistant that knows about the blueprint you just created, so you can ask followup questions.&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%2F01x2222jgddd9uf3wfag.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%2F01x2222jgddd9uf3wfag.png" alt="Phone Disassembly"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The structured output feature was critical here. I defined a JSON schema that tells Gemini exactly what format I need, object name, materials list, tools, numbered steps, image prompts for each step. Without that, I'd be parsing unstructured text and hoping for consistency. With it, I get clean, predictable data every time.&lt;/p&gt;

&lt;p&gt;For the illustrations, each step includes a text prompt that gets sent to Imagen. So the AI analyzes your photo, writes instructions, writes prompts for diagrams, then generates those diagrams. It's a full multimodal pipeline image to text to image.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Here is the embedded app you can play with: &lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://reverse-engineering-reality-763008050719.us-west1.run.app/"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;




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

&lt;p&gt;Structured outputs changed how I think about building with AI. Instead of treating the model like a black box that returns text you have to wrangle, you can define exactly what you need and get it reliably. That makes the difference between a demo and something you can actually build a UI around.&lt;/p&gt;

&lt;p&gt;I also learned that chaining models works better than I expected. Using one model for understanding and another for generation gave me more control over each part of the process. The chat feature was straightforward to add once the main pipeline worked just pass the generated instructions as context and let users ask questions about 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%2F1ldf4sro5sc4uy45v1zv.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%2F1ldf4sro5sc4uy45v1zv.png" alt="Steps"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The biggest surprise was how good the generated illustrations turned out. I wasn't sure if Imagen could handle technical diagram style images from text prompts, but it consistently produced clear, relevant visuals that actually help explain the steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Google Gemini Feedback
&lt;/h2&gt;

&lt;p&gt;The structured output feature worked great. No complaints there it did exactly what I needed and made the whole project possible.&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%2Fitx1tdw6wu5tp1ss7ds9.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%2Fitx1tdw6wu5tp1ss7ds9.png" alt="Items"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The multimodal capabilities were solid. Image understanding was accurate enough for object detection and analysis, and the integration between models felt smooth. I didn't have to do much work to get them talking to each other.&lt;/p&gt;

&lt;p&gt;The main friction was prompt tuning. Getting the right balance between creative and practical in the instructions took some iteration. Too vague and the steps weren't useful, too rigid and they felt robotic. System instructions helped, but it still took testing to find the sweet spot. AI Studio made that easier since I could experiment with prompts before writing code.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>geminireflections</category>
      <category>gemini</category>
    </item>
    <item>
      <title>Reverse Engineering Reality with Google AI</title>
      <dc:creator>Mwanza Simi</dc:creator>
      <pubDate>Sun, 14 Sep 2025 16:14:26 +0000</pubDate>
      <link>https://dev.to/simimwanza/reverse-engineering-reality-with-google-ai-36nm</link>
      <guid>https://dev.to/simimwanza/reverse-engineering-reality-with-google-ai-36nm</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-ai-studio-2025-09-03"&gt;Google AI Studio Multimodal Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I've created an application called "Reverse Engineering Reality." It's a creative tool that allows users to upload a photo of any everyday object and, using the power of AI, receive a detailed, imaginative set of instructions for either assembling it from scratch or disassembling it.&lt;/p&gt;

&lt;p&gt;The app solves the problem of curiosity and creativity. It transforms a passive observation of an object ("I wonder how that's made?") into an active, engaging, and educational experience. It provides users with a fictional "blueprint" for the world around them, complete with materials, tools, step-by-step guides, and custom illustrations, fostering a deeper appreciation for design and engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://reverse-engineering-reality-763008050719.us-west1.run.app/" rel="noopener noreferrer"&gt;Try Out the applet here on a deployed cloudrun instance&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/xX83_dzi3ps"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Google AI Studio
&lt;/h2&gt;

&lt;p&gt;This app is built directly on the Gemini API, the same technology that powers Google AI Studio. The development process mirrors the iterative prompting and schema design one would perform in the Studio.&lt;/p&gt;

&lt;p&gt;Here's how I leveraged its capabilities:&lt;/p&gt;

&lt;p&gt;Model Selection: I primarily use gemini-2.5-flash for its speed and powerful reasoning capabilities, which are perfect for analyzing images, generating structured text, and powering the chat assistant. For image generation, I use imagen-4.0-generate-001.&lt;/p&gt;

&lt;p&gt;Structured Output (JSON Mode): This is a critical feature. I provide the Gemini model with a strict JSON schema to ensure the output for the instructions (object name, materials, tools, steps, etc.) and object detection (bounding boxes) is predictable and machine-readable. This allows me to easily parse the AI's response and render it into a structured, user-friendly interface without complex string manipulation.&lt;/p&gt;

&lt;p&gt;System Instructions: I use system instructions to set the context for the AI. For instruction generation, the AI is prompted to act as an "expert reverse engineer and master craftsman." For the chat feature, it's prompted to be a helpful "AI Assembly Assistant," ensuring its responses are focused on the provided blueprint.&lt;/p&gt;

&lt;p&gt;Chat Functionality: The app uses the Gemini API's chat capabilities (ai.chats.create) to create a conversational assistant that has memory of the generated instructions, allowing users to ask follow-up questions in a natural way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multimodal Features
&lt;/h2&gt;

&lt;p&gt;The app is fundamentally multimodal, combining image and text inputs and outputs to create a rich, interactive experience.&lt;/p&gt;

&lt;p&gt;Image-to-Text (Core Analysis): The primary multimodal feature is the app's ability to understand an image uploaded by the user. It takes visual data (a photo of an object) and outputs structured text (a JSON object containing the full assembly/disassembly blueprint). This demonstrates a deep visual reasoning capability.&lt;/p&gt;

&lt;p&gt;Object Detection from Image: Before generating instructions, the app first analyzes the image to identify and locate distinct objects, returning their names and bounding box coordinates. This is another form of image-to-text functionality that enhances user control by allowing them to select the specific object of interest.&lt;/p&gt;

&lt;p&gt;Text-to-Image (Illustrations): To make the instructions more intuitive and engaging, the app uses a powerful text-to-image workflow. For each step in the generated blueprint, the AI also creates a descriptive imagePrompt (text). This text is then fed to the imagen-4.0-generate-001 model to generate a custom, diagram-style illustration for that specific step. This combination—analyzing an image to produce text, then using that text to create a new image—is a sophisticated multimodal pipeline that greatly enhances the final product.&lt;/p&gt;

&lt;p&gt;Together, these features allow a user to seamlessly translate a real-world object into a fully illustrated, interactive digital guide.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>"Kiro" Why This Name Perfectly Captures the AI Development Crossroads</title>
      <dc:creator>Mwanza Simi</dc:creator>
      <pubDate>Tue, 15 Jul 2025 22:08:22 +0000</pubDate>
      <link>https://dev.to/kirodotdev/the-kiro-meaning-why-this-name-perfectly-captures-the-ai-development-crossroads-4i5o</link>
      <guid>https://dev.to/kirodotdev/the-kiro-meaning-why-this-name-perfectly-captures-the-ai-development-crossroads-4i5o</guid>
      <description>&lt;p&gt;When AWS unveiled Kiro, its new AI-powered IDE, many developers likely honed in on its main features of it being an AI co-pilot, for spec driven development, and agent hooks. But have you ever wondered about the meaning behind the name itself? "Kiro" holds a deep significance, particularly in Japanese, that beautifully captures where AI stands in software development right now.&lt;/p&gt;

&lt;h3&gt;
  
  
  Diving into "Kiro"
&lt;/h3&gt;

&lt;p&gt;In Japanese, "Kiro" translates to "circuit," "pathway," or "route." This might seem simple, but it carries powerful symbolism when you think about a groundbreaking AI development environment.&lt;/p&gt;

&lt;p&gt;Consider this, Circuits are the core of computing. They're where logic unfolds, where inputs transform into outputs, and where intelligence takes shape physically. As an AI IDE its building and refining these digital circuits.&lt;/p&gt;

&lt;p&gt;Then there are pathways and routes. These words speak to direction, a journey, and progress. In development, we're always navigating tricky problems, searching for the most efficient way to a solution, and creating paths for data and how users interact with our software. It aims to light up these pathways, guiding developers and even charting new ones on its own, getting from a raw idea to a finished product, while helping you pave that very clear route.&lt;/p&gt;

&lt;h3&gt;
  
  
  At the Crossroads, Where Human Ingenuity Meets AI Automation
&lt;/h3&gt;

&lt;p&gt;The elegance of the name truly shines when we look at the current landscape of software development. For a long time, many AI coding assistants have focused on completing small code snippets or suggesting individual lines. This often led to what some call "vibe coding," where the big picture, the overall architecture, or the original intent could easily get lost, by emphasizing files like requirements.md and design.md, encourages a more structured approach. It's steering developers onto a clearer "pathway" instead of just helping them wander aimlessly.&lt;/p&gt;

&lt;p&gt;Think of it like a well designed circuit taking your high level goals as inputs and processes them. But you, the developer, remain the architect and the ultimate controller. You lay out the "circuit board," and getting the help to wire it up efficiently. The name subtly reinforces this collaboration, the intricate dance between human creativity and AI execution within a defined system.&lt;/p&gt;

&lt;p&gt;Modern cloud applications are incredibly intricate, with distributed systems, microservices, and vast AWS ecosystems, with a "route" through this complexity, breaking down intimidating tasks into manageable "circuits" of work, from generating code to writing tests and documentation. It's like having a map and a compass for your cloud native journey.&lt;/p&gt;

&lt;h3&gt;
  
  
  Precision, Connection, and Evolution
&lt;/h3&gt;

&lt;p&gt;Beyond its primary meaning, the concept of a "circuit" in Japanese also brings to mind the Precision as  circuits are designed with incredible care, every single connection matters. Aiming for this exact level of precision. Producing structured designs, thorough tests, and up-to-date documentation that are all interconnected and spot on.&lt;/p&gt;

&lt;p&gt;Connection of a circuit is essentially a network of linked components. With a true understanding these connections, within your codebase, between your services, and even between your big-picture ideas and the nitty-gritty implementation details. It fosters a more connected and complete development process.&lt;/p&gt;

&lt;p&gt;Evolution of  circuits themselves have evolved with new technologies like old vacuum tubes to tiny microchips, software development is constantly changing. Representing the next big leap in developer tools, adapting to new ways of thinking and pushing the boundaries of what you can achieve with AI.&lt;/p&gt;

&lt;p&gt;The name Kiro is a fantastic choice and a statement of purpose, guiding you through the intricate circuits of code and along the clearest paths to innovation.&lt;/p&gt;

&lt;p&gt;What are your initial thoughts, and how do you imagine it will shape the way you approach your development projects?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>aws</category>
      <category>genai</category>
      <category>kiro</category>
    </item>
    <item>
      <title>AWS GuardDuty vs. Inspector vs. Shield, What’s the Difference?</title>
      <dc:creator>Mwanza Simi</dc:creator>
      <pubDate>Sun, 09 Mar 2025 21:56:17 +0000</pubDate>
      <link>https://dev.to/simimwanza/aws-guardduty-vs-inspector-vs-shield-whats-the-difference-15id</link>
      <guid>https://dev.to/simimwanza/aws-guardduty-vs-inspector-vs-shield-whats-the-difference-15id</guid>
      <description>&lt;p&gt;Securing your AWS environment can feel daunting as there are so many tools out there, and it’s not always clear which one does what. Take AWS GuardDuty, Inspector, and Shield, for example. At first glance, they might seem like they’re all doing the same thing of keeping your cloud safe. But dig a little deeper, and you’ll see they each have their own power. So, how do you know which one to use, What makes GuardDuty different from Inspector, and when does Shield come into play?&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Cloud Detective,AWS GuardDuty
&lt;/h2&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%2F6w1q6gnrylj5dk38kvoq.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%2F6w1q6gnrylj5dk38kvoq.png" alt="Free detective searching man vector" width="800" height="807"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Think of AWS GuardDuty as a detective that’s always on the lookout for suspicious activity. It’s a threat detection service that continuously monitors your AWS environment for signs of trouble. it uses machine learning and analyzes data from various sources, like AWS CloudTrail logs, VPC Flow Logs, and DNS logs, to spot unusual behavior.&lt;/p&gt;

&lt;p&gt;For example, if someone tries to log in to your account from a strange location or if an EC2 instance starts communicating with a known malicious IP address, it will flag it. It’s like having a security guard who’s always watching and ready to raise the alarm.&lt;/p&gt;

&lt;p&gt;If you want to detect potential threats in real time, like unauthorized access, compromised instances, or suspicious network activity, GuardDuty is your tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Vulnerability Scanner, AWS Inspector
&lt;/h2&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%2Fiki4gtnt4exmdw0n5v0p.jpg" 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%2Fiki4gtnt4exmdw0n5v0p.jpg" alt="Inspections and Observations: Tech Improvements | SafetyStratus" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS Inspector is designed to find vulnerabilities in your applications and infrastructure. It automatically assesses your resources, such as EC2 instances, and checks for common security issues, like open ports, missing patches, or misconfigurations.&lt;/p&gt;

&lt;p&gt;By running automated security assessments, it provides a detailed report with recommendations on how to fix the issues it finds. It’s not a real time like GuardDuty but a more of a periodic check-up to make sure everything is secure.&lt;/p&gt;

&lt;p&gt;If you’re looking to identify and fix vulnerabilities in your applications or infrastructure, Inspector is the right choice. It’s especially useful before deploying new applications or after making significant changes to your environment. Think of it as a way to ensure your systems are secure before they go live.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your DDoS Bodyguard, AWS Shield
&lt;/h2&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%2Fencrypted-tbn0.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcSpfyit0PVg5x4ijdF6_Z8VblnC2XmBMp8dJw%26s" 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%2Fencrypted-tbn0.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcSpfyit0PVg5x4ijdF6_Z8VblnC2XmBMp8dJw%26s" alt="Mr Bodyguard | ID#: 353 | Funny Emoticons" width="225" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS Shield is all about protecting your applications from Distributed Denial of Service (DDoS) attacks. These attacks can overwhelm your systems with traffic, making them unavailable to legitimate users. Shield comes in two versions: Standard and Advanced.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shield Standard&lt;/strong&gt; is automatically included with all AWS accounts and provides basic protection against common DDoS attacks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shield Advanced&lt;/strong&gt; is a paid service that offers enhanced protection, including 24/7 access to the AWS DDoS Response Team, detailed attack reports, and financial protection against scaling costs during an attack.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re running applications that need to be highly available and you’re concerned about DDoS attacks, Shield is a must. Shield Advanced is ideal for businesses that need extra protection and support, especially if they’re running critical workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  How They Work Together
&lt;/h2&gt;

&lt;p&gt;While they all serve different purposes, they can work together to provide a comprehensive security strategy. Here’s how:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GuardDuty&lt;/strong&gt; monitors for threats in real time, helping you detect and respond to suspicious activity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Inspector&lt;/strong&gt; identifies vulnerabilities in your applications and infrastructure, giving you a chance to fix them before they’re exploited.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shield&lt;/strong&gt; protects your applications from DDoS attacks, ensuring they stay online and available.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, Inspector might find an open port on one of your EC2 instances. You close the port, but GuardDuty later detects unusual traffic from that instance, indicating a potential compromise. Meanwhile, Shield is protecting your application from being taken offline by a DDoS attack. Together, these tools create a layered defense that keeps your AWS environment secure.&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%2Fencrypted-tbn0.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcSDDQYzjHsCY3ZS7VPJSkPwm_tNjpCsd3yg4A%26s" 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%2Fencrypted-tbn0.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcSDDQYzjHsCY3ZS7VPJSkPwm_tNjpCsd3yg4A%26s" alt="9 Really Funny Cartoons on Cloud" width="233" height="216"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>security</category>
    </item>
    <item>
      <title>Deploying a simple HTML on Nginx using AWS</title>
      <dc:creator>Mwanza Simi</dc:creator>
      <pubDate>Wed, 29 Jan 2025 17:19:19 +0000</pubDate>
      <link>https://dev.to/simimwanza/deploying-a-simple-html-on-nginx-using-aws-21ao</link>
      <guid>https://dev.to/simimwanza/deploying-a-simple-html-on-nginx-using-aws-21ao</guid>
      <description>&lt;p&gt;This blog post documents my experience setting up a web server using Nginx, from spinning up an EC2 instance to configuring the server to serve a custom HTML page. It details the process, the challenges I faced, and the valuable lessons I learned.&lt;/p&gt;

&lt;h2&gt;
  
  
  EC2 and Nginx Installation:
&lt;/h2&gt;

&lt;p&gt;I began by launching an Amazon EC2 instance. I chose an Amazon Linux 2 AMI, as it's a stable and readily available option.  I selected a t2.micro instance for this simple setup, as it fits within the free tier.  Once the instance was running, I connected to it via SSH.&lt;/p&gt;

&lt;p&gt;The next step was installing Nginx.  Since I was using Amazon Linux 2, I used the yum package manager:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo yum update -y  
sudo yum install nginx -y 
sudo systemctl start nginx 
sudo systemctl enable nginx 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After installation, I verified that Nginx was running by accessing the instance's public IP address in my browser. The default Nginx welcome page confirmed a successful installation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating the Custom Web Page:
&lt;/h2&gt;

&lt;p&gt;With Nginx up and running, it was time to create the custom HTML page. I created a directory to hold my website's files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo mkdir -p /var/www/html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, I created the index.html file within this directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /var/www/html/index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside index.html, I added the following content, my name:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Welcome&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Welcome to DevOps Stage 0 - [Your Name]/[SlackName]&amp;lt;/h1&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Challenges and Learning Opportunities:
&lt;/h2&gt;

&lt;p&gt;While the process was relatively straightforward, I encountered a challenge&lt;/p&gt;

&lt;p&gt;Firewall Configuration: Initially, I couldn't access my webpage even after Nginx was running.  I realized that the EC2 instance's security group (firewall) wasn't configured to allow inbound traffic on port 80 (HTTP).  This taught me the importance of properly configuring security groups to allow access to the necessary ports.  I learned how to add a rule to the security group to open port 80.&lt;/p&gt;

&lt;p&gt;Setting up a web server with Nginx on EC2 was a valuable learning experience.  I gained practical knowledge of EC2 instances, Nginx installation, and basic web server configuration.  The challenges I faced reinforced the importance of understanding these fundamental concepts. I am excited to continue exploring more advanced DevOps tools and skills.&lt;/p&gt;

&lt;p&gt;For more check out HNG internship, They offer resources for hiring various tech experts, including:&lt;/p&gt;

&lt;p&gt;DevOps Engineers: &lt;a href="https://hng.tech/hire/devops-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/devops-engineers&lt;/a&gt;&lt;br&gt;
Cloud Engineers: &lt;a href="https://hng.tech/hire/cloud-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/cloud-engineers&lt;/a&gt;&lt;br&gt;
Site Reliability Engineers: &lt;a href="https://hng.tech/hire/site-reliability-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/site-reliability-engineers&lt;/a&gt;&lt;br&gt;
Platform Engineers: &lt;a href="https://hng.tech/hire/platform-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/platform-engineers&lt;/a&gt;&lt;br&gt;
Infrastructure Engineers: &lt;a href="https://hng.tech/hire/infrastructure-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/infrastructure-engineers&lt;/a&gt;&lt;br&gt;
Kubernetes Specialists: &lt;a href="https://hng.tech/hire/kubernetes-specialists" rel="noopener noreferrer"&gt;https://hng.tech/hire/kubernetes-specialists&lt;/a&gt;&lt;br&gt;
AWS Solutions Architects: &lt;a href="https://hng.tech/hire/aws-solutions-architects" rel="noopener noreferrer"&gt;https://hng.tech/hire/aws-solutions-architects&lt;/a&gt;&lt;br&gt;
Azure DevOps Engineers: &lt;a href="https://hng.tech/hire/azure-devops-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/azure-devops-engineers&lt;/a&gt;&lt;br&gt;
Google Cloud Engineers: &lt;a href="https://hng.tech/hire/google-cloud-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/google-cloud-engineers&lt;/a&gt;&lt;br&gt;
CI/CD Pipeline Engineers: &lt;a href="https://hng.tech/hire/ci-cd-pipeline-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/ci-cd-pipeline-engineers&lt;/a&gt;&lt;br&gt;
Monitoring/Observability Engineers: &lt;a href="https://hng.tech/hire/monitoring-observability-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/monitoring-observability-engineers&lt;/a&gt;&lt;br&gt;
Automation Engineers: &lt;a href="https://hng.tech/hire/automation-engineers" rel="noopener noreferrer"&gt;https://hng.tech/hire/automation-engineers&lt;/a&gt;&lt;br&gt;
Docker Specialists: &lt;a href="https://hng.tech/hire/docker-specialists" rel="noopener noreferrer"&gt;https://hng.tech/hire/docker-specialists&lt;/a&gt;&lt;br&gt;
Linux Developers: &lt;a href="https://hng.tech/hire/linux-developers" rel="noopener noreferrer"&gt;https://hng.tech/hire/linux-developers&lt;/a&gt;&lt;br&gt;
PostgreSQL Developers: &lt;a href="https://hng.tech/hire/postgresql-developers" rel="noopener noreferrer"&gt;https://hng.tech/hire/postgresql-developers&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>Amazon S3 Just Gave Us a Million Reasons to Smile</title>
      <dc:creator>Mwanza Simi</dc:creator>
      <pubDate>Sun, 26 Jan 2025 18:29:13 +0000</pubDate>
      <link>https://dev.to/simimwanza/amazon-s3-just-gave-us-a-million-reasons-to-smile-50l</link>
      <guid>https://dev.to/simimwanza/amazon-s3-just-gave-us-a-million-reasons-to-smile-50l</guid>
      <description>&lt;p&gt;Big news for anyone who uses Amazon S3, you can now create &lt;strong&gt;up to 1 million buckets&lt;/strong&gt; in your AWS account. That’s right, what used to be a limit of 100 buckets has now been bumped to &lt;strong&gt;10,000 by default&lt;/strong&gt;, and if you need more, you can request up to a million. Whether you’re a small business or a huge enterprise, this change is a big deal. Let’s break it down in simple terms and see how it can make your life easier.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;What’s Changed?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Before this update, AWS accounts were limited to &lt;strong&gt;100 buckets&lt;/strong&gt; by default. Now, that number has jumped to &lt;strong&gt;10,000 buckets automatically&lt;/strong&gt;, and you can request to go all the way up to &lt;strong&gt;1 million buckets&lt;/strong&gt; if you need to. The best part? Your first &lt;strong&gt;2,000 buckets are free&lt;/strong&gt;. After that, there’s a small monthly fee, but it’s a small price to pay for the flexibility this brings.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Why Should You Care?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;More buckets mean more ways to organize, secure, and manage your data. Here’s why this matters:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Better Organization&lt;/strong&gt;: Instead of dumping everything into a few buckets, you can now create separate buckets for different projects, clients, or types of data. Think of it like having more drawers in a filing cabinet, it just makes life easier.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stronger Security&lt;/strong&gt;: With more buckets, you can apply specific security settings to each one. For example, you can enable encryption for sensitive data or set strict access controls for confidential files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easier Backups and Replication&lt;/strong&gt;: Need to back up data or replicate it across regions? More buckets let you do this more efficiently, without mixing things up.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalability&lt;/strong&gt;: Whether you’re a startup or a big company, this update ensures your storage can grow with your needs.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Fun and Practical Ways to Use More Buckets&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Here are some everyday scenarios where having more buckets can make a real difference:&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1. Keep Your Data Neat and Tidy&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;A marketing team can create a bucket for each client’s campaigns. No more digging through one giant bucket to find what you need. It’s like having a labeled folder for everything, saves time and reduces stress.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2. Stay Compliant Without the Headache&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;A healthcare company can use separate buckets for patient records, billing data, and general files. Each bucket can have its own security settings to meet compliance rules.Makes audits easier and keeps sensitive data safe.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3. Backups Made Simple&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;A tech team can create a bucket for each day’s database backups. If something goes wrong, finding the right backup is a breeze. No more scrambling to find the right file in a sea of backups.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4. Boost Your Machine Learning Projects&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;A data science team can use separate buckets for raw data, cleaned data, and finished models. This keeps everything organized and easy to access.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;5. Run a Multi-Tenant App Like a Pro&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;A SaaS company can create a bucket for each customer. This keeps their data separate and secure. Customers get better security, and you get happier users.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;6. Track Events and Logs Effortlessly&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;A gaming company can create a bucket for each game session, storing logs and player data separately. Troubleshooting and analysis now is way easier.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;7. Save Money on Storage&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;A media company can use different buckets for active files (like videos being edited) and archived files (like old projects). Each bucket can use the most cost-effective storage option. Keeps costs down without sacrificing performance.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;How to Get Started&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Check Your Account&lt;/strong&gt;: The new default of 10,000 buckets is already applied to your AWS account. No need to do anything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Request More if Needed&lt;/strong&gt;: If you need more than 10,000 buckets, just request a quota increase through the &lt;strong&gt;Service Quotas&lt;/strong&gt; console. You can go up to 1 million buckets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start Creating Buckets&lt;/strong&gt;: Your first 2,000 buckets are free. After that, there’s a small monthly fee, but it’s worth it for the flexibility.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Tips for Naming Your Buckets&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;With so many buckets, it’s important to stay organized. Here’s how:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use clear, consistent names (e.g., &lt;code&gt;project-name-data-type-region&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Add tags like &lt;code&gt;dev&lt;/code&gt; or &lt;code&gt;prod&lt;/code&gt; to show the environment.&lt;/li&gt;
&lt;li&gt;Avoid using sensitive info in bucket names (e.g., customer names or account numbers).&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Why This Update Rocks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This change is all about giving you more freedom and flexibility. Whether you’re a solo developer or part of a huge team, having more buckets means you can work smarter, not harder. It’s like upgrading from a tiny closet to a walk-in wardrobe, you’ll wonder how you ever managed before.&lt;/p&gt;




&lt;p&gt;What’s the first thing you’ll do with your new buckets? Let me know in the comments&lt;/p&gt;

</description>
      <category>aws</category>
      <category>s3</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
