<?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: Lydiah Wanjiru</title>
    <description>The latest articles on DEV Community by Lydiah Wanjiru (@ngendo).</description>
    <link>https://dev.to/ngendo</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%2F678556%2F95e3f0c1-1c9a-4ff2-8d1c-54e18c2d8e7f.png</url>
      <title>DEV Community: Lydiah Wanjiru</title>
      <link>https://dev.to/ngendo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ngendo"/>
    <language>en</language>
    <item>
      <title>Pose Estimation in Action: Visualizing the Golf Swing Frame by Frame ⛳️🤖</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Fri, 04 Apr 2025 11:36:05 +0000</pubDate>
      <link>https://dev.to/aws-builders/pose-estimation-in-action-visualizing-the-golf-swing-frame-by-frame-2hmg</link>
      <guid>https://dev.to/aws-builders/pose-estimation-in-action-visualizing-the-golf-swing-frame-by-frame-2hmg</guid>
      <description>&lt;h1&gt;
  
  
  Pose Estimation in Action: Visualizing the Golf Swing Frame by Frame ⛳️🤖
&lt;/h1&gt;

&lt;p&gt;In my last post, I introduced &lt;strong&gt;SwingSense&lt;/strong&gt;—a golf swing diagnostic tool powered by AI and computer vision, built as both a technical challenge and a personal love letter to movement, mastery, and meaningful machine learning.&lt;/p&gt;

&lt;p&gt;This is where we start building with intention.&lt;br&gt;&lt;br&gt;
In this post, I’ll walk you through how I used &lt;strong&gt;MediaPipe&lt;/strong&gt; and &lt;strong&gt;OpenCV&lt;/strong&gt; to process a swing video, detect human pose landmarks, and visualize the beauty of motion—one frame at a time.&lt;/p&gt;


&lt;h2&gt;
  
  
  🎯 Where We’re Headed
&lt;/h2&gt;

&lt;p&gt;Here’s what we’re unlocking today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Loading a real golf swing video&lt;/li&gt;
&lt;li&gt;Applying &lt;strong&gt;pose estimation&lt;/strong&gt; to detect key joints&lt;/li&gt;
&lt;li&gt;Overlaying the skeletal movement onto video frames&lt;/li&gt;
&lt;li&gt;Preparing to extract joint movement data for ML modeling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We're laying the foundation for understanding a swing not just as motion—but as &lt;strong&gt;data&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  🎥 Step 1: Loading the Swing Video
&lt;/h2&gt;

&lt;p&gt;I started with a slow-mo swing clip from YouTube, dropped it into my working directory under:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;data/raw/sample_swing.mp4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To load it up with OpenCV:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import cv2

cap = cv2.VideoCapture('data/raw/sample_swing.mp4')

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    cv2.imshow('Raw Frame', frame)
    if cv2.waitKey(10) &amp;amp; 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

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

&lt;/div&gt;



&lt;p&gt;Simple, direct, and a great sanity check that your video pipeline is working.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧍🏾‍♀️ Step 2: Pose Estimation with MediaPipe
&lt;/h2&gt;

&lt;p&gt;Next, I brought in MediaPipe’s Pose model to identify 33 body landmarks—from head to toe.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import mediapipe as mp

mp_pose = mp.solutions.pose
pose = mp_pose.Pose()

results = pose.process(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))

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

&lt;/div&gt;



&lt;p&gt;Once the landmarks were detected, I used MediaPipe’s drawing tools to overlay the skeletal structure onto each frame:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mp_drawing = mp.solutions.drawing_utils

if results.pose_landmarks:
    mp_drawing.draw_landmarks(
        frame,
        results.pose_landmarks,
        mp_pose.POSE_CONNECTIONS)

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

&lt;/div&gt;



&lt;p&gt;It’s genuinely cool seeing the body mapped out mid-swing—limbs aligning, torso rotating, power coiled in motion.&lt;/p&gt;




&lt;h2&gt;
  
  
  👀 Step 3: Real-Time Motion Visuals
&lt;/h2&gt;

&lt;p&gt;Displaying that annotated frame was easy with OpenCV:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cv2.imshow('Swing Pose Frame', frame)

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

&lt;/div&gt;



&lt;p&gt;But what it revealed wasn’t just working code—it was insight.&lt;br&gt;
I could see the motion patterns emerge: shoulder tilt, hand lag, torso compression. The feedback engine we’ll build later? This is where it begins.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✨ Visualization = validation.&lt;br&gt;
Before we start calculating metrics, we need to trust the model's eye.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🔄 Step 4: Prepping for Data Extraction
&lt;/h2&gt;

&lt;p&gt;Next, I’ll be extracting the landmark coordinates from each frame—x, y, z, and visibility—for all 33 points. This is where we transition from visuals to structured, analyzable data.&lt;/p&gt;

&lt;p&gt;We’ll format this into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Pandas DataFrame&lt;/li&gt;
&lt;li&gt;One row per frame, one column per joint&lt;/li&gt;
&lt;li&gt;Ready to calculate angles, offsets, tempo patterns, and movement phases&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Why This Matters
&lt;/h2&gt;

&lt;p&gt;Golf swings aren’t just art—they’re math, balance, timing, biomechanics.&lt;br&gt;
By mapping joints, we capture the hidden structure of performance.&lt;/p&gt;

&lt;p&gt;And by starting with pose estimation, we’re already creating a foundation where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Movement becomes measurable&lt;/li&gt;
&lt;li&gt;Feedback becomes automated&lt;/li&gt;
&lt;li&gt;And improvement becomes data-driven&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📍Up Next in Part 3:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Export pose landmark data for each frame&lt;/li&gt;
&lt;li&gt;Calculate joint angles (like spine tilt, wrist lag, etc.)&lt;/li&gt;
&lt;li&gt;Define a few “good vs improvable” swing metrics&lt;/li&gt;
&lt;li&gt;Start building our training data for the feedback model&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💬 Your Turn
&lt;/h2&gt;

&lt;p&gt;Would you use pose estimation outside sports—like for dance, yoga, rehab, or even gesture control?&lt;/p&gt;

&lt;p&gt;If you’re working on something similar, tag me—I’d love to learn from you, collaborate, or share notes.&lt;/p&gt;

&lt;p&gt;SwingSense is just getting started.&lt;br&gt;
But already, this journey feels like more than a project. It feels like insight in motion.&lt;/p&gt;

