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...
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...
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...
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 ...
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...
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...
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...
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 ...
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...
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...
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, ...
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...
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...
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...
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 ...
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...
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 ...
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...
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, ...
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...