<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/architecture/best-of/2023/07" -->

---
title: Best Architecture posts — July 2023 | daily.dev
description: The most upvoted Architecture posts from July 2023, curated by the daily.dev community.
canonical: https://daily.dev/tags/architecture/best-of/2023/07
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/architecture/best-of/2023/07
og:type: website
og:site_name: daily.dev
og:title: Best Architecture posts — July 2023 | daily.dev
og:description: The most upvoted Architecture posts from July 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Architecture — July 2023

1. 1  
[](https://daily.dev/posts/expressots---the-developer-friendly-typescript-framework-for-server-side-applications-yfijd2zlv "ExpressoTS - The Developer-Friendly TypeScript Framework for Server-Side Applications")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·3y  
ExpressoTS - The Developer-Friendly TypeScript Framework for Server-Side Applications  
Built on a modular architecture and designed with simplicity in mind, it empowers developers to quickly create powerful applications. Current Partners ExpressoTS is an MIT-licensed open-source project. The Developer-Friendly TypeScript Framework for Server-Side Applications is available on Node.js.  
256  
69
2. 2  
[](https://daily.dev/posts/microservices-vs-monoliths-ifaq0mwg0 "Microservices VS Monoliths")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·3y  
Microservices VS Monoliths  
Microservices VS Monoliths. Microservices need no introduction and…. Microservices are a de facto solution for a web application which enables organizations to get most benefits of the cloud. The answer is not a perfect black and white scenario and its not a one-size-fits all solution.  
105  
4
3. 3  
[](https://daily.dev/posts/designing-high-performance-apis-h5mnr7yzp "Designing High-Performance APIs")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone·3y  
Designing High-Performance APIs  
Designing High-Performance APIs Learn API design principles for high-performance, scalable APIs that deliver exceptional user experiences and handle growing workloads. In a competitive market, speed and reliability are key differentiators. High-performance APIs are crucial in today's digital landscape.  
77  
4
4. 4  
[](https://daily.dev/posts/microservices-patterns-event-sourcing-gcdkka8gr "Microservices Patterns: Event Sourcing")  
Article  
![Avatar of cloudnativedaily](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/71803eeb535844dc9e04ac81e33f87fc)Cloud Native Daily·3y  
Microservices Patterns: Event Sourcing  
Event Sourcing is a different way of structuring the business logic and persisting aggregates. It persists an aggregate as a sequence of events and each event represents a state change of the aggregate. It helps to preserve the history of aggregates, which is valuable for auditing and regulatory purposes.  
67
5. 5  
[](https://daily.dev/posts/a-complete-api-development-guide-jxwbqhfw2 "A Complete API Development Guide")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone·3y  
A Complete API Development Guide  
A Complete API Development Guide is a must-read for developers or designers interested in working with APIs. API is a set of protocols and tools that enable two or more software systems to communicate and interact with one another. API Terminologies include GET (to retrieve data), POST (send data), PUT (to update data), and DELETE.  
47
6. 6  
[](https://daily.dev/posts/microservices-patterns-business-service-patterns-6isdtkpir "Microservices Patterns: Business Service Patterns")  
Article  
![Avatar of cloudnativedaily](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/71803eeb535844dc9e04ac81e33f87fc)Cloud Native Daily·3y  
Microservices Patterns: Business Service Patterns  
Hexagonal Architecture is an architectural pattern used in software architecture design. It aims at creating loosely coupled application components that can be easily connected to their software environment by means of ports and adapters. In this blog, I will try to emphasize those differences by revisiting some of the core design patterns and principles built into each architecture.  
36
7. 7  
[](https://daily.dev/posts/optimizing-your-architecture-with-microservices-design-patterns-tll1qzggc "Optimizing Your Architecture with Microservices Design Patterns")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·3y  
Optimizing Your Architecture with Microservices Design Patterns  
Optimizing Your Architecture with Microservices Design Patterns. We will explore the need for design patterns, popular patterns, and the importance of avoiding anti-patterns. These patterns provide guidance and best practices to overcome common problems such as service communication, data management, fault tolerance, and scalability.  
35  
10
8. 8  
[](https://daily.dev/posts/api-latency-in-microservices-xt5dafyhi "API Latency in Microservices")  
Article  
![Avatar of cloudnativedaily](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/71803eeb535844dc9e04ac81e33f87fc)Cloud Native Daily·3y  
API Latency in Microservices  
API Latency in Microservices is critical since it directly impacts Microservices’ responsiveness and scalability, says Lahiru Hewawasam. Latency is the time taken for data to travel from one point to another. If one service takes too long to respond, it could lead the requesting service to time out.  
32
9. 9  
[](https://daily.dev/posts/domain-driven-design-cvbg3ipfi "Domain Driven Design")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·3y  
Domain Driven Design  
Domain Driven Design is an approach to software development that focuses on understanding and modelling the core domain of a business or problem space. The main goal of DDD is to create software systems that closely align with the complex, evolving needs of domain experts and stakeholders.  
30  
2
10. 10  
[](https://daily.dev/posts/microservices-patterns-the-saga-pattern-wedysakxg "Microservices Patterns: The Saga Pattern")  
Article  
![Avatar of cloudnativedaily](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/71803eeb535844dc9e04ac81e33f87fc)Cloud Native Daily·3y  
Microservices Patterns: The Saga Pattern  
This blog will give the reader some insights into ACID Transactions, 2PC Pattern and finally the Saga Pattern. The primary objective is to give an overview of how Saga Pattern operates and how it can solve real-world distributed transactional issues. The blog was written with some background reading on multiple literature resources mentioned under the References.  
28
11. 11  
[](https://daily.dev/posts/design-of-a-scraping-platform-obgpyn1qx "Design of a Scraping Platform")  
Article  
![Avatar of hackernoon](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hackernoon)Hacker Noon·3y  
Design of a Scraping Platform  
Design of a Scraping Platform can be split into 2 categories that require different infrastructure and techniques. The system only has one functional requirement: it must be able to execute arbitrary scrapers on schedule. Scrapyd deploy eggified Python packages Packages may include dependencies in the egg file and different scrapers may use different versions.  
25  
1
12. 12  
[](https://daily.dev/posts/rethink-the-way-you-share-data-between-microservices-with-change-data-capture-fkkbouzlu "Rethink the Way You Share Data Between Microservices with Change-Data-Capture")  
Article  
![Avatar of cloudnativedaily](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/71803eeb535844dc9e04ac81e33f87fc)Cloud Native Daily·3y  
Rethink the Way You Share Data Between Microservices with Change-Data-Capture  
Re -Think the Way You Share Microservices Data. Use Change Data Capture to replicate the data for microservice architecture. Re-think the way You Share Data Between Microservices with Change-Data-Capture Organizing and sharing your data across microservices. Use the replication system when the services will be sharing the data.  
24
13. 13  
[](https://daily.dev/posts/designing-apis-with-swagger-and-openapi-j9cnrq0wt "Designing APIs with Swagger and OpenAPI")  
Article  
![Avatar of frankel](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/b7f3fdbf443347ea84705578a195085b)A Java geek·3y  
Designing APIs with Swagger and OpenAPI  
The book goes through designing a complete API via a demo project, the Farmstall API. The book’s main benefit is also its main issue: it focuses on beginners. If you have more than a passing familiarity with any of the above, I'm afraid it will be a loss of your money and time.  
20
14. 14  
[](https://daily.dev/posts/how-to-use-queues-in-web-applications-node-js-and-redis-tutorial-yvcf2jnpy "How to Use Queues in Web Applications – Node.js and Redis Tutorial")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp·3y  
How to Use Queues in Web Applications – Node.js and Redis Tutorial  
This article will focus on explaining what message queues are and how to get started with them by building a very simple application. You should be familiar with the basics of Node.js, and you should have Redis installed locally or on a cloud instance. Learn how to install Redis here.  
20  
2
15. 15  
[](https://daily.dev/posts/build-a-mean-web-app-part-1---the-architecture-mutubqezs "Build a MEAN web app: Part 1 - The architecture")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·3y  
Build a MEAN web app: Part 1 - The architecture  
MEAN stack is a web development framework that uses JavaScript-based technologies to build dynamic and scalable web applications. It allows developers to use a unified programming language, JavaScript (or TypeScript) for both front-end and back-end development. The MEAN stack includes MongoDB, Express, Angular, and Node.  
19
16. 16  
[](https://daily.dev/posts/solid-principles-are-not-laws-134dt0bbn "SOLID principles are not laws")  
Article  
![Avatar of davecallan](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/810db14ef74c40d69e70efbaf123835d)Dave Callan·3y  
SOLID principles are not laws  
SOLID principles are not laws. They are great to be aware of and have in your toolbox but they are not cost free. Don't use or aim for SOLID in your apps but use them when appropriate and they ADD VALUE, don’t use them just to say your code is SOLID.  
19  
4
17. 17  
[](https://daily.dev/posts/in-a-nutshell-what-are-ddd-and-cqrs-domain-driven-design-and-command-query-responsibility-segregat-7aia4fnyj "In a nutshell: What are DDD and CQRS (Domain Driven Design and Command Query Responsibility Segregation)?")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks·3y  
In a nutshell: What are DDD and CQRS (Domain Driven Design and Command Query Responsibility Segregation)?  
Domain-Driven Design (DDD) is a software development approach that involves close collaboration between developers and domain experts. The goal is to design software that is well-suited for the business domain it will be used in. DDD introduces concepts and techniques, such as domain models, bounded contexts, and context maps.  
18  
1
18. 18  
[](https://daily.dev/posts/stick-to-boring-architecture-for-as-long-as-possible-ctzpabocn "Stick to boring architecture for as long as possible")  
Article  
![Avatar of addy](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/858094e1be9f4b0d9bef229d84ab12b7)Addy Osmani·3y  
Stick to boring architecture for as long as possible  
"Stick to boring architecture for as long as possible, and spend the majority of your time, and resources, building something your customers are willing to pay for," says Kelsey Hightower. The Folly of FOMO (Fear of Missing Out) can be a driving force behind our choices.  
17  
3
19. 19  
[](https://daily.dev/posts/crud-can-be-terrible-start-capturing-intent--bj2xsqhvz "CRUD can be Terrible. Start capturing INTENT!")  
Article  
![Avatar of discdot](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ffa4f4ad5e0b4f9096da7a3943bd5ff2)Discover .NET·3y  
CRUD can be Terrible. Start capturing INTENT!  
15
20. 20  
[](https://daily.dev/posts/3-ways-to-reproduce-issues-in-microservices-txquqa1rl "3 Ways to Reproduce Issues in Microservices")  
Article  
![Avatar of cloudnativedaily](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/71803eeb535844dc9e04ac81e33f87fc)Cloud Native Daily·3y  
3 Ways to Reproduce Issues in Microservices  
The first thing we want to be able to do is reproduce errors and issues. By reproducing errors, we can confirm it’s a recurring issue, rather than a sporadic one, and that it requires a fix to ensure that our product is working properly. We will show how to reproduce issues in three different ways.  
12
21. 21  
[](https://daily.dev/posts/ddd-is-just-giving-a-h-t-about-your-domain-vj79z7hf0 "DDD is just giving a $h!t about your Domain")  
Article  
![Avatar of discdot](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ffa4f4ad5e0b4f9096da7a3943bd5ff2)Discover .NET·3y  
DDD is just giving a $h!t about your Domain  
11

[See all Architecture archives](/tags/architecture/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/architecture/best-of/2023/07#page","url":"https://daily.dev/tags/architecture/best-of/2023/07","name":"Best Architecture Posts — July 2023","description":"The most upvoted Architecture posts from July 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/architecture/best-of/2023/07#items","numberOfItems":21,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/expressots---the-developer-friendly-typescript-framework-for-server-side-applications-yfijd2zlv","name":"ExpressoTS - The Developer-Friendly TypeScript Framework for Server-Side Applications"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/microservices-vs-monoliths-ifaq0mwg0","name":"Microservices VS Monoliths"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/designing-high-performance-apis-h5mnr7yzp","name":"Designing High-Performance APIs"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/microservices-patterns-event-sourcing-gcdkka8gr","name":"Microservices Patterns: Event Sourcing"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/a-complete-api-development-guide-jxwbqhfw2","name":"A Complete API Development Guide"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/microservices-patterns-business-service-patterns-6isdtkpir","name":"Microservices Patterns: Business Service Patterns"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/optimizing-your-architecture-with-microservices-design-patterns-tll1qzggc","name":"Optimizing Your Architecture with Microservices Design Patterns"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/api-latency-in-microservices-xt5dafyhi","name":"API Latency in Microservices"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/domain-driven-design-cvbg3ipfi","name":"Domain Driven Design"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/microservices-patterns-the-saga-pattern-wedysakxg","name":"Microservices Patterns: The Saga Pattern"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/design-of-a-scraping-platform-obgpyn1qx","name":"Design of a Scraping Platform"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/rethink-the-way-you-share-data-between-microservices-with-change-data-capture-fkkbouzlu","name":"Rethink the Way You Share Data Between Microservices with Change-Data-Capture"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/designing-apis-with-swagger-and-openapi-j9cnrq0wt","name":"Designing APIs with Swagger and OpenAPI"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/how-to-use-queues-in-web-applications-node-js-and-redis-tutorial-yvcf2jnpy","name":"How to Use Queues in Web Applications – Node.js and Redis Tutorial"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/build-a-mean-web-app-part-1---the-architecture-mutubqezs","name":"Build a MEAN web app: Part 1 - The architecture"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/solid-principles-are-not-laws-134dt0bbn","name":"SOLID principles are not laws"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/in-a-nutshell-what-are-ddd-and-cqrs-domain-driven-design-and-command-query-responsibility-segregat-7aia4fnyj","name":"In a nutshell: What are DDD and CQRS (Domain Driven Design and Command Query Responsibility Segregation)?"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/stick-to-boring-architecture-for-as-long-as-possible-ctzpabocn","name":"Stick to boring architecture for as long as possible"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/crud-can-be-terrible-start-capturing-intent--bj2xsqhvz","name":"CRUD can be Terrible. Start capturing INTENT!"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/3-ways-to-reproduce-issues-in-microservices-txquqa1rl","name":"3 Ways to Reproduce Issues in Microservices"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/ddd-is-just-giving-a-h-t-about-your-domain-vj79z7hf0","name":"DDD is just giving a $h!t about your Domain"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"Architecture","item":"https://daily.dev/tags/architecture"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/architecture/best-of"},{"@type":"ListItem","position":5,"name":"July 2023"}]}]}
```

