<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/itnext/best-of/2024/09" -->

---
title: Best ITNEXT posts — September 2024 | daily.dev
description: The most upvoted ITNEXT posts from September 2024, curated by the daily.dev community.
canonical: https://daily.dev/sources/itnext/best-of/2024/09
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/itnext/best-of/2024/09
og:type: website
og:site_name: daily.dev
og:title: Best ITNEXT posts — September 2024 | daily.dev
og:description: The most upvoted ITNEXT posts from September 2024, 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 ITNEXT — September 2024

1. 1  
[](https://daily.dev/posts/system-design-sketches-foliswyrn "System Design Sketches")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
System Design Sketches  
System design sketches for various popular applications including social networks, ride-sharing apps, messaging platforms, video streaming services, file hosting apps, and web crawlers. Each sketch outlines the functional and non-functional requirements, core entities, and API endpoints. The post also provides deep dive resources for further exploration.  
188  
5
2. 2  
[](https://daily.dev/posts/architectural-metapatterns-tqurnk9zj "Architectural Metapatterns")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Architectural Metapatterns  
The document explores the concept of architectural metapatterns in software and system architecture, offering a way to classify the vast number of patterns by focusing on a small, important, and comprehensive subset. By mapping these patterns using a design space that highlights their structures and functions, it aims to create a cohesive system of metapatterns that can be more easily understood and remembered. The approach seeks to overcome the fragmentation and proliferation of patterns by providing a unified vision and methodology.  
77
3. 3  
[](https://daily.dev/posts/you-are-using-pinia-wrong--tyi0fypys "You are using Pinia wrong!")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
You are using Pinia wrong!  
Switching from Vuex to Pinia, the author encountered issues using the setup stores syntax, particularly with unit testing. While the logger worked, the spy function failed, uncovering the complexity and different internal structure of setup stores. Workarounds are necessary to align tests, and using \`store.$onAction\` for side effects adds further complications.  
48
4. 4  
[](https://daily.dev/posts/how-namespaced-cache-keys-improve-service-interoperability-y5pyp8s3w "How Namespaced Cache Keys Improve Service Interoperability")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
How Namespaced Cache Keys Improve Service Interoperability  
Namespaced cache keys help improve service interoperability by organizing cache keys into structured, hierarchical paths with associated labels. This approach simplifies the invalidation of cache entries and supports more granular cache management. A centralized cache service using Redis and gRPC can be implemented to handle these namespaced keys, ensuring consistent and efficient cache operations across different services and business entities.  
27
5. 5  
[](https://daily.dev/posts/different-ways-of-working-with-sql-databases-in-go-ixwxzm84l "Different ways of working with SQL Databases in Go")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Different ways of working with SQL Databases in Go  
Discover different ways to work with SQL databases in Go by exploring popular packages such as database/sql, sqlx, GORM, and sqlc. Understand the pros and cons of each approach and learn how to manage database migrations effectively to ensure schema consistency across environments. Gain insights into the best practices for integrating these tools into your projects to enhance development speed and maintain clean code.  
19
6. 6  
[](https://daily.dev/posts/the-list-of-architectural-metapatterns-ibwmfd7h9 "The list of architectural metapatterns")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
The list of architectural metapatterns  
Architectural metapatterns are clusters of architectural patterns characterized by their structure and properties. Basic metapatterns include monoliths, shards, layers, services, and pipelines. Extension metapatterns extend these basics with additional functionalities like middleware, shared repositories, proxies, and orchestrators. Fragmented metapatterns, such as Layered Services and Polyglot Persistence, lack system-wide layers but incorporate multiple domains. Implementation metapatterns like Plugins, Hexagonal Architecture, and Microkernels focus on the internal structure of components.  
19
7. 7  
[](https://daily.dev/posts/shards-tm4nulq0e "Shards")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Shards  
Sharding is an architectural metapattern that involves creating multiple independent instances of a component to enhance scalability, fault tolerance, and sometimes locality. It is particularly useful for high-load scenarios, hardware failure survival, and improved regional performance. However, it can face issues with data consistency and performance when inter-shard communication is required. The pattern commonly requires external components like load balancers or middleware to manage the multiple instances generated.  
15
8. 8  
[](https://daily.dev/posts/dockerfile-less-and-daemon-less-build-r161glgex "Dockerfile-less and Daemon-less Build")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Dockerfile-less and Daemon-less Build  
In the evolving software development landscape, alternatives like Buildpack and Kaniko offer ways to build Docker images without needing a Dockerfile or Docker daemon. These tools simplify and enhance CI/CD workflows, providing agility and security in isolated environments. Buildpack can automatically detect the programming language and build tools for a project, streamlining the image-building process compared to traditional Docker methods.  
13
9. 9  
[](https://daily.dev/posts/overview-of-microk8s-deploy-your-own-kubernetes-cluster-with-just-one-command-zllamxsxb "Overview of MicroK8s — Deploy Your Own Kubernetes Cluster With Just One Command")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Overview of MicroK8s — Deploy Your Own Kubernetes Cluster With Just One Command  
MicroK8s is a simple and user-friendly package for deploying Kubernetes clusters, developed by Canonical. It supports various operating systems, including Linux, Windows, and MacOS, and is suitable for production-grade clusters. MicroK8s is particularly useful for experimenting with Kubernetes or running non-critical workloads. It features various built-in addons like DNS, Ingress, Hostpath Storage, and more. Upgrading Kubernetes versions is managed through the snap package channels. While not commonly used in production due to the dominance of cloud providers, MicroK8s offers a lightweight, quick-to-deploy option for Kubernetes clusters.  
11
10. 10  
[](https://daily.dev/posts/why-data-in-enterprise-keeps-breaking-2sva8y5yo "Why Data in Enterprise Keeps Breaking")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Why Data in Enterprise Keeps Breaking  
Maintaining data consistency in enterprise settings is challenging due to a lack of a single record system, involving multiple services. This complexity leads to data anomalies, vulnerabilities, and financial risks. The article discusses the need for a central, trusted authority to reconcile data inconsistencies and highlights the evolution from Enterprise Service Bus to modern data-platforms, addressing integration and decentralization issues in a more reliable way.  
11

[See all ITNEXT archives](/sources/itnext/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/sources/itnext/best-of/2024/09#page","url":"https://daily.dev/sources/itnext/best-of/2024/09","name":"Best ITNEXT Posts — September 2024","description":"The most upvoted ITNEXT posts from September 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/itnext/best-of/2024/09#items","numberOfItems":10,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/system-design-sketches-foliswyrn","name":"System Design Sketches"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/architectural-metapatterns-tqurnk9zj","name":"Architectural Metapatterns"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/you-are-using-pinia-wrong--tyi0fypys","name":"You are using Pinia wrong!"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/how-namespaced-cache-keys-improve-service-interoperability-y5pyp8s3w","name":"How Namespaced Cache Keys Improve Service Interoperability"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/different-ways-of-working-with-sql-databases-in-go-ixwxzm84l","name":"Different ways of working with SQL Databases in Go"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/the-list-of-architectural-metapatterns-ibwmfd7h9","name":"The list of architectural metapatterns"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/shards-tm4nulq0e","name":"Shards"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/dockerfile-less-and-daemon-less-build-r161glgex","name":"Dockerfile-less and Daemon-less Build"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/overview-of-microk8s-deploy-your-own-kubernetes-cluster-with-just-one-command-zllamxsxb","name":"Overview of MicroK8s — Deploy Your Own Kubernetes Cluster With Just One Command"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/why-data-in-enterprise-keeps-breaking-2sva8y5yo","name":"Why Data in Enterprise Keeps Breaking"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"ITNEXT","item":"https://daily.dev/sources/itnext"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/itnext/best-of"},{"@type":"ListItem","position":5,"name":"September 2024"}]}]}
```

