Invisible Architectures | Anokh Kishore | TEDxPSNACET

Quick Overview

Anokh Kishore, a Senior Software Engineer at Akuna Capital, argues that while microservices offer benefits like independent scaling and deployment, monolithic architectures can sometimes be superior for specific needs, particularly when rapid development velocity, high test coverage (60-70%), and simple observability are prioritized, suggesting that the complexity of distributed systems like microservices often introduces unnecessary overhead like increased latency and network traffic unless managed meticulously.

Key Points: Microservices offer flexibility for independent scaling and deployment, but monolithic architectures can be better suited for certain problems, especially in early development stages. The speaker, Anokh Kishore, advocates for high test coverage (60-70%) in unit tests when designing systems, regardless of architecture. Microservices inherently increase network traffic and latency due to inter-service communication (IPC or shared memory), which monolithic systems avoid when components run in the same process. State management in microservices requires explicit observability, metrics recording, and alerting, which is often less complex in a monolith where state is shared within one process. Companies sometimes revert from microservices to monoliths when the operational overhead (monitoring, logging, complexity) outweighs the benefits, especially in high-frequency trading environments where latency is critical. The best approach often involves a hybrid model where monoliths are carefully designed to allow for future decoupling if necessary, maintaining simple state management. Unit testing becomes crucial, forcing developers to design services that are testable without relying on complex external dependencies during testing.

Context: The video features Anokh Kishore, identified as a Senior Software Engineer at Akuna Capital, presenting insights likely from a TEDx event (TEDxPSNACET). Kishore discusses the trade-offs between monolithic and microservices architectures in software engineering, drawing from his decade of experience across various company types, including high-frequency trading firms and Big Tech.

Raw markdown version of this recap