Best of ArchitectureNovember 2023

  1. 1
    Article
    Avatar of systemdesignnewsSystem Design Newsletter·2y

    Everything You Need to Know About Micro Frontends

    Micro Frontends are an extension of the microservices concept to the Frontend. It slices the website into self-contained, domain-driven micro apps that are built, tested, and deployed independently. The container application combines every Micro Frontend and handles common page elements, authentication, and navigation. Micro Frontends can be implemented with different tools and frameworks like React, Vue, and Angular. They offer advantages like fast delivery, flexible tech stack, improved maintainability, scalable development, and more. However, they also come with increased complexity, potential distributed monolith problem, and fragmented ways of work.

  2. 2
    Article
    Avatar of bytebytegoByteByteGo·2y

    Serverless Has Servers

    Serverless computing is a paradigm where developers can build and run applications without managing the underlying servers. It abstracts away the servers, runtimes, and capacity planning, allowing developers to focus on application code. Serverless has become popular for startups due to cost savings, faster time-to-market, and auto-scaling.

  3. 3
    Article
    Avatar of amplicationAmplication·2y

    Building Real-time Applications with Amplication and Kafka

    This article discusses the importance of real-time communication in modern applications and introduces Kafka as a tool for building real-time systems. It explains the components of Kafka and how it works on a publish-subscribe model. The article then demonstrates how to build an application with Kafka using Amplication, a platform that generates production-ready backend services. It provides step-by-step instructions for setting up an Amplication project, creating entities, adding a message broker and topics, configuring microservices, and adding custom Kafka communication logic. The article also highlights the benefits of using Amplication to speed up microservice development and ensure seamless event-driven communication.

  4. 4
    Article
    Avatar of awsplainenglishAWS in Plain English·2y

    Understanding Message Brokers and Queues

    Message brokers and queues enable asynchronous communication between different components of a system. Amazon Simple Queue Service (SQS) is a highly durable queue in the cloud provided by Amazon Web Services (AWS). This article explores the fundamental concepts of message brokers, delves into the capabilities of AWS SQS, and understands its various use cases and limitations.

  5. 5
    Article
    Avatar of pragmaticengineerThe Pragmatic Engineer·2y

    The Roots of Today's Modern Backend Engineering Practices

    The article explores the evolution of modern backend engineering practices by discussing the roots of these practices. It covers topics such as the challenges faced in early backend development, the birth of ARPANET and its influence on distributed systems, and the rise of the internet and web-based computing. The article emphasizes the importance of learning from the past to understand current backend engineering practices.

  6. 6
    Article
    Avatar of devtoDEV·2y

    Explaining Kubernetes To My Uber Driver

    The conversation describes Kubernetes as a chef or container orchestration tool that helps manage different components needed to run software. It explains the concepts of containers, pods, and the master node in the context of a kitchen analogy. It also highlights the usefulness of Kubernetes in the world of technology.

  7. 7
    Article
    Avatar of mafoMartin Fowler·2y

    Patterns of Distributed Systems

    A senior developer in India observed colleagues struggling with core distributed systems concepts and developed a code-centric approach to teach them. This approach led to the development of a series of patterns in distributed system design, which are included in a book containing thirty patterns with explanatory text, sequence diagrams, and code samples.

  8. 8
    Article
    Avatar of awsplainenglishAWS in Plain English·3y

    Complete Guide to AWS API Gateway

    AWS API Gateway is a robust service that offers features for API management, scalability, security, and integration with other AWS services. It can be set up by creating a new API, defining resources and methods, mapping to AWS Lambda functions, and testing the API. Alternative tools to AWS API Gateway include Google Cloud Endpoints, Microsoft Azure API Management, Apigee, Kong, Nginx, and Tyk.

  9. 9
    Article
    Avatar of communityCommunity Picks·2y

    Theoretical Foundations of REST APIs in Simple Terms

    Learn the basics of REST APIs, including how they work, the benefits of using them, and the components of a REST API request.

  10. 10
    Article
    Avatar of mwaseemzakirWaseem .NET Newsletter·2y

    EP 39 : How to organize your dependencies in .NET

    The article discusses three different approaches of registering dependencies in .NET, which are inline dependency registration, extension method dependency registration, and modularized dependency registration. Each approach offers its own benefits, with modularized dependency registration providing a more organized and modular approach to dependency registration.

  11. 11
    Article
    Avatar of vercelVercel·2y

    The foundations of the Frontend Cloud – Vercel

    The article discusses the importance of the Frontend Cloud and how it can automate the infrastructure for dynamic websites. It explains the benefits of decoupling the frontend from the backend and highlights the role of frontend frameworks in building scalable architectures. It also introduces the concepts of framework-defined infrastructure (FdI) and serverless architecture.

  12. 12
    Article
    Avatar of codemazeCode Maze·2y

    Event-Driven Architecture in C#

    Event-driven architecture is a powerful pattern for building scalable, responsive, and loosely coupled systems. It revolves around the concept of events, which define the flow of the system. Event producers generate events, event routers decide where to send them, and event consumers react to the events. Event-driven architecture differs from request-response and pub-sub patterns. Producers in an event-driven architecture generate and send events to a messaging service like RabbitMQ or Apache Kafka.

  13. 13
    Article
    Avatar of hnHacker News·3y

    Building a high performance JSON parser

    This article discusses the process of building a high-performance JSON parser and the optimization techniques used to improve its efficiency and reduce allocations. It highlights the goals of the project, the time complexity of the JSON parsing problem, and the importance of API design in performance optimization.

  14. 14
    Article
    Avatar of substackSubstack·2y

    What is Microservice Architecture?

    Microservice architecture is about breaking down an application into small, loosely coupled services. It offers benefits such as scalability, flexibility, and resilience. The CAP theorem states that a distributed system can't simultaneously provide consistency, availability, and partition tolerance. Self-contained Systems (SCS) are a software architecture approach that prioritizes the decentralization of applications into independent systems.

  15. 15
    Article
    Avatar of dailydaily.dev·2y

    Exploring the Archipelago Architecture

    The Archipelago architecture strikes a balance between monolithic and microservices architectures. It allows for independent scaling, offers separation of concerns, and reduces network load. However, managing multiple deployment units and possible over-segmentation are potential challenges.

  16. 16
    Article
    Avatar of infoqInfoQ·3y

    The False Dichotomy of Monolith vs. Microservices

    Microservices are not the cause of complexity, but the cure to it. They come with costs and benefits, and the fear of microservices may stem from hype and perceived complexity. Microservices can help manage complexity by breaking it into smaller, more manageable parts. The choice between monolith and microservices is not binary, but rather a spectrum of possibilities. It's important to find the right-sized services for your situation and be open to change and experimentation.

  17. 17
    Article
    Avatar of itnextITNEXT·2y

    Decouple your Laravel code using Attribute Events

    Learn how to decouple your Laravel code using Attribute Events. By using events, you can easily handle data modification and initiate processes after a modification, resulting in scalable and maintainable code.

  18. 18
    Article
    Avatar of milanjovanovicMilan Jovanović·3y

    Vertical Slice Architecture

    Vertical Slice Architecture organizes the system around features instead of technical layers, minimizing coupling between slices and maximizing coupling in a slice.

  19. 19
    Article
    Avatar of communityCommunity Picks·2y

    Microservice Architecture in ASP.NET Core with API Gateway

    Learn about Microservice Architecture in ASP.NET Core, its comparison to traditional architecture, and the concept of API Gateways with Ocelot.

  20. 20
    Article
    Avatar of quastorQuastor Daily·2y

    The Architecture of DoorDash's Caching System

    DoorDash faced caching problems related to cache staleness, lack of runtime controls, inadequate metrics and observability, and inconsistent key schema. They implemented a shared caching library with layered caching, runtime feature flags, and observability and cache shadowing.

  21. 21
    Article
    Avatar of itnextITNEXT·2y

    How to Create a Ticket data model

    Learn how to create a ticket data model using TypeScript and MongoDB with the help of Mongoose. The article covers the purpose of the version key in Mongoose, how optimistic locking works, and when to disable the version key. It also highlights the importance of data integrity in asynchronous programming and the benefits of a guard-railed, disciplined development approach.

  22. 22
    Article
    Avatar of communityCommunity Picks·2y

    Forget your Microservices! The Unparalleled Benefits of Pool Architecture.

    Pool architecture offers a solution for scaling challenges in B2B environments by providing dedicated infrastructure for each client. It allows scaling per client, offers security and privacy, and simplifies deployment. Migrating to a dedicated infrastructure involves steps such as migrating the network layer and data layer. However, pool architecture also has pitfalls, including the need for shared code among clients and increased maintenance complexity.

  23. 23
    Article
    Avatar of codemazeCode Maze·2y

    Pipes and Filters Architectural Pattern in C#

    The Pipes and Filters architectural pattern is used to break down a complex task into smaller tasks and execute them sequentially. It promotes modularity, flexibility, and reusability. It also allows for efficient data processing and scalability. However, it introduces complexities in managing data flow and can cause latency in real-time processing.