Clean Architecture, Modular Monolith and Vertical Slice Architecture

Introduction Good software architecture is crucial for a business to reach its goals. It provides a structured way to build software that is easy to maintain, reliable, and performs well. Key drivers of software architecture Several factors influence a software’s architecture: Business requirements: What the software needs to do. Quality attributes: How well the software performs, such as its speed, scalability, and availability. Agility: How quickly the development team can adapt to changes. Constraints: The limitations of the deployment environment, such as the hardware or operating system. Principles: Established practices, like automated testing and deployment, that guide the development process. Different Ways to Structure Software There are two main ways to build software applications: ...

September 15, 2025 · 7 min · Sachin Sunkle

Using Temporal.io to build Long running Workflows

Background In a typical business Application, there are often requirements for, Batch processing - Often long running Tasks like data import/export, End of day processing etc. These tasks are often scheduled to be executed at pre-defined interval or on occurance of an Event. Asychronous processing - Tasks, often part of business process / workflow, that can be performed asychronously or offloaded. Such requirements are often fulfilled with custom approaches like batch processing frameworks, ETL Tools or using Queues or specific database features. ...

December 7, 2020 · 6 min · Sachin Sunkle