Blog Logo
TAGS

Easily build resilient applications using distributed durable async/await

Restate allows you to easily build resilient applications by providing distributed durable async/await functionality. With Restate, you can write RPC handlers that execute reliably, recover partial pr...

Read more...

Software Architects are building on Centuries of Architectural Discipline

After my son was accepted to architecture design school, I became fascinated with the connection between designing physical structure and designing complex software. Of course, there are unique aspect...

Read more...

Best Observability Tools for Microservices

Microservices architecture has become popular among developers due to its scalability and flexibility. This article discusses 10 observability tools tailored explicitly for microservices architectures...

Read more...

StranglerFigApplication - Legacy Rehab and Application Architecture

When rewriting an important system, the Strangler Fig Application metaphor offers a gradual approach, reducing risk and allowing new value to appear earlier. By gradually creating a new system around ...

Read more...

The Magic of Message Orchestration

Message orchestration can be a key to implementing component models that deliver on the promise of microservices without the complexity and performance penalties so frequently paid. A message orchestr...

Read more...

5 Ways to Standout as an Architect

Forget about technical mastery; focus on breadth. Improve communication skills. Learn to capture impeccable notes. Develop analytical problem-solving skills. Prioritize delivery without compromising q...

Read more...

Graphic Design for Software Engineers and Architects

As engineers, we often use technical diagrams that can be difficult for others to understand. Graphic design can make these diagrams clean and visually appealing, improving communication and comprehen...

Read more...

The Past, Present, and Future of Data Architecture

A journey through time and the introduction to data mesh. Becoming a data-driven organization remains one of the top strategic goals of many companies. Data-driven means placing data at the center of ...

Read more...

Outbox pattern with session per request

The outbox pattern ensures that some actions are going to happen if and only if some other set of actions succeeds first. The most common implementation is a transactional outbox. Here, actions, expre...

Read more...

Scaling Your Artifacts With Your Team

The term microservices has become ubiquitous in our industry, promising framework freedom and stability through asynchronous communication. However, the consensus on microservices as a superior archit...

Read more...

Eliminating Mapping and Redundant Validation in Domain-Centric APIs with JsonConverters and ModelBinding

Numerous applications are designed adhering to the principles of Clean Architecture and Domain-Driven Design (DDD). They have a rich domain models that protect the business invariants. In most cases, ...

Read more...

LinkedIn Adopts Protocol Buffers for Microservices Integration and Reduces Latency

LinkedIn adopted Protocol Buffers for exchanging data between microservices more efficiently across its platform and integrated it with Rest.li, their open-source REST framework. After the company-wid...

Read more...

Democratising Software Architecture • Eoin Woods • GOTO 2023

Democratising Software Architecture • Eoin Woods • GOTO 2023

Check out a version of this talk with better audio here: https://youtu.be/nchRmYvUf2Y This presentation was recorded at GOTO Amsterdam 2023. #GOTOcon #GOTOams https://gotoams.nl Eoin Woods - Chief E...

Read more...

Moving from a product to a service mindset

Thanks to DevOps, cloud computing, and other industry trends, many organizations are shifting from a product mindset to a service mindset. This blog explores the impact on software engineering teams a...

Read more...

The Architect’s Blueprint: Understanding Software Styles and Patterns

In software development, architecture plays a crucial role in shaping the structure and behavior of software systems. It provides a blueprint for system design, detailing how components interact with ...

Read more...

Fleet Management at Spotify (Part 1): Spotify’s Shift to a Fleet-First Mindset

Instead of performing 10 major software upgrades to our infrastructure every year, what if we did 10,000 small ones? Across our entire codebase? That’s the idea behind Fleet Management: by building au...

Read more...

Fleet Management at Spotify (Part 2): The Path to Declarative Infrastructure

At Spotify, we adopted the declarative infrastructure paradigm to evolve our infrastructure platform’s configuration management and control plane approach, allowing us to manage hundreds of thousands ...

Read more...

Fleet Management at Spotify (Part 3): Fleet-wide Refactoring

For the third part of this Fleet Management series, we discuss fleet-wide refactoring of code across thousands of Git repos at Spotify. We explore the tools and infrastructure built to enable fleet-wi...

Read more...

Vertical Slices in Practice - Event-Driven.io

I’m a preacher for the CQRS, Vertical Slices, and Feature Folders. I won’t hide that, and I won’t even try. I believe that structuring code based on the business feature helps deliver business value, ...

Read more...

Explaining Vector Databases in 3 Levels of Difficulty

Vector databases have been getting a lot of attention recently, with many vector database startups raising millions in funding. A vector database is a type of database that stores and manages unstruct...

Read more...