Best of ArchitectureFebruary 2025

  1. 1
    Article
    Avatar of logrocketLogRocket·1y

    A guide to modern frontend architecture patterns

    Frontend architecture patterns provide reusable guidelines for structuring the frontend codebase of software products. Key patterns include monolithic, modular, component-based, microfrontend, and Flux architectures. Each pattern has its strengths, weaknesses, and best use cases based on project complexity, scalability, maintainability, and developer preferences. Understanding these patterns is crucial for creating scalable and maintainable frontends while avoiding costly refactors.

  2. 2
    Article
    Avatar of bytebytegoByteByteGo·1y

    EP151: 24 Good Resources to Learn Software Architecture in 2025

    ByteByteGo Newsletter shares 24 valuable resources for learning software architecture in 2025, including books, tech blogs, YouTube channels, and whitepapers. It also compares API styles (SOAP vs REST vs GraphQL vs RPC) and AWS services (SQS vs SNS vs EventBridge vs Kinesis). Additionally, it outlines methods to enhance API performance and introduces Grok-3, a powerful AI developed by xAI.

  3. 3
    Article
    Avatar of itnextITNEXT·1y

    Programming and architectural paradigms

    Different programming paradigms, such as object-oriented, functional, and procedural programming, each have their unique strengths and are suited to particular tasks. These paradigms are also reflected in various distributed system architectures like SOA, microservices, and data mesh. The choice of paradigm and technology depends on specific project requirements and the context in which they're applied.

  4. 4
    Article
    Avatar of hnHacker News·1y

    Patterns for building realtime features

    Realtime features enhance applications by ensuring updates are immediately reflected across users. Various patterns can achieve this, such as Poke/Pull, Push State, Push Ops, and Event Sourcing. Each has its advantages regarding state synchronization, data handling, and scalability. Additionally, different transport mechanisms like websockets, server-sent events, and polling can be used to maintain the client-server connection necessary for these features.

  5. 5
    Article
    Avatar of hnHacker News·1y

    7 Common Mistakes in Architecture Diagrams

    Creating effective technical architecture diagrams is crucial for conveying system understanding. Common mistakes to avoid include creating overly theoretical diagrams, mixing levels of abstraction, including too many overlapping concerns, using unlabeled arrows, misleading composition, missing context, and neglecting accompanying explainer text. These errors can undermine the clarity and usefulness of the diagrams.

  6. 6
    Article
    Avatar of foojayioFoojay.io·1y

    Event-Driven Architecture and Change Data Capture Made Easy

    Event-Driven Architecture (EDA) and Change Data Capture (CDC) are key techniques in modern software systems. EDA relies on components producing and consuming events to trigger actions, making systems flexible and scalable. CDC tracks database changes and converts them into events for other systems. EDA is used for decoupling services and real-time communication, while CDC synchronizes data and powers analytics. They can be used together for combining decoupled workflows with real-time data tracking. Understanding when to use each can help build efficient and maintainable systems.

  7. 7
    Article
    Avatar of techworld-with-milanTech World With Milan·1y

    What is a Modular Monolith?

    Modular monolith architecture offers a balanced approach between traditional monolithic applications and microservices. It allows for clean, maintainable, and modular code while retaining a single deployable unit. This architecture combines simplicity with the benefits of structured systems, making it ideal for startups and projects aiming for quick development cycles. It enables scalability and maintainability without the overhead and complexity of microservices, offering a pragmatic starting point with room for future evolution if needed.

  8. 8
    Article
    Avatar of directusDirectus·1y

    Stop Overengineering Your Multi-tenant Architecture

    Multi-tenancy is crucial for building SaaS products. Simplified, it can cut infrastructure costs significantly. Three main approaches exist: row-level tenancy, schema-level separation, and database-level isolation. Start simple and scale as needed, with row-level tenancy sufficing for most starting apps. Tools like Flyway or Liquibase for migrations, PostgreSQL for database, and PgBouncer for connection management are recommended.

  9. 9
    Article
    Avatar of directusDirectus·1y

    Solving the Multiple-Frontend Problem in Modern Applications

    Modern applications often require multiple frontend architectures to support various platforms like web, mobile, and IoT. This post discusses practical approaches to manage multiple frontends without resorting to rewriting the entire codebase or learning new frameworks. Key strategies include adopting an API-first approach and using Module Federation to share code efficiently. It also covers the importance of finding natural boundaries based on business logic, handling the performance paradox, ensuring security, and managing integration points effectively.

  10. 10
    Article
    Avatar of microservicesioMicroservices.io·1y

    Microservices adoption anti-pattern: microservices ate my application

    The post addresses the anti-pattern of blaming microservices for application failures, highlighting that such issues often stem from poor architectural decisions and ignoring warning signs. It provides four recommendations to avoid this anti-pattern: owning design decisions, improving the decision-making process, making smaller and reversible changes, and tracking key metrics for continuous improvement.

  11. 11
    Article
    Avatar of bytebytegoByteByteGo·1y

    How Amazon S3 Stores 350 Trillion Objects with 11 Nines of Durability

    Amazon S3 is a highly scalable and durable object storage service, launched in 2006, which has revolutionized cloud storage with 99.999999999% durability. Initially reactive, S3 has evolved to predictive scaling and threat modeling. It uses a complex microservices architecture to manage over 350 trillion objects, ensuring high availability and security. Key features include multiple storage classes, automatic scalability, encryption, and integration with other AWS services. Notable milestones include the introduction of regional storage, Glacier, and intelligent-tiering. S3's indexing and partitioning strategies enable rapid data retrieval and fault tolerance.

  12. 12
    Article
    Avatar of supabaseSupabase·1y

    Postgres as a Graph Database: (Ab)using pgRouting

    pgRouting is a Postgres extension primarily used for geospatial routing and shortest path calculations, often in combination with PostGIS. Beyond GIS, it offers lightweight graph functionality for task scheduling, resource allocation in distributed systems, and recommendation engines. It supports key algorithms like Dijkstra and A* for solving complex routing problems in graph-based structures.

  13. 13
    Article
    Avatar of itnextITNEXT·1y

    Practical OpenAPI in Go

    Learn about the OpenAPI Specification (OAS) and its importance in defining, implementing, and consuming APIs using the Go programming language. This guide covers the basics of OpenAPI, including setting up an API schema, defining paths and components, and generating server and client code. Practical examples and tips are provided, along with information on tools and best practices for working with OpenAPI.

  14. 14
    Article
    Avatar of milanjovanovicMilan Jovanović·1y

    Stop Conflating CQRS and MediatR

    The post clarifies the distinction between the CQRS pattern and the MediatR library, which are often misconceived as inherently linked. CQRS is an architectural principle that separates read and write operations, while MediatR implements the mediator pattern to reduce dependencies between components. The post discusses the benefits and challenges of using these tools together and provides examples of implementing CQRS with and without MediatR.

  15. 15
    Article
    Avatar of architectureweeklyArchitecture Weekly·1y

    React Query: A solution for Frontend State Management challenges? With Tomasz Ducin

    Tomasz Ducin provides an in-depth guide on using React Query for frontend state management, highlighting its capabilities in handling server data, caching strategies, and UI updates. He explains the importance of distinguishing between local UI data and server-fetched data to maintain a clean structure. Although originally from the React community, React Query (now Tanstack Query) is compatible with other frameworks like Angular.