Best of ArchitectureFebruary 2024

  1. 1
    Article
    Avatar of devtoDEV·2y

    S.O.L.I.D: The 5 Golden Rules to Level Up Your Coding Skills

    Learn about the S.O.L.I.D principles, including the Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle. These principles help in writing more maintainable, scalable, and flexible code.

  2. 2
    Article
    Avatar of devtoDEV·2y

    Understanding event driven architecture

    Event-Driven Architecture (EDA) is a dynamic and responsive design paradigm embraced by leading companies like Netflix, Twitter, and Amazon to enhance real-time data processing, system flexibility, and user engagement.

  3. 3
    Article
    Avatar of tinybirdTinybird·2y

    How to choose the right type of database

    Understanding the different types of databases, factors to consider when choosing a database, and the implications of the CAP theorem on database selection.

  4. 4
    Article
    Avatar of bytebytegoByteByteGo·2y

    A Brief History of Airbnb’s Architecture

    Learn about the history of Airbnb's architecture, the challenges faced during their migration to a Service-Oriented Architecture, and the tools and techniques they used to support their SOA.

  5. 5
    Article
    Avatar of bitBits and Pieces·2y

    Top 10 Microservices Anti-Patterns

    This post discusses common anti-patterns in microservices architecture and provides recommendations for avoiding them. It covers topics such as monolith in microservices, chatty microservices, distributed monolith, over-microservices, violating single responsibility, spaghetti architecture, distributed data inconsistency, tight coupling, lack of observability, and ignoring the human cost.

  6. 6
    Article
    Avatar of infoqInfoQ·2y

    How Netflix Really Uses Java

    Netflix discusses their use of Java, including their journey from Java 8 to Java 17, the benefits of upgrading, and their adoption of Spring Boot. They also explore the use of virtual threads, the DGS framework for GraphQL, and the evolution of their architecture. Overall, it highlights the importance of staying up-to-date with technology and the value of performance improvements.

  7. 7
    Article
    Avatar of milanjovanovicMilan Jovanović·2y

    Getting the Current User in Clean Architecture

    Learn how to get the current user's information in a Clean Architecture use case using the IUserContext interface and implement it within the Infrastructure layer.

  8. 8
    Article
    Avatar of codemazeCode Maze·2y

    Clean Architecture in .NET

    Clean Architecture is an architecture pattern aimed at building maintainable, scalable, and easily testable applications. It separates the application into different layers: domain, application, infrastructure, and presentation. Clean Architecture and Onion Architecture have similar goals but differ in how they separate layers based on abstraction and focus on the core. To implement Clean Architecture in .NET, follow the principles of separation of concerns, loose coupling, and testability. Use CQRS with MediatR for the application layer.

  9. 9
    Article
    Avatar of medium_jsMedium·2y

    A tale of two engineering teams

    The post explores the experiences of two engineering teams, one of which failed with a costly project whereas the other prioritized a working product and achieved success.

  10. 10
    Article
    Avatar of bytebytegoByteByteGo·2y

    EP98: GitOps Workflow - Simplified Visual Guide

    GitOps Workflow simplifies software and infrastructure management through version control, collaboration, and automation. Search engines scan, index, rank, and provide relevant results based on user queries. The Payments Ecosystem involves various steps and payment companies in different verticals.

  11. 11
    Article
    Avatar of pointerPointer·2y

    Microservices Authorization

    Learn about the complexities of implementing authorization in microservices through the example of GitClub Jobs.

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

    Designing and Building a Three Tier Web Application Architecture in AWS

    Learn how to design and build a three-tier web application architecture in AWS. The architecture consists of a web tier, an application tier, and a database tier. Each tier has its own set of services and components, providing benefits such as faster development, improved scalability, reliability, and security.

  13. 13
    Article
    Avatar of colkgirlCode Like A Girl·2y

    The DDD Way Towards Screaming Design — Part I: Strategic Patterns

    This post discusses the Domain-Driven Design (DDD) approach to software design and how it focuses on the problem domain rather than the frameworks used. It explains the importance of acquiring knowledge about the problem to identify the solution and introduces the strategic patterns in DDD. The strategic patterns help in decomposing the business domain into subdomains and business rules.

  14. 14
    Article
    Avatar of lobstersLobsters·2y

    1.5+ million PDFs in 25 minutes

    Zerodha shares their journey of rethinking the architecture and building an architecture from scratch to process, generate, digitally sign, and email 1.5+ million PDF contract notes in about 25 minutes.

  15. 15
    Article
    Avatar of medium_jsMedium·2y

    The Compounding Effect of Knowledge

    The post explores the compounding effect of knowledge and the importance of continuous learning. It highlights the benefits of having a mentor, becoming a self-directed learner, and embracing challenges to grow. The author also discusses the role of leadership and the intersection of technical and organizational knowledge.

  16. 16
    Article
    Avatar of medium_jsMedium·2y

    Unlocking the Power of Functional Options Pattern in Go

    This post explores the Functional Options Pattern in Go, discussing the problems it solves, how to modify default values, and how it solves issues associated with directly passing field values to a factory method. It highlights the benefits of the pattern, including flexibility, scalability, and maintainability.

  17. 17
    Article
    Avatar of codemazeCode Maze·2y

    The Difference Between RESTful APIs and Web APIs

    This post explains the difference between RESTful APIs and Web APIs, the principles of REST architecture, and how to create a RESTful Web API with ASP.NET Core.

  18. 18
    Article
    Avatar of communityCommunity Picks·2y

    Crafting Maintainable Python Applications with Domain-Driven Design and Clean Architecture

    Explore the intricacies of crafting maintainable Python applications using Domain-Driven Design (DDD) and Clean Architecture. Learn about the core principles of DDD and the concentric circles of Clean Architecture. Implement practical techniques like dependency injection, layered structure, value objects and entities, domain events, repositories, and testing strategies. Build robust and maintainable Python applications that are easy to understand, maintain, and test.

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

    AWS S3 and Endpoints Benefits

    AWS S3 is a highly available object storage service with security and encryption features. There are different ways to access S3 bucket, including using VPC Gateway Endpoint or VPC Interface Endpoint. Consider using interface endpoint for secure access across regions or from on-premises.

  20. 20
    Article
    Avatar of pointerPointer·2y

    Event-Driven Architecture Fundamentals and Common Pitfalls (and How to Avoid Them)

    Learn about the fundamentals of event-driven architecture, messaging, and asynchronous APIs. Avoid common pitfalls and explore common event design patterns.

  21. 21
    Video
    Avatar of discdotDiscover .NET·2y

    Battle Of The Software Architectures: Which One Reigns Supreme?

    The post discusses the differences between vertical slice architecture, clean architecture, and ports and adapters. It emphasizes the importance of focusing on cohesion and coupling in software design.

  22. 22
    Article
    Avatar of pointerPointer·2y

    How Discord Moved Engineering to Cloud Development Environments

    Discord's engineering team shares their journey and lessons learned during their migration to cloud development environments.

  23. 23
    Article
    Avatar of telerikTelerik·2y

    GraphQL vs. REST—Which is Better for API Design?

    Comparison of GraphQL and REST for API design using GitHub's Public API as an example. GraphQL allows clients to query specific data, while REST leverages HTTP caching and integrates easily with other APIs. GraphQL enables clients to ask for exactly what they need and nothing more. Both GraphQL and REST have their strengths and weaknesses, and the choice between them depends on the specific needs of an application.

  24. 24
    Article
    Avatar of ardalisArdalis·2y

    Introducing Modular Monoliths: The Goldilocks Architecture

    The Modular Monolith architecture strikes a balance between traditional monoliths and microservices, offering the simplicity of a monolith with the flexibility of microservices. It is well-suited for small to medium-sized teams or projects, provides simplified development and maintenance, and allows for future scaling.

  25. 25
    Article
    Avatar of medium_jsMedium·2y

    Top 5 Terraform Projects for AWS to Boost Your Resume (Easy, Intermediate, Expert Levels) with Repository Links

    Explore top Terraform projects for AWS with varying difficulty levels. Learn how to deploy a static website, automate application deployment, create a two-tier architecture, deploy a high-availability AWS architecture, and build a multi-tier architecture.