&lt;p&gt;Until next time,&lt;br&gt;
&lt;strong&gt;Keep swinging with intention.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>computervision</category>
      <category>womenintech</category>
      <category>sportanalytics</category>
    </item>
    <item>
      <title>Starting a new project.</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Tue, 01 Apr 2025 08:52:37 +0000</pubDate>
      <link>https://dev.to/ngendo/starting-a-new-project-1na1</link>
      <guid>https://dev.to/ngendo/starting-a-new-project-1na1</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/aws-builders/swingsense-how-im-blending-ai-computer-vision-and-golf-to-decode-the-perfect-swing-1j52" class="crayons-story__hidden-navigation-link"&gt;SwingSense: How I’m Blending AI, Computer Vision, and Golf to Decode the Perfect Swing&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/aws-builders"&gt;
            &lt;img alt="AWS Community Builders  logo" 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%2Forganization%2Fprofile_image%2F2794%2F88da75b6-aadd-4ea1-8083-ae2dfca8be94.png" class="crayons-logo__image"&gt;
          &lt;/a&gt;

          &lt;a href="/ngendo" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&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%2Fuser%2Fprofile_image%2F678556%2F95e3f0c1-1c9a-4ff2-8d1c-54e18c2d8e7f.png" alt="ngendo profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ngendo" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Lydiah Wanjiru
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Lydiah Wanjiru
                
              
              &lt;div id="story-author-preview-content-2370714" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ngendo" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F678556%2F95e3f0c1-1c9a-4ff2-8d1c-54e18c2d8e7f.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Lydiah Wanjiru&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/aws-builders" class="crayons-story__secondary fw-medium"&gt;AWS Community Builders &lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/aws-builders/swingsense-how-im-blending-ai-computer-vision-and-golf-to-decode-the-perfect-swing-1j52" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 1 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/aws-builders/swingsense-how-im-blending-ai-computer-vision-and-golf-to-decode-the-perfect-swing-1j52" id="article-link-2370714"&gt;
          SwingSense: How I’m Blending AI, Computer Vision, and Golf to Decode the Perfect Swing
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/aws-builders/swingsense-how-im-blending-ai-computer-vision-and-golf-to-decode-the-perfect-swing-1j52" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;6&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/aws-builders/swingsense-how-im-blending-ai-computer-vision-and-golf-to-decode-the-perfect-swing-1j52#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>aws</category>
      <category>softwaredevelopment</category>
      <category>cloud</category>
      <category>productivity</category>
    </item>
    <item>
      <title>SwingSense: How I’m Blending AI, Computer Vision, and Golf to Decode the Perfect Swing</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Tue, 01 Apr 2025 08:52:07 +0000</pubDate>
      <link>https://dev.to/aws-builders/swingsense-how-im-blending-ai-computer-vision-and-golf-to-decode-the-perfect-swing-1j52</link>
      <guid>https://dev.to/aws-builders/swingsense-how-im-blending-ai-computer-vision-and-golf-to-decode-the-perfect-swing-1j52</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;"Elegance is when precision meets purpose." — My mantra for both golf and code.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Hi, I’m &lt;strong&gt;Lydiah&lt;/strong&gt;—a systems thinker, tech lover, and woman on a mission to build intelligent tools that make elite performance accessible to anyone.&lt;br&gt;&lt;br&gt;
This year, I’m launching a bold new project called &lt;strong&gt;SwingSense&lt;/strong&gt;, where I’ll apply my skills in &lt;strong&gt;machine learning, computer vision, and data science&lt;/strong&gt; to one of the most elegant yet data-rich sports on earth: &lt;strong&gt;golf&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this post (the first in a build-in-public series), I’ll introduce you to the concept, motivation, and the tech backbone powering this portfolio project. And trust me—it’s not just about swings and stats. It’s about changing how we learn mastery, forever.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 The Vision: Golf Coaching Reinvented with AI
&lt;/h2&gt;

&lt;p&gt;Golf is a game of inches, intuition, and iteration. Yet for most aspiring golfers, quality coaching is expensive, subjective, and geographically limited.&lt;/p&gt;

&lt;p&gt;What if I could change that?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SwingSense&lt;/strong&gt; is my attempt to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyze golf swings through &lt;strong&gt;pose estimation and kinematic data&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Compare those movements to elite professionals&lt;/li&gt;
&lt;li&gt;Offer real-time, explainable, and personalized feedback
&lt;/li&gt;
&lt;li&gt;Track a user’s improvement over time using machine learning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We’re not just building a tool. We’re architecting an experience—where feedback feels like a personal caddie whispering insights right in your ear.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 The Tech Stack: Marrying AI with Sports Science
&lt;/h2&gt;

&lt;p&gt;To bring this vision to life, I’m engineering an end-to-end system with the following components:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Tools &amp;amp; Ideas&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🎥 Pose Estimation&lt;/td&gt;
&lt;td&gt;MediaPipe, OpenCV, Skeleton Tracking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🧠 Model Logic&lt;/td&gt;
&lt;td&gt;TensorFlow or PyTorch for classification + metrics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;📊 Data Engineering&lt;/td&gt;
&lt;td&gt;Custom pipelines to extract &amp;amp; label joint movement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🎛️ App Layer&lt;/td&gt;
&lt;td&gt;Streamlit for quick UI (MVP), then React/Flask for production&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;☁️ Infrastructure&lt;/td&gt;
&lt;td&gt;GitHub, Docker, AWS S3 for scaling later&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;📈 Insights &amp;amp; Feedback&lt;/td&gt;
&lt;td&gt;Angle calculations, comparison heatmaps, audio/text feedback&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In the early stages, I’ll work with &lt;strong&gt;public golf swing datasets&lt;/strong&gt; and simulated motion data. But the long-term dream? Incorporating &lt;strong&gt;real-world video submissions&lt;/strong&gt; from everyday users—closing the loop between model training and actual impact.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 Why This Project Matters (and Why Now)
&lt;/h2&gt;

&lt;p&gt;This isn’t just about golf—it’s about &lt;strong&gt;democratizing expert feedback&lt;/strong&gt; using tech.&lt;br&gt;&lt;br&gt;
Imagine a high-school athlete in Nairobi, a retired golfer in Atlanta, or a beginner mom in Lagos… all receiving world-class coaching through AI. No private instructor. No expensive sensors. Just a smartphone and a personalized feedback loop.&lt;/p&gt;

&lt;p&gt;For me, SwingSense is proof that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ML and data engineering can solve meaningful real-world problems&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sports and science&lt;/strong&gt; don’t have to be separate lanes&lt;/li&gt;
&lt;li&gt;And that a &lt;strong&gt;Black African woman&lt;/strong&gt; can architect next-gen tools on a global scale.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🗺️ What You’ll Learn in This Series
&lt;/h2&gt;

