<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Microservices on Omid Farhang</title><link>https://omid.dev/tags/microservices/</link><description>Recent content in Microservices on Omid Farhang</description><image><title>Omid Farhang</title><url>https://omid.dev/images/bio-photo-150x150.jpg</url><link>https://omid.dev/images/bio-photo-150x150.jpg</link></image><generator>Hugo -- 0.165.0</generator><language>en-US</language><copyright>2026 Omid Farhang | All rights reserved.</copyright><lastBuildDate>Fri, 26 Dec 2025 02:22:19 +0330</lastBuildDate><atom:link href="https://omid.dev/tags/microservices/index.xml" rel="self" type="application/rss+xml"/><atom:link href="https://pubsubhubbub.appspot.com/" rel="hub"/><item><title>Microservices Observability: Lessons from Debugging 1970s Radios</title><link>https://omid.dev/2025/12/26/debugging-radio-vs-microservices/</link><pubDate>Fri, 26 Dec 2025 02:22:19 +0330</pubDate><guid>https://omid.dev/2025/12/26/debugging-radio-vs-microservices/</guid><description>Explore the parallels between vintage hardware debugging and modern microservices observability, from signal tracing to distributed tracing.</description></item><item><title>Distributed Systems Design: Patterns and Practices</title><link>https://omid.dev/2024/06/05/distributed-systems-design-patterns-and-practices/</link><pubDate>Wed, 05 Jun 2024 01:34:40 +0330</pubDate><guid>https://omid.dev/2024/06/05/distributed-systems-design-patterns-and-practices/</guid><description>&lt;p&gt;In today&amp;rsquo;s world of massive-scale applications and services, distributed systems have become the backbone of modern computing. They enable applications to handle vast amounts of data, remain resilient in the face of failures, and deliver high performance across the globe. However, designing these systems is not a trivial task. It involves understanding complex principles and implementing robust patterns to ensure they meet the desired specifications. In this blog post, we’ll dive deeper into the core principles and patterns of distributed system design, covering consistency models, the CAP theorem, fault tolerance, and essential patterns like Saga, Circuit Breaker, and Bulkhead.&lt;/p&gt;</description></item><item><title>Demystifying Software Architecture: Building the Backbone of Modern Applications</title><link>https://omid.dev/2024/05/28/software-architecture-and-design-principles/</link><pubDate>Tue, 28 May 2024 02:25:34 +0330</pubDate><guid>https://omid.dev/2024/05/28/software-architecture-and-design-principles/</guid><description>&lt;p&gt;In the ever-evolving world of software development, one term consistently stands out: &lt;strong&gt;software architecture&lt;/strong&gt;. Often likened to the architectural blueprint of a building, software architecture lays the foundational structure for an application, guiding its development, maintenance, and scalability. But what exactly is software architecture, and why is it so crucial? Let&amp;rsquo;s explore the intricacies of this pivotal aspect of software engineering.&lt;/p&gt;
&lt;h2 id="what-is-software-architecture"&gt;What is Software Architecture?&lt;/h2&gt;
&lt;p&gt;Software architecture refers to the high-level structure of a software system, encompassing the arrangement of components, their relationships, and the principles guiding their design and evolution. It&amp;rsquo;s not just about code; it&amp;rsquo;s about the big picture, ensuring that the software system is robust, maintainable, and scalable.&lt;/p&gt;</description></item></channel></rss>