Architecture Weekly Issue #23. Articles, books, and playlists on architecture and related topics. Every record has the complexity indication: 🤟 means hardcore, 👷♂️ is technically applicable right away, 🍼 - introduction to the topic or an overview. Now in telegram as well.
It's already 130 days of crazy, inhuman, unjustified war of Russia against Ukraine. We condemn this war and want it to stop ASAP. We continue this newsletter so you can advance your skill and help the millions of Ukrainian people in any way possible.
Key Value Stores 🍼
Short article on types of key value stores. Includes classic KV storages, Documents DBs, column-based storages and the key to event sequence storages. Interesting considerations on keys nature inside!
Shipping to Production 👷♂️
Good overview of techniques and approaches you would like to use in a pretty mature environment to ensure both the quality and velocity. Quality gateways, dynamic testing environments, staged releases and many more inside.
Balancing Coupling in Software Design 🍼
Different components of our systems depend on each other. In other words they are coupled. It is common to say we must avoid coupling at all cost. Vladik Khononov, an author of Learning DDD, gave a talk on the coupling: do we really need extremely lousely coupled components or we should find the balance.
Observability, Monitoring and Chaos Engineering 👷♂️
Observability means understanding the systems internal state by observing it's signals; Chaos Engineering is a set of practice to experiment on your system to know how to improve it. But the problem is to have a clear view of your system in a first place. Visual metaphors can help with that.
Single-Table Design with DynamoDB 👷♂️
DynamoDB is a high-performant OLTP database. The article suggests using it's speed to improve application performance by using a single table for different type of data. How it can work, why it is beneficial and when you definitely don't want to do that, find in the article below.
CeresDB is a new time-series database. It claims to be high-performance, distributed, schema-less and of course cloud native. It also said to be a good fit for analytics payload. Check out the repository.
Contract Testing 👷♂️
Classical Testing Pyramid teaches us that we have unit tests, integration tests and e2e tests. However it lacks the testing of API Contracts which do not kinda fall in any of that categories. Very good article on what is contract testing and what benefits it brings.
Scaling AppSec at Netflix 🍼
Netflix is a huge organization and managing security for it can be tricky. In order to scale it properly Netflix provides Paved Roads for everything including AppSec. What it is, how it was influenced by Netflix values, read in the article.
Architecture is Context 🍼
A podcast episode of Tech Lead Journal Podcast with Eltjo Poort - an architect lead at CGI Netherlands. Good discussion on writing architecture document, tackling tech debt and sustaining a development pace.
Understanding distributed consent 🤟
Good and detailed article to understand what is a distributed system, why it needs a consensus, what is a distributed consensus and how it can be achieved. Starts with fancy words on blockchain, but just scroll a bit down :)