Best of ArchitectureMay 2024

  1. 1
    Article
    Avatar of communityCommunity Picks·2y

    API Design 101: From Basics to Best Practices

    This post provides an in-depth explanation of API design, focusing on the basics and best practices. It covers topics such as CRUD operations, communication protocols, REST, GraphQL, and more.

  2. 2
    Article
    Avatar of devtoDEV·2y

    SOLID - The Simple Way To Understand

    This post explains the SOLID principles in a simple way using Typescript examples. It covers the Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle.

  3. 3
    Article
    Avatar of techworld-with-milanTech World With Milan·2y

    What is Clean Architecture?

    Clean Architecture promotes the idea of modular, testable, and maintainable code. It emphasizes separating concerns and defining clear boundaries between system components. Clean Architecture is suitable for complex or long-lived applications, projects with a central domain model, and teams that prioritize clean code practices.

  4. 4
    Article
    Avatar of communityCommunity Picks·2y

    API Design 101: My Best Practices for Building Great APIs

    API design involves creating rules and specifications for how an API exposes functionality and data to developers and users. It improves user experience and performance. Best practices include following RESTful design, using JSON as the data format, implementing input validation and parameter sanitization, documenting the API, implementing versioning strategies, and testing and monitoring the API.

  5. 5
    Article
    Avatar of communityCommunity Picks·2y

    mehdihadeli/awesome-software-architecture: 🚀 A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.

    A curated list of resources to learn and practice software architecture, patterns, and principles. Includes topics such as clean architecture, microservices, design patterns, and more.

  6. 6
    Article
    Avatar of ardalisArdalis·2y

    Clean Architecture Sucks

    Clean Architecture is not a silver bullet and its success depends on the technical expertise of the developers. Inexperienced teams may struggle with implementing the architecture correctly. It's important to understand different approaches to software architecture and seek guidance from experienced developers.

  7. 7
    Article
    Avatar of communityCommunity Picks·2y

    Composable Software Architectures are Trending: Here’s Why

    Composable software architectures are redefining software development standards, offering enhanced flexibility, scalability, maintainability, innovation, and better dependency management. They differ from monolithic architectures by utilizing independent, reusable components. Advanced tools like Bit can support the implementation of a composable architecture.

  8. 8
    Article
    Avatar of lobstersLobsters·2y

    Don't Microservice, Do Module

    This post argues for the use of modules instead of microservices, highlighting the benefits of modules and the challenges of microservices. It also provides scenarios in which microservices may be appropriate. Overall, a well-structured modular monolith is recommended over microservices unless specific use cases demand them.

  9. 9
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Build Resilient Microservice Systems – SOLID Principles for Microservices

    Learn about the SOLID principles and best practices for building efficient microservices.

  10. 10
    Article
    Avatar of kdnuggetsKDnuggets·2y

    Learning System Design: Top 5 Essential Reads

    Learn system design with these top 5 essential reads that cover design patterns, clean architecture, data-intensive applications, and system design interview preparation.

  11. 11
    Article
    Avatar of medium_jsMedium·2y

    The Controversial Truth about Tech Debt

    Tech debt is a controversial and often misunderstood concept in the software industry. Despite different definitions, it is agreed upon that tech debt is bad. However, its cost is hard to measure and its impact on velocity and team performance can vary. It is important to respect previous choices and understand the context before judging tech debt. Just like financial debt, tech debt can be leveraged to achieve goals and unblock projects.

  12. 12
    Article
    Avatar of bytebytegoByteByteGo·2y

    Cloudflare’s Trillion-Message Kafka Infrastructure: A Deep Dive

    Cloudflare's Kafka infrastructure has processed 1 trillion messages, demonstrating significant scaling and resilience. The engineering team faced challenges with coupling, unstructured communication, and common usage patterns. Lessons learned include the importance of balance between configuration and simplicity, visibility in distributed systems, well-defined contracts, and knowledge sharing.

  13. 13
    Article
    Avatar of bytebytegoByteByteGo·2y

    How Slack Built a Distributed Cron Execution System for Scale

    Slack built a distributed cron execution system for scale by developing a new execution service written in Go and deployed on Bedrock. They faced issues with maintainability, cost-ineffective vertical scaling, and a single point of failure. The high-level cron execution architecture includes a Scheduled Job Conductor and a Job Queue. Slack also used a Vitess database table for deduplication and job tracking.

  14. 14
    Article
    Avatar of communityCommunity Picks·2y

    How McDonald’s Food Delivery Platform Handles 20,000 Orders per Second

    McDonald's food delivery platform handles 20,000 orders per second using hexagonal architecture, event-driven architecture, and various technologies like Redis, AWS Lambda, and serverless functions.

  15. 15
    Article
    Avatar of hnHacker News·2y

    tembo-io/pgmq: A lightweight message queue. Like AWS SQS and RSMQ but on Postgres.

    PGMQ is a lightweight message queue built on Postgres. It guarantees exactly once delivery of messages within a visibility timeout and offers API parity with AWS SQS and RSMQ. It provides features like message archiving and tables can be partitioned for efficient management. You can try PGMQ for free using the Tembo docker image.

  16. 16
    Article
    Avatar of communityCommunity Picks·2y

    Interesting Facts about Software Architecture Styles You May Not Know

    This post explores various software architecture styles and their relevance in today's development landscape. It discusses the difference between architectural styles and patterns, the continued use of monolithic architecture by some companies, the advantages of microservices architecture, the history and benefits of event-driven and serverless architectures, the compliance benefits of edge computing, and the rise and relevance of peer-to-peer architecture.

  17. 17
    Article
    Avatar of wendelladrielW endell Adriel·2y

    Strategic Enums in PHP

    Learn how to use Enums in PHP to improve application design and architecture. Enums can represent the priority of a task and can be backed by a value for serialization purposes. Enum methods can be used to define behavior and handle complex issues.

  18. 18
    Article
    Avatar of devtoDEV·2y

    Integrate Kafka with a Serverless application

    Learn how to integrate Apache Kafka with a Serverless application in the AWS ecosystem using event-driven architecture, Amazon EventBridge, and managed services.

  19. 19
    Article
    Avatar of nodejsdevelopersNode.js developers·2y

    [Part 2] Introduction to the principles of clean architecture in a NodeJs API (Express)

    This post introduces the principles of clean architecture in a NodeJs API using Express. It explains the concept of ports, the purpose of the adapters directory, and the structure of the API folder.

  20. 20
    Article
    Avatar of nodejsdevelopersNode.js developers·2y

    [Part1] Introduction to the principles of clean architecture in a NodeJs API (Express)

    This post provides an introduction to implementing the principles of clean architecture in a Node.JS API with Express. It covers the overall structure of the project and the main concepts such as entities, adapters, and injection.

  21. 21
    Article
    Avatar of quastorQuastor Daily·2y

    How Stripe synchronizes time across their distributed system

    Learn how Stripe synchronizes time across their distributed system using physical and logical clocks. Explore common misconceptions about time and the two main methods for measuring time in distributed systems.

  22. 22
    Article
    Avatar of awegoAwesome Go·2y

    goqite

    goqite is a Go library for building persistent message queues using SQLite and inspired by AWS SQS. It provides a simple way to send, receive, extend, and delete messages in a queue.

  23. 23
    Article
    Avatar of medium_jsMedium·2y

    Streamline Flutter Development with Clean Architecture

    Learn how to build modular, maintainable, and testable Flutter apps with clean architecture.

  24. 24
    Article
    Avatar of techworld-with-milanTech World With Milan·2y

    Inside Shopify’s Modular Monolith

    Shopify's Principal Engineer discusses their architecture, tech stack, testing, culture, and more.

  25. 25
    Article
    Avatar of nordicapisNordic APIs·2y

    Why API Gateways Should Be Programmable

    Programmable API gateways offer benefits such as variable rate limiting, intricate monetization, smarter routing, shortening the feedback loop, governance and compliance, and customizable developer portals.