&lt;p&gt;If you’re following this series, expect a &lt;strong&gt;guided journey&lt;/strong&gt; through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎯 Pose detection &amp;amp; human movement modeling&lt;/li&gt;
&lt;li&gt;🔍 Golf swing feature extraction &amp;amp; biomechanics mapping&lt;/li&gt;
&lt;li&gt;🤖 Training an ML model to assess swing quality&lt;/li&gt;
&lt;li&gt;🛠️ Deploying a feedback engine via Streamlit&lt;/li&gt;
&lt;li&gt;📦 Lessons on building, breaking, and refining as we go&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’ll be real, raw, and rigorously documented—with code snippets, visuals, personal insights, and aha moments along the way.&lt;/p&gt;




&lt;h2&gt;
  
  
  👋🏾 Let’s Connect (and collaborate)
&lt;/h2&gt;

&lt;p&gt;Whether you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Love golf and want to explore the tech side,&lt;/li&gt;
&lt;li&gt;Are building your own AI/ML project and need a sister-in-code,&lt;/li&gt;
&lt;li&gt;Or you’re just curious how data science meets sports elegance—&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…I’d love to hear your thoughts, questions, or even co-create something magical. 💬&lt;/p&gt;




&lt;h2&gt;
  
  
  🔮 Up Next: Pose Estimation in Action
&lt;/h2&gt;

&lt;p&gt;In the next post, we’ll step into the swing—quite literally—by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Loading our first swing video&lt;/li&gt;
&lt;li&gt;Extracting joint landmarks using MediaPipe&lt;/li&gt;
&lt;li&gt;Visualizing motion frames in real time&lt;/li&gt;
&lt;li&gt;And preparing our data pipeline for training&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, grab your favorite club (or keyboard) and join me on this beautiful blend of logic, movement, and machine learning.&lt;/p&gt;

&lt;p&gt;Until then, keep it precise. Keep it playful. And always… swing with purpose.&lt;/p&gt;

&lt;h1&gt;
  
  
  AI #MachineLearning #ComputerVision #Golf #BuildInPublic #DataScience #PoseEstimation #Streamlit #WomenInTech #SportsTech #MLOps
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Tue, 25 Feb 2025 14:01:13 +0000</pubDate>
      <link>https://dev.to/ngendo/-5fp8</link>
      <guid>https://dev.to/ngendo/-5fp8</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/ngendo" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F678556%2F95e3f0c1-1c9a-4ff2-8d1c-54e18c2d8e7f.png" alt="ngendo"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/ngendo/beyond-9999-uptime-engineering-high-availability-like-a-pro-9o0" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Beyond 99.99% Uptime: Engineering High Availability Like a Pro 🚀&lt;/h2&gt;
      &lt;h3&gt;Lydiah Wanjiru ・ Feb 25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>devops</category>
      <category>architecture</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Tue, 25 Feb 2025 13:51:55 +0000</pubDate>
      <link>https://dev.to/ngendo/-27n7</link>
      <guid>https://dev.to/ngendo/-27n7</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/ngendo" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F678556%2F95e3f0c1-1c9a-4ff2-8d1c-54e18c2d8e7f.png" alt="ngendo"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/ngendo/beyond-9999-uptime-engineering-high-availability-like-a-pro-9o0" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Beyond 99.99% Uptime: Engineering High Availability Like a Pro 🚀&lt;/h2&gt;
      &lt;h3&gt;Lydiah Wanjiru ・ Feb 25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>devops</category>
      <category>architecture</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Beyond 99.99% Uptime: Engineering High Availability Like a Pro 🚀</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Tue, 25 Feb 2025 13:47:17 +0000</pubDate>
      <link>https://dev.to/aws-builders/beyond-9999-uptime-engineering-high-availability-like-a-pro-9o0</link>
      <guid>https://dev.to/aws-builders/beyond-9999-uptime-engineering-high-availability-like-a-pro-9o0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;"High Availability is not about avoiding failures; it’s about embracing them intelligently."&lt;br&gt;
The industry often touts the 99.99% uptime promise, but real-world HA engineering transcends Service Level Agreements (SLAs). It's about ensuring that even when failures occur, your system remains operational without impacting end-users.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Drawing from experiences with large-scale HA architectures, including an active-active setup validating services for 70 million users, one key takeaway emerges: Downtime is not an accident; it’s an oversight.&lt;/p&gt;

&lt;p&gt;Here’s an in-depth exploration of how real HA operates at scale and how AIOps is redefining availability. 👇&lt;/p&gt;




&lt;h2&gt;
  
  
  1️⃣ The HA Maturity Model: Where Do You Stand?
&lt;/h2&gt;

&lt;p&gt;Before diving into advanced architectures, assess your system's current position on the HA Maturity Scale:&lt;/p&gt;

&lt;p&gt;🔴 Level 1: Basic HA → Standby backup servers, slow manual failover, minimal automation.&lt;br&gt;
🟡 Level 2: Intermediate HA → Load balancing, active-passive clusters, automated failover.&lt;br&gt;
🟢 Level 3: Advanced HA → Active-active multi-region deployments, self-healing infrastructure, zero downtime deployments.&lt;br&gt;
🔵 Level 4: AI-Driven HA → Predictive auto-scaling, anomaly detection, AIOps-driven remediation.&lt;br&gt;
Operating at Level 1 or 2 leaves your system vulnerable to unforeseen failures.&lt;/p&gt;




&lt;h2&gt;
  
  
  2️⃣ Real-World HA Failures: Lessons Learned
&lt;/h2&gt;

&lt;p&gt;📉 CASE STUDY 1: Netflix’s Chaos Engineering&lt;/p&gt;

&lt;p&gt;Challenge: Serving over 250 million users globally, Netflix operates on AWS cloud infrastructure where downtime is unacceptable.&lt;/p&gt;

&lt;p&gt;Approach:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Chaos Monkey: A tool that randomly terminates services in production to test resilience. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Active-Active Architectures: Deployments across multiple AWS regions to prevent regional outages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Circuit Breakers (Hystrix): Manage partial failures without affecting all services.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: Incorporating failure simulation into your HA strategy is crucial. Design HA proactively, not reactively.&lt;/p&gt;

&lt;p&gt;✈️ CASE STUDY 2: Airline Booking System Outage&lt;/p&gt;

&lt;p&gt;Challenge: In 2019, a global airline's reservation system experienced a major outage, grounding thousands of flights due to a single database failure.&lt;/p&gt;

&lt;p&gt;Issues Identified:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Single Point of Failure (SPOF): A solitary database led to cascading failures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lack of Multi-Region Failover: All traffic was directed to a single data center.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Insufficient Real-World HA Testing: HA testing did not reflect actual traffic conditions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Preventative Measures:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Geo-Redundancy: Replicate systems across multiple AWS regions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Blue-Green Deployment: Implement rolling updates without affecting live traffic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AIOps Monitoring: Utilize AI-based anomaly detection to predict issues before they escalate.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: Testing HA under real-world conditions is essential to prevent operational disruptions.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;3️⃣ Architecting HA Excellence with AWS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To design an enterprise-grade HA system capable of handling millions of requests seamlessly, consider the following AWS-centric strategies:&lt;/p&gt;

