Blog Logo
TAGS

Testing Kafka-based Asynchronous Workflows Using OpenTelemetry

Asynchronous architectures are common in cloud native applications due to their decoupling services and improving scalability and reliability. Testing these workflows, especially with Apache Kafka, po...

Read more...

On Trust in Software Development

In software development, trust is a powerful and seductive framing that can lead to unchallenged arguments. However, its important to recognize the limitations of trust and acknowledge the need for gu...

Read more...

Clean Architecture: The Bad Parts

Clean architecture is a software design pattern that separates domain logic from other concerns such as persistence and caching. It aims at keeping the domain objects and domain logic separate from ot...

Read more...

How To Structure Your .NET Solutions: Architecture And Trade-Offs

In this article, we explore the various ways to structure your .NET solutions and applications, including microservices, monoliths, clean architecture, and shared databases. We analyze the trade-offs ...

Read more...

Software Engineering is about trade-offs: make sure you have options!

In this article, the author discusses the importance of having options in software engineering and making educated choices. The article highlights the need for considering different perspectives and a...

Read more...

A Simple Framework for Architectural Decisions

Software engineers must make architectural decisions while developing and it is essential to establish a clear framework for making those decisions. The article talks about building a framework for ma...

Read more...

Contract-Driven Development for Effective Microservices Integration: A Real-World Adoption Journey

Contract-driven development (CDD) is an effective solution for testing contract compatibility between components during the software development lifecycle, especially for microservices. It involves wr...

Read more...

Contract-Driven Development – a Real-World Adoption Journey

BT presents their journey of adopting contract-driven development, discussing the challenges faced and benefits gained. Join world-class software leaders at QCon San Francisco (Oct 2-6) to learn about...

Read more...

Architecture Modernization Enabling Teams (AMET): The Key to Continuous, Value-Driven Modernization

This article describes the Architecture Modernization Enabling Team (AMET), a pattern observed and applied in multi-team-scope architecture modernization initiatives. AMET is a type of architecture en...

Read more...

Temporal .NET SDK

Temporal .NET SDK is a framework for authoring workflows and activities using .NET programming languages. Temporal is a distributed, scalable, durable, and highly available orchestration engine used t...

Read more...

Event-Driven Architectures vs. Event-Based Compute in Serverless Applications

In this post, we discuss Event-driven Architectures and Event-based Compute in Serverless Applications. We explore what an event-driven architecture is, its characteristics, and how it is distinguishe...

Read more...

Software Architecture with Actors: Complexity and Asynchronous Design

This publication explores the properties of asynchronous architectures built with actors or event-driven services. The cycle covers complexity, distributability, and variants of actors. It also delves...

Read more...

Software Architecture with Actors: Handling Messages

After defining actors and traversing the design space for systems built of actors, this article explores how actors handle messages. It makes a distinction between control flow and data flow and compa...

Read more...

Software Architecture with Actors: Simple Systems

This article explores combining multiple actors and splitting actors by messaging interfaces in software architecture. The publication examines the relation between structural diagrams and common type...

Read more...

Markwhen

Markwhen is a single-player puzzle game created by Lars Bergqvist. Its a game that challenges you to think outside the box and use your problem-solving skills to progress through increasingly difficul...

Read more...

Modularizing React Applications with Established UI Patterns

Established UI patterns can solve complex UI design problems effectively, yet they are underutilized in frontend development. This article explores the benefits of applying UI building patterns in the...

Read more...

ChatGPT and Software Architecture

In this article, David R Oliver explores the many uses of ChatGPT from OpenAI in software architecture, beyond just drawing lines and boxes. This AI technology has numerous applications, and the autho...

Read more...

How Actor Model/Actors Run In Clusters Facilitating Asynchronous Communication In Distributed Systems

This blog post continues the previous post on understanding the actor model to build non-blocking, high-throughput distributed systems. It explains how Akka runs actors in clusters in a non-blocking w...

Read more...

Cleipnirs Resilient Functions

Resilient Functions is a .NET framework that manages function execution despite failures, restarts, deployments, and versioning. The framework automatically retries function invocations across process...

Read more...

Idempotent operations: Ensuring the Same State on Both Sides of Network Communication

Maintaining the same state on both sides of network communication can be challenging due to lost messages, answers, and backend exceptions. Retrying client requests may cause adverse consequences or e...

Read more...