<?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>Forem: Muhammad Zohaib Irshad</title>
    <description>The latest articles on Forem by Muhammad Zohaib Irshad (@developer_zohaib).</description>
    <link>https://forem.com/developer_zohaib</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%2F3870398%2F61cf4cab-35b8-4bba-bfa7-b636a838ffe8.jpeg</url>
      <title>Forem: Muhammad Zohaib Irshad</title>
      <link>https://forem.com/developer_zohaib</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/developer_zohaib"/>
    <language>en</language>
    <item>
      <title>𝗠𝗮𝘀𝘁𝗲𝗿𝗶𝗻𝗴 𝗖𝗼𝗻𝘁𝗮𝗶𝗻𝗲𝗿 𝗢𝗿𝗰𝗵𝗲𝘀𝘁𝗿𝗮𝘁𝗶𝗼𝗻 𝘄𝗶𝘁𝗵 𝗗𝗼𝗰𝗸𝗲𝗿 &amp; 𝗔𝗪𝗦 𝗘𝗖𝗦! 🚀</title>
      <dc:creator>Muhammad Zohaib Irshad</dc:creator>
      <pubDate>Tue, 05 May 2026 05:37:56 +0000</pubDate>
      <link>https://forem.com/developer_zohaib/--2d0n</link>
      <guid>https://forem.com/developer_zohaib/--2d0n</guid>
      <description>&lt;p&gt;I am thrilled to share that I've just successfully deployed a scalable Node.js application to the cloud! ☁️&lt;/p&gt;

&lt;p&gt;Key milestones of this build:&lt;br&gt;
&lt;strong&gt;𝗖𝗼𝗻𝘁𝗮𝗶𝗻𝗲𝗿𝗶𝘇𝗮𝘁𝗶𝗼𝗻:&lt;/strong&gt; Built optimized, multi-stage Docker images for efficiency.&lt;br&gt;
&lt;strong&gt;𝗖𝗹𝗼𝘂𝗱 𝗥𝗲𝗴𝗶𝘀𝘁𝗿𝘆:&lt;/strong&gt; Streamlined deployment workflows using AWS ECR.&lt;br&gt;
&lt;strong&gt;𝗢𝗿𝗰𝗵𝗲𝘀𝘁𝗿𝗮𝘁𝗶𝗼𝗻:&lt;/strong&gt; Mastered ECS clusters and task definitions to manage my services like a pro.&lt;br&gt;
&lt;strong&gt;𝗔𝘂𝘁𝗼-𝗦𝗰𝗮𝗹𝗶𝗻𝗴:&lt;/strong&gt; Configured dynamic policies that handle traffic spikes based on real-world CPU utilization.&lt;br&gt;
&lt;strong&gt;𝗭𝗲𝗿𝗼-𝗗𝗼𝘄𝗻𝘁𝗶𝗺𝗲:&lt;/strong&gt; Implemented rolling updates and health checks to ensure my application stays stable and user-friendly 24/7.&lt;/p&gt;

&lt;p&gt;Learning how to automate these processes is a total game changer for my DevOps journey. The ability to manage containers at scale is a superpower in today’s cloud-native world!&lt;/p&gt;

&lt;p&gt;What’s next? Onwards to more cloud challenges! 💡&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%2Fufdaoagg28dzf6xwe7u4.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%2Fufdaoagg28dzf6xwe7u4.png" alt="AWS ECS ScreenShot" width="800" height="387"&gt;&lt;/a&gt;&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%2Fgbts47crhtkss20cncme.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%2Fgbts47crhtkss20cncme.png" alt="Docker CLI" width="796" height="508"&gt;&lt;/a&gt;&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%2Fxibn1t2q9qfq75dn02ps.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%2Fxibn1t2q9qfq75dn02ps.png" alt="Docker Image push terminal" width="800" height="683"&gt;&lt;/a&gt;&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%2Fy9fa8775lz1ikf4wb5jx.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%2Fy9fa8775lz1ikf4wb5jx.png" alt="Docker Image push terminal" width="800" height="820"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>containers</category>
      <category>ecs</category>
      <category>devops</category>
    </item>
    <item>
      <title>𝗗𝗲𝗽𝗹𝗼𝘆𝗶𝗻𝗴 𝗮 𝗡𝗼𝗱𝗲.𝗷𝘀 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲 𝘁𝗼 𝗔𝗪𝗦 𝗘𝗖𝟮 𝘄𝗶𝘁𝗵 𝗖𝗜/𝗖𝗗 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲 ☁️</title>
      <dc:creator>Muhammad Zohaib Irshad</dc:creator>
      <pubDate>Sun, 03 May 2026 06:02:05 +0000</pubDate>
      <link>https://forem.com/developer_zohaib/--ffk</link>
      <guid>https://forem.com/developer_zohaib/--ffk</guid>
      <description>&lt;p&gt;I’ve optimized my deployment workflow by integrating GitHub Actions with a Self-Hosted Runner on AWS EC2.&lt;br&gt;
The Workflow:&lt;br&gt;
𝗧𝗿𝗶𝗴𝗴𝗲𝗿: Push to GitHub.&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%2Ftj13g3dbdd1pzxy7migo.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%2Ftj13g3dbdd1pzxy7migo.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
𝗥𝘂𝗻𝗻𝗲𝗿: Self-hosted on EC2 for faster, cost-effective builds.&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%2Ftp3zg87hu22qr8n6dodq.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%2Ftp3zg87hu22qr8n6dodq.png" alt=" " width="793" height="138"&gt;&lt;/a&gt;&lt;br&gt;
𝗗𝗲𝗽𝗹𝗼𝘆𝗺𝗲𝗻𝘁: Automated script updating the Node.js service via PM2.&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%2Fsj6tx558tgqcow18d55k.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%2Fsj6tx558tgqcow18d55k.png" alt=" " width="800" height="370"&gt;&lt;/a&gt;&lt;br&gt;
𝗧𝗿𝗮𝗳𝗳𝗶𝗰: Nginx reverse proxy handling incoming HTTP requests.&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%2Fq7g343dq5ecv4d5ulx1m.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%2Fq7g343dq5ecv4d5ulx1m.png" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This setup eliminates manual intervention, reduces deployment lag, and provides full control over the production environment.&lt;br&gt;
Bridging the gap between Code and Cloud. ☁️&lt;/p&gt;

</description>
      <category>backend</category>
      <category>aws</category>
      <category>githubactions</category>
      <category>devops</category>
    </item>
    <item>
      <title>𝗣𝗥 𝗺𝗲𝗿𝗴𝗲𝗱: 𝗔𝘇𝘂𝗿𝗲 𝗢𝗽𝗲𝗻𝗔𝗜 𝘀𝘂𝗽𝗽𝗼𝗿𝘁 𝗳𝗼𝗿 𝗝𝗼𝗽𝗹𝗶𝗻 𝗣𝗹𝘂𝗴𝗶𝗻 𝗝𝗮𝗿𝘃𝗶𝘀! 🚀</title>
      <dc:creator>Muhammad Zohaib Irshad</dc:creator>
      <pubDate>Thu, 09 Apr 2026 18:24:00 +0000</pubDate>
      <link>https://forem.com/developer_zohaib/--235d</link>
      <guid>https://forem.com/developer_zohaib/--235d</guid>
      <description>&lt;p&gt;I’m excited to share my latest open source contribution, enabling Azure OpenAI integration for the Jarvis ecosystem.&lt;br&gt;
𝗧𝗵𝗲 𝗜𝗺𝗽𝗮𝗰𝘁:&lt;br&gt;
 • Seamless Integration: Added support via the OpenAI-compatible custom model path.&lt;br&gt;
 • Optimized Architecture: Refactored header handling for better provider flexibility.&lt;br&gt;
 • Reliability: Preserved critical retry logic for stable note indexing.&lt;br&gt;
Open source is about building together and making tools better for everyone. If you’ve been waiting to use Azure with your notes, it’s ready for you!&lt;br&gt;
Check it out here: &lt;a href="https://github.com/alondmnt/joplin-plugin-jarvis/pull/66" rel="noopener noreferrer"&gt;https://github.com/alondmnt/joplin-plugin-jarvis/pull/66&lt;/a&gt;&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%2Ff5rcp4a26xc6yhwafrd9.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%2Ff5rcp4a26xc6yhwafrd9.png" alt=" " width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>azure</category>
      <category>openai</category>
      <category>joplin</category>
    </item>
  </channel>
</rss>