&lt;h2&gt;
  
  
  🔥 1. Active-Active Multi-Region Deployments
&lt;/h2&gt;

&lt;p&gt;Implementation:&lt;/p&gt;

&lt;p&gt;AWS Global Accelerator: Directs user traffic to optimal endpoints across multiple AWS regions, enhancing availability and performance.&lt;br&gt;
Amazon Route 53: Employ latency-based routing to distribute traffic efficiently.&lt;br&gt;
Example: In a recent deployment for a major telecommunications company, an active-active setup was configured with load balancers fronting geo-distributed API clusters. This ensured seamless traffic redirection even if an entire data center failed.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔥 2. Stateless and Self-Healing Services
&lt;/h2&gt;

&lt;p&gt;Implementation:&lt;/p&gt;

&lt;p&gt;Amazon Elastic Kubernetes Service (EKS): Manages containerized applications with self-healing capabilities.&lt;br&gt;
Amazon ElastiCache: Externalizes session data, enabling stateless service operations.&lt;br&gt;
Example: Netflix's Chaos Engineering practices involve intentionally terminating services to validate auto-recovery mechanisms before real failures occur. &lt;br&gt;
NETFLIXTECHBLOG.MEDIUM.COM&lt;/p&gt;

&lt;h2&gt;
  
  
  🔥 3. AI-Powered Observability (AIOps)
&lt;/h2&gt;

&lt;p&gt;Implementation:&lt;/p&gt;

&lt;p&gt;Amazon CloudWatch: Monitors applications and infrastructure in real-time.&lt;br&gt;
AWS DevOps Guru: Leverages machine learning to identify operational issues and recommend remediation.&lt;br&gt;
Example: Integrating AI-based anomaly detection reduced incident resolution time by 45% by predicting database bottlenecks before they led to system slowdowns.&lt;/p&gt;




&lt;h2&gt;
  
  
  4️⃣ The AIOps Revolution: Transforming HA
&lt;/h2&gt;

&lt;p&gt;Challenge: Traditional HA monitoring is reactive, addressing issues post-occurrence.&lt;/p&gt;

&lt;p&gt;Solution: AIOps transitions HA to a proactive stance, predicting and mitigating failures before they impact operations.&lt;/p&gt;

&lt;p&gt;Enhancements:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Predictive Scaling&lt;/strong&gt;: Machine learning models adjust capacity ahead of traffic surges.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anomaly Detection&lt;/strong&gt;: AI identifies deviations from normal patterns automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Incident Response&lt;/strong&gt;: AI-driven runbooks resolve issues without human intervention.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example: In a system processing billions of transactions, AI-based alerting reduced alert fatigue by 60% and improved uptime.&lt;/p&gt;




&lt;h2&gt;
  
  
  5️⃣ The Future of High Availability: What's Next?
&lt;/h2&gt;

&lt;p&gt;As cloud computing, AI, and edge technologies evolve, High Availability (HA) strategies must adapt to maintain resilience at scale. The next generation of HA will go beyond traditional architectures, integrating self-healing systems, zero-downtime deployments, and predictive AI-driven failovers.&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;1. Zero Downtime Architectures&lt;/strong&gt;&lt;br&gt;
Traditionally, HA systems relied on multi-zone failover strategies, but the future lies in continuous availability with zero service disruption.&lt;/p&gt;

&lt;p&gt;Emerging Technologies Driving This Trend:&lt;/p&gt;

&lt;p&gt;Amazon Aurora Global Database: Enables low-latency reads across AWS regions with near-instant failover.&lt;br&gt;
AWS Lambda + DynamoDB Streams: Eliminates downtime for serverless applications by ensuring continuous event processing.&lt;br&gt;
Multi-Cloud Failover: Companies are increasingly adopting multi-cloud redundancy (AWS, GCP, Azure) to mitigate cloud-specific outages.&lt;br&gt;
📌 Example: Uber built Failover Groups across AWS and Google Cloud to dynamically route traffic based on system health.&lt;/p&gt;

&lt;p&gt;🤖 &lt;strong&gt;2. Self-Healing Infrastructure&lt;/strong&gt;&lt;br&gt;
The next stage of HA will fully automate failure resolution, eliminating the need for manual intervention in outages.&lt;/p&gt;

&lt;p&gt;🔹 Key Features of Self-Healing HA Systems: ✅ Proactive Incident Resolution – AI-driven tools detect failures before users notice them.&lt;br&gt;
✅ Automated Workload Shifting – Kubernetes, EKS, and Fargate auto-move workloads to healthy nodes.&lt;br&gt;
✅ Predictive Auto-Scaling – ML algorithms adjust compute power based on real-time demand.&lt;/p&gt;

&lt;p&gt;📌 Example: Netflix’s self-healing HA pipeline proactively replaces failing microservices using Chaos Monkey &amp;amp; AWS Auto Scaling.&lt;/p&gt;

&lt;p&gt;🌎 &lt;strong&gt;3. Edge Computing &amp;amp; HA at Scale&lt;/strong&gt;&lt;br&gt;
HA is moving beyond centralized cloud data centers and pushing computing closer to users at the edge.&lt;/p&gt;

&lt;p&gt;🔹 Why This Matters:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lower Latency&lt;/strong&gt;: Processing user requests closer to the source improves performance.&lt;br&gt;
&lt;strong&gt;Distributed Resilience&lt;/strong&gt;: Outages in one region don’t affect the entire system.&lt;br&gt;
&lt;strong&gt;5G-Optimized HA&lt;/strong&gt;: Next-gen networks will reduce failure points by routing traffic dynamically.&lt;/p&gt;

&lt;p&gt;📌 Example: Amazon CloudFront &amp;amp; AWS Wavelength optimize HA for edge computing by dynamically caching content closer to end-users.&lt;/p&gt;

&lt;h2&gt;
  
  
  📊 Performance Benchmarks: HA in Action
&lt;/h2&gt;

&lt;p&gt;Let's look at how different HA strategies impact uptime and downtime.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HA vs Downtime Chart&lt;/strong&gt;&lt;br&gt;
This visualization highlights the annual downtime for various HA configurations.&lt;/p&gt;

&lt;p&gt;🔹 Uptime &amp;amp; Downtime Relationship:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Uptime (%)&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Downtime per Year&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Solution Required&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;99.9%&lt;/td&gt;
&lt;td&gt;8.76 hours&lt;/td&gt;
&lt;td&gt;Basic failover&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;99.95%&lt;/td&gt;
&lt;td&gt;4.38 hours&lt;/td&gt;
&lt;td&gt;Multi-AZ active-passive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;99.99%&lt;/td&gt;
&lt;td&gt;52 minutes&lt;/td&gt;
&lt;td&gt;Active-active, DB failover&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;99.999%&lt;/td&gt;
&lt;td&gt;5 minutes&lt;/td&gt;
&lt;td&gt;Self-healing, auto-scaling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;td&gt;0 minutes&lt;/td&gt;
&lt;td&gt;AI-driven AIOps, predictive failover&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;📌 Key Takeaway: 99.999%+ uptime requires AI-driven failure prediction and self-healing infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts: Mastering HA for the Future
&lt;/h2&gt;

&lt;p&gt;The landscape of High Availability is evolving rapidly. If your HA strategy still relies on traditional failover techniques, you risk falling behind.&lt;/p&gt;

&lt;p&gt;🔹 Key Takeaways: ✅ Move beyond basic redundancy—adopt self-healing, AI-driven HA.&lt;br&gt;
✅ Predict failures instead of just reacting—use AIOps &amp;amp; anomaly detection.&lt;br&gt;
✅ Leverage multi-cloud &amp;amp; edge computing to create truly global, resilient systems.&lt;/p&gt;

&lt;p&gt;💡 Where does your system stand on the HA Maturity Scale? Let’s discuss in the comments below! 👇&lt;/p&gt;

&lt;p&gt;📌 Follow me for more deep dives into AIOps, DevOps, and System Design! 🚀&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Scaling Up: Overcoming Doubt, Finding My Fit, and Pushing the Limits in 2024</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Fri, 31 Jan 2025 18:20:13 +0000</pubDate>
      <link>https://dev.to/aws-builders/scaling-up-overcoming-doubt-finding-my-fit-and-pushing-the-limits-in-2024-672</link>
      <guid>https://dev.to/aws-builders/scaling-up-overcoming-doubt-finding-my-fit-and-pushing-the-limits-in-2024-672</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/newyear"&gt;2025 New Year Writing challenge&lt;/a&gt;: Retro’ing and Debugging 2024.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scaling Up: Overcoming Doubt, Finding My Fit, and Pushing the Limits in 2024&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;The Weight of Being First&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Being the first in my generation to break into tech has been both exhilarating and daunting. There’s no blueprint, no guidebook—just an uncharted path full of unknowns. Throughout 2024, I often found myself questioning where I fit in, feeling the pressure of not just succeeding for myself, but for those who will come after me. &lt;/p&gt;

&lt;p&gt;The year tested my resilience, pushing me through moments of imposter syndrome, career uncertainty, and self-doubt. Yet, through each challenge, I found lessons that shaped me, moments that defined me, and opportunities that expanded my vision for what’s possible.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Nobody can teach me who I am." — Chinua Achebe&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Nevada &amp;amp; The U.S. Experience: A Shift in Perspective&lt;/strong&gt;
&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%2Fha6mlcdrgvrqefg6znd8.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%2Fha6mlcdrgvrqefg6znd8.jpg" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the most transformative moments of 2024 was being selected as an &lt;strong&gt;AWS re:Invent grant winner&lt;/strong&gt;, which gave me a &lt;strong&gt;fully paid&lt;/strong&gt; opportunity to attend the &lt;strong&gt;AWS re:Invent conference in Nevada&lt;/strong&gt; in December. It was more than just a trip—it was a &lt;strong&gt;perspective shift&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Stepping into an entirely new environment, surrounded by professionals who had been in tech spaces for years, I was both &lt;strong&gt;inspired and intimidated&lt;/strong&gt;. The experience challenged my understanding of &lt;strong&gt;global tech ecosystems, networking, and personal ambition&lt;/strong&gt;. It made me realize how much &lt;strong&gt;I belonged in these spaces&lt;/strong&gt;—not as an outsider looking in, but as someone who could thrive and lead.&lt;/p&gt;

&lt;p&gt;Being in Nevada also opened my eyes to the &lt;strong&gt;power of proximity&lt;/strong&gt;—seeing first-hand what was achievable when resources, community, and ambition aligned. It wasn’t just about gaining technical skills; it was about realizing that the &lt;strong&gt;barriers I had once seen were more mental than real&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The world is like a mask dancing. If you want to see it well, you do not stand in one place." — Chinua Achebe&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;The CBS Upgrade &amp;amp; High Availability Hustle&lt;/strong&gt;
&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%2Fxodnevv6ry8tj2l86ksb.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%2Fxodnevv6ry8tj2l86ksb.jpg" alt="Image description" width="800" height="651"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In 2024, I played a pivotal role in &lt;strong&gt;platform engineering&lt;/strong&gt;, focusing heavily on &lt;strong&gt;High Availability (HA)&lt;/strong&gt; across &lt;strong&gt;network, hardware, application, and database levels&lt;/strong&gt;. One of my most critical projects was upgrading the &lt;strong&gt;Core Billing System (CBS) from R20 to R23&lt;/strong&gt;, ensuring seamless service for &lt;strong&gt;70 million subscribers&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Ensuring high availability while managing failovers, switchovers, and backup strategies was a balancing act—&lt;strong&gt;a true test of precision, teamwork, and problem-solving&lt;/strong&gt;. The stress was real, the stakes were high, but so was the growth. &lt;/p&gt;

&lt;p&gt;Through this project, I learned the &lt;strong&gt;art of strategic planning, performance testing, and maintaining system integrity under pressure&lt;/strong&gt;. More importantly, I proved to myself that I could &lt;strong&gt;handle mission-critical projects at scale&lt;/strong&gt; and that I had a strong inclination for &lt;strong&gt;architecting resilient systems&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Confidence is a choice. Arrogance is a mistake." — Alison Fragale&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Imposter Syndrome, Teamwork &amp;amp; Finding My Place&lt;/strong&gt;
&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%2F296ymmkgyf9b930o7qfq.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%2F296ymmkgyf9b930o7qfq.png" alt="Image description" width="800" height="457"&gt;&lt;/a&gt;&lt;br&gt;
Despite these achievements, there were days I felt &lt;strong&gt;behind&lt;/strong&gt;—as if I was racing against an invisible clock. I’d scroll through LinkedIn, seeing others seemingly &lt;strong&gt;leapfrogging ahead&lt;/strong&gt;, and I’d wonder: &lt;em&gt;Am I really where I should be?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But 2024 taught me that &lt;strong&gt;success isn’t linear&lt;/strong&gt;. It’s not about reaching a destination first; it’s about staying on course. I reminded myself that &lt;strong&gt;being first in my family meant paving a path, not rushing to the finish line&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;One of the biggest lessons I learned was the &lt;strong&gt;importance of a strong support system&lt;/strong&gt;—whether it's colleagues, mentors, or loved ones. Numbers don't matter as much as &lt;strong&gt;having the right people in your corner&lt;/strong&gt;, cheering you on, pushing you forward, and reminding you that you belong.&lt;/p&gt;

&lt;p&gt;This year also introduced me to &lt;strong&gt;working with a multi-racial, multi-cultural team&lt;/strong&gt;, which pushed me to expand my interpersonal and professional skills. The experience &lt;strong&gt;reshaped how I want to approach teamwork, leadership, and collaboration&lt;/strong&gt; in my career and personal life.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"When you lack confidence, borrow some from the people who believe in you." — Alison Fragale&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Lessons in Growth &amp;amp; Pushing Limits&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;2024 was a masterclass in &lt;strong&gt;resilience, leadership, and self-belief&lt;/strong&gt;. Key lessons I’m taking forward:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You belong in the rooms you walk into.&lt;/strong&gt; Never shrink yourself.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Imposter syndrome is a sign of growth, not inadequacy.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Being first means there’s no roadmap—but it also means you get to build your own.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scaling up isn’t just technical; it’s personal.&lt;/strong&gt; Growth is about expanding your mindset as much as your skillset.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Diversity in teams brings strength, adaptability, and innovation.&lt;/strong&gt; Learning to navigate different cultures and perspectives makes you a stronger professional and a better human.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;"Until the lions have their own historians, the history of the hunt will always glorify the hunter." — Chinua Achebe&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What’s Next: Compiling 2025&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If 2024 was about proving I could &lt;strong&gt;hold my own&lt;/strong&gt;, 2025 is about &lt;strong&gt;expanding my reach&lt;/strong&gt;. My roadmap for the year is ambitious, but so am I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mastering ML &amp;amp; DevOps,&lt;/strong&gt; positioning myself as a thought leader in &lt;strong&gt;High Availability and AI infrastructure&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Launching my pajama business,&lt;/strong&gt; curating luxury comfort for African women.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Securing an 800K+ KSH role&lt;/strong&gt; that aligns with my expertise and passion for scalable, reliable systems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Becoming a mentor,&lt;/strong&gt; helping other first-generation tech professionals navigate their journeys.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Applying my multi-cultural teamwork experience&lt;/strong&gt; to build stronger, more inclusive tech environments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2024 challenged me, shaped me, and reminded me that &lt;strong&gt;I am more than enough&lt;/strong&gt;. In 2025, I’m not just keeping up—I’m taking the lead.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;To every first-generation woman in tech feeling behind:&lt;/strong&gt; Your journey is valid. Your progress is real. And your story is still being written. Keep pushing. Keep scaling. You’re not just part of the industry—you’re shaping it.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>newyearchallenge</category>
      <category>career</category>
    </item>
    <item>
      <title>Mastering Gray Release for High Availability</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Thu, 30 Jan 2025 17:10:17 +0000</pubDate>
      <link>https://dev.to/aws-builders/mastering-gray-release-for-high-availability-11pp</link>
      <guid>https://dev.to/aws-builders/mastering-gray-release-for-high-availability-11pp</guid>
      <description>&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;**&lt;br&gt;
In the world of high-availability (HA) systems, rolling out upgrades without causing disruptions is a fine art. One wrong move, and millions of users experience downtime. Enter Gray Release—a deployment strategy that allows gradual, controlled rollouts while mitigating risks.&lt;/p&gt;

&lt;p&gt;I recently worked on upgrading a Core Billing System (CBS) serving 70M+ users, where we had to ensure zero downtime. Gray Release was a game-changer, but it also came with challenges that required innovative solutions. Here’s how it works, the hurdles we faced, and how we could improve future rollouts.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Gray Release ?
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;p&gt;A Gray Release is a phased rollout approach where a new version is gradually introduced to a subset of users, allowing real-time validation before full deployment. Unlike Blue-Green or Canary deployments, Gray Release operates in controlled, incremental waves, reducing impact on production.&lt;/p&gt;

&lt;p&gt;💡 Key Benefit: If an issue arises, it affects only a small fraction of users, making rollbacks easy and impact minimal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How We Implemented Gray Release&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1️⃣ Segmenting Users for Controlled Rollout&lt;br&gt;
We started by selecting a small, low-risk user group, such as internal testers or VIP customers.&lt;br&gt;
Based on feedback and system stability, we expanded the rollout gradually.&lt;br&gt;
2️⃣ Real-Time Monitoring with Huawei Digital View&lt;br&gt;
Huawei Digital View provided a single-pane-of-glass monitoring system for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transaction success rates&lt;/li&gt;
&lt;li&gt;Latency spikes&lt;/li&gt;
&lt;li&gt;Resource utilization (CPU, memory, database performance)&lt;/li&gt;
&lt;li&gt;Anomaly detection using AI-driven insights&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We configured automated alerts to detect failures before they escalated.&lt;/p&gt;

&lt;p&gt;3️⃣ Rollback Mechanisms for Safety&lt;br&gt;
Feature flags were used to toggle new features on/off instantly.&lt;br&gt;
We established an automated rollback system to revert to the stable version if error rates crossed a defined threshold.&lt;br&gt;
4️⃣ Controlled Expansion for Stability&lt;br&gt;
Once the first batch of users showed no anomalies, we expanded to 20%, then 50%, then full deployment.&lt;br&gt;
Every phase was validated with real-time monitoring from Huawei Digital View before moving forward.&lt;/p&gt;




&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Use Gray Release?
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;p&gt;✅ Zero Downtime: No need for service interruptions.&lt;br&gt;
✅ Risk Mitigation: Bugs are caught early before reaching all users.&lt;br&gt;
✅ Better User Experience: Issues are fixed proactively rather than   reactively.&lt;br&gt;
✅ Cost Efficiency: Avoids full-scale rollbacks that can be expensive.&lt;/p&gt;




&lt;p&gt;*&lt;em&gt;**Challenges of Implementing Gray Release&lt;/em&gt;* **&lt;/p&gt;

&lt;p&gt;Even with a solid plan, Gray Release had its pain points. Here’s where we faced challenges and how we overcame them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Managing Feature Flags Becomes Cumbersome&lt;br&gt;
💀 Problem: With multiple release phases, managing feature flags for different user groups became complex.&lt;br&gt;
🔧 Solution: We introduced a feature flag governance strategy, ensuring that flags had a clear lifecycle (creation, validation, removal).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Unpredictable User Behavior in Early Segments&lt;br&gt;
💀 Problem: Some users in early release segments didn’t use the new version as expected, making it hard to validate real-world performance.&lt;br&gt;
🔧 Solution: We used synthetic traffic simulations to mimic real user interactions before expanding the release.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rollback Challenges with Database Changes&lt;br&gt;
💀 Problem: Database schema changes are often irreversible, making rollbacks tricky.&lt;br&gt;
🔧 Solution: We implemented dual-write strategies and used Huawei Cloud’s database versioning tools to allow safe reversions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance Overhead on Huawei Digital View&lt;br&gt;
💀 Problem: Continuous monitoring across multiple release phases added heavy load on observability tools.&lt;br&gt;
🔧 Solution: We optimized monitoring by:&lt;br&gt;
Using sampling-based logging instead of full-trace logging.&lt;br&gt;
Prioritizing high-impact metrics instead of tracking everything.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Delayed Detection of Critical Bugs&lt;br&gt;
💀 Problem: Since Gray Release is gradual, some bugs only appeared later in the rollout, delaying response time.&lt;br&gt;
🔧 Solution: We enhanced anomaly detection in Huawei Digital View, configuring alerts for even small performance deviations.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gray Release isn’t just a deployment strategy—it’s a resilience strategy. In a Core Billing System, where even a small miscalculation can impact revenue, a controlled rollout is the only way to guarantee stability.&lt;/p&gt;

&lt;p&gt;By continuously refining our approach, we can balance innovation with accuracy, ensuring that billing remains transparent, efficient, and error-free for millions of users.&lt;/p&gt;

&lt;p&gt;💬 Have you faced challenges implementing Gray Release in a billing system? What solutions worked for you? Let’s discuss in the comments! 🚀&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What’s Next? Bringing Gray Release to the Cloud&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While this post focused on Gray Release for on-prem systems with Huawei, what happens when you need to implement the same strategy in the cloud?&lt;/p&gt;

&lt;p&gt;🟠 How do you execute Gray Release on AWS or other cloud platforms?&lt;br&gt;
🟠 What cloud-native tools help automate rollouts and rollback strategies?&lt;br&gt;
🟠 How do services like AWS CodeDeploy, Lambda, and Canary Deployments fit into the equation?&lt;/p&gt;

&lt;p&gt;🚀 Stay tuned for my next post on "How to Implement Gray Release on AWS (or Any Cloud)"—where I’ll break down step-by-step strategies for executing seamless cloud deployments.&lt;/p&gt;

&lt;h1&gt;
  
  
  CloudComputing #AWS #Azure #GoogleCloud #GrayRelease #DevOps #SystemDesign #ZeroDowntime
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>Building a Resilient High Availability System with Kubernetes on AWS</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Tue, 28 Jan 2025 14:54:13 +0000</pubDate>
      <link>https://dev.to/aws-builders/building-a-resilient-high-availability-system-with-kubernetes-on-aws-3jln</link>
      <guid>https://dev.to/aws-builders/building-a-resilient-high-availability-system-with-kubernetes-on-aws-3jln</guid>
      <description>&lt;p&gt;High availability (HA) is essential for modern applications, particularly in industries like finance, where downtime can result in massive financial losses and regulatory issues. Financial institutions, for example, target 99.99999% availability—just 3.15 seconds of downtime per year—to ensure that services are always up and running. Achieving this level of uptime is critical for handling sensitive transactions and maintaining customer trust.&lt;/p&gt;

&lt;p&gt;Kubernetes on AWS offers a powerful solution for building highly available, scalable, and fault-tolerant systems. In this post, we’ll guide you through setting up a high availability system using Kubernetes on AWS, ensuring that your applications can meet the demanding uptime requirements of industries like finance, e-commerce, and more.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Why use Kubernetes for High Availability ? *&lt;/em&gt;&lt;br&gt;
K8s is an open source platform for automating the deployment ,scaling and management of containerized applications. It provides critical features for building high availability systems :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Autoscaling - K8s can automatically scale your applications up or down based on demand.&lt;/li&gt;
&lt;li&gt;Self healing - K8's automatically replaces containers that fail, ensuring minimal downtime.&lt;/li&gt;
&lt;li&gt;Load balancing - K8s distributed network traffic across containers, improving reliability and performance.&lt;/li&gt;
&lt;li&gt;Rolling updates: K8 enables seamless deployment of new application versions without downtime.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When paired with AWS, Kubernetes can be deployed to take full advantage of the cloud’s scalability and infrastructure flexibility, creating a truly high-availability environment.&lt;/p&gt;

&lt;p&gt;In building HA on AWS Kubernetes there are some essential components needed :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Amazon Elastic Kubernetes Services (EKS) which manages K8s services simplifies the setup, management , and scaling of K8s clusters.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Amazon Elastic Load Balancers (ELB) which distributes incoming application traffic across multiple EC2 instances for HA.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Amazon RDS (Relational Database Service)  which is a fully managed relational database that can automatically failover and scale to handle traffic spikes.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;4 . Autoscaling Groups (ASG) for automatically scaling EC2 instances based on load, ensuring the infrastructure scales as traffic increases. &lt;/p&gt;



&lt;p&gt;&lt;strong&gt;### Step 1: Setting Up Your AWS Infrastructure&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create an EKS Cluster&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sign into the AWS Console and go to EKS.&lt;/li&gt;
&lt;li&gt;Click Create Cluster, choose your region, and give it a name.&lt;/li&gt;
&lt;li&gt;Select the Kubernetes version and choose a VPC with public and private subnets.&lt;/li&gt;
&lt;li&gt;Set up IAM roles to allow EKS to interact with other AWS services like EC2 and RDS.&lt;/li&gt;
&lt;li&gt;Once the cluster is created, configure your Kubernetes CLI (kubectl) to connect to it :
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws eks --region &amp;lt;your-region&amp;gt; update-kubeconfig --name &amp;lt;your-cluster-name&amp;gt;

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

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Set Up RDS for HA&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to RDS and select Create Database.&lt;/li&gt;
&lt;li&gt;Choose a database engine (MySQL/PostgreSQL) and enable Multi-AZ for high availability.&lt;/li&gt;
&lt;li&gt;Place the database in private subnets for security.&lt;/li&gt;
&lt;li&gt;Set up security groups to allow communication between your EKS pods and RDS.&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;&lt;strong&gt;## Step 2: Deploy Your Application&lt;/strong&gt;&lt;br&gt;
Create a &lt;em&gt;deployment.yaml&lt;/em&gt; for your app, defining 3 replicas for redundancy and a LoadBalancer service for traffic distribution.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app-container
          image: &amp;lt;your-image&amp;gt;
          ports:
            - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer

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

&lt;/div&gt;



&lt;p&gt;Apply the file using &lt;em&gt;kubectl apply -f deployment.yaml&lt;/em&gt; .                            &lt;/p&gt;




&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Auto Scaling &amp;amp; Load Balancing
&lt;/h2&gt;

&lt;p&gt;**&lt;br&gt;
Horizontal Pod Autoscaler (HPA)&lt;br&gt;
Create an HPA to scale your app based on CPU usage&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: my-app-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: my-app
  minReplicas: 3
  maxReplicas: 10
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 50

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

&lt;/div&gt;



&lt;p&gt;Apply the HPA with kubectl apply -f hpa.yaml.&lt;br&gt;
&lt;strong&gt;Elastic Load Balancer&lt;/strong&gt;&lt;br&gt;
By using type: LoadBalancer in your service YAML, AWS automatically provisions an ELB to distribute traffic across pods.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Monitoring &amp;amp; Health Checks
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;CloudWatch Monitoring: Set up CloudWatch for logs and metrics to monitor your EKS cluster, EC2, and RDS.&lt;/li&gt;
&lt;li&gt;Pod Health Checks: Add readiness and liveness probes in your deployment.yaml to check if pods are healthy:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yaml
Copy
readinessProbe:
  httpGet:
    path: /health
    port: 80
  initialDelaySeconds: 5
  periodSeconds: 5

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

&lt;/div&gt;



&lt;p&gt;Alerts: Use CloudWatch Alarms to notify you if any pod or service fails.&lt;br&gt;
By following these steps, you'll create a high availability system that ensures resilience and minimal downtime for your applications.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>aws</category>
    </item>
    <item>
      <title>Ensuring High Availability in Microservices: A Failover Testing Journey with AWS</title>
      <dc:creator>Lydiah Wanjiru</dc:creator>
      <pubDate>Mon, 05 Feb 2024 14:25:02 +0000</pubDate>
      <link>https://dev.to/aws-builders/ensuring-high-availability-in-microservices-a-failover-testing-journey-with-aws-4aa5</link>
      <guid>https://dev.to/aws-builders/ensuring-high-availability-in-microservices-a-failover-testing-journey-with-aws-4aa5</guid>
      <description>&lt;p&gt;A company's transition to a microservice architecture necessitates careful planning, particularly with regard to security and high availability. My approach involves rigorous failover testing procedures coupled with robust security implementations. This article delves into my methodology, emphasizing the maintenance of high availability.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Introduction:&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
For firms, switching to a microservices architecture offers scalability, flexibility and resilience. However, maintaining high availability (HA) and ensuring robust security are critical factors. In this post, I will explain how I would have approached failover testing procedures.  &lt;/p&gt;

&lt;p&gt;Performing high availability failover testing is an essential part of microservices architecture management. It entails confirming that the system can continue to provide service even in the case of infrastructure problems or component failures. Using a thorough strategy to failover testing is necessary to guarantee system reliability.&lt;/p&gt;

&lt;p&gt;Techniques used to verify the effectiveness of failover systems. These consist of:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;### Traffic shifting and load balancing &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Incoming traffic is divided among several instances or servers to prevent service delivery from being interrupted by a single point of failure. When it comes to spreading traffic equally and rerouting requests in the event of an error, &lt;a href="https://aws.amazon.com/what-is/load-balancing/" rel="noopener noreferrer"&gt;load balancers&lt;/a&gt; are essential.&lt;br&gt;
Identifying single points of failure in the architecture is imperative to the effectiveness of traffic shifting and load balancing mechanisms. Through identification of possible weak points, like a lone server or instance that can interfere with service in the event of a failure, companies can put redundancy protocols in place and adjust traffic distribution appropriately. This proactive strategy reduces the possibility of downtime and strengthens the system's overall resilience.&lt;br&gt;
I would spread incoming traffic among several instances and locations by utilizing Route 53 and AWS Elastic Load Balancing (ELB). &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;## Auto Scaling and Elasticity&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Amazon Auto Scaling makes it easier to dynamically modify resources in response to demand. In order to determine whether the system can grow horizontally and maintain seamless service availability, failover testing involve abrupt surges in traffic and instance terminations.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;## Multi-AZ Deployments
Enhancing fault tolerance and resilience in cloud-based architectures is fundamentally achieved through the deployment of microservices across different Availability Zones (AZs). Within a given geographic area, an Availability Zone is a discrete and physically isolated data center that offers redundancy and isolation against possible localized failures.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The design gain's intrinsic fault tolerance when microservices are spread across many AZs. In the case that one AZ experiences an infrastructure failure—hardware failure, network problems, or power outages, for example—the services hosted in the other AZs are unaffected and may still process incoming requests. Because of this redundancy, the system as a whole stay operational even in the event that one of the AZs encounters outage.&lt;/p&gt;

&lt;p&gt;Testing for failover is essential to confirming this architecture's efficacy. Through deliberate interference with one or more AZs, organizations can simulate real-world failures and evaluate resilience. Testing involves initiating automatic failover like rerouting traffic to healthy instances in other AZs to maintain continuity despite the disruption.&lt;/p&gt;

&lt;p&gt;Multiple aspects get assessed during testing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Response Time: Measuring how long it takes the system to recognize a fault and divert traffic to operational instances in other AZs. Reduction in response times guarantees that end customers are not disturbed too much.&lt;/li&gt;
&lt;li&gt;
Data Consistency: Making sure that, in the event of a failover, data integrity is preserved throughout distributed microservices. Mechanisms for data synchronization and replication are essential for maintaining consistency and preventing data loss or corruption.&lt;/li&gt;
&lt;li&gt;
Verifying the efficiency of load balancing systems in dividing traffic across available instances in AZs that are not affected. In order to maximize resource usage and guarantee peak performance during failover occurrences, load balancers are essential.&lt;/li&gt;
&lt;li&gt; 
Monitoring and Alerting: To quickly identify problems and start failover processes, it is important to put strong monitoring and alerting systems in place. Organizations can detect problems through proactive monitoring before they become more serious and affect the provision of services.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Regular testing exposes weaknesses, optimizes procedures, and improves resilience. This proactive approach minimizes downtime risks and ensures continuous delivery despite infrastructure failures or unexpected events.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;## Chaos Engineering&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Although tools such as AWS Fault Injection Simulator may not be directly applicable, comparable principles can still be implemented by intentionally introducing controlled failures and faults within the closed environment. This process might entail scripting failure scenarios and closely monitoring system responses to confirm resilience.&lt;/p&gt;

&lt;p&gt;In conclusion, meticulous failover testing is paramount for companies microservices transitioning to AWS. By embracing comprehensive methodologies, companies ensure high availability, resilience, and security in their microservices architecture, mitigating risks and enhancing operational excellence.&lt;/p&gt;

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