Architecture Weekly Issue #20. 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 102 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.
Mind maps of architecture books 🍼
Ilya Zonov, of the authors of this newsletter is doing the mindmaps of the software architecture-related books. This activity started during the book club, but now it represents a good map of the related books useful in understanding and remembering the book themselves. Don't forget to star the repo!
Step by step Event Storming Description by IBM 🍼
Event storming is a great technic to understand the business domain and ensure the software solution will properly fulfill the functional requirements with proper share of responsibilities. IBM in their architecture blog describe how to conduct the workshop, what roles are required and what artifacts you gonna get.
New faster in-memory storage 👷♂️
Redis and Memcached are some sort of the standard in in-memory data storage technology domain. Dragonfly is a new opensource alternative to them. The authors claim that their solution works much faster due to usage of innovative algorithms. More details in the repo.
How to learn distributed systems 🍼
We typically include Murat Demirbas paper reviews; this time it's time for his old post on how to approach learning of distributed systems. The post includes the description of problems which differentiate the single-node based systems from distributed ones which provides a meaningful insight for learning.
Backward compatible releases with Blue-Green approach, Django example 👷♂️
Good article on the backwards migration. It uses django as an example, but it could be written with any other technology. Main takeaway from the article is that use can not have blue-green deployments without backward compatible db migrations; more details inside.
Introduction to Availability Testing 👷♂️
Testing non-functional requirements is critically important for the success of software; this time we want to include an article on understanding what is an availability and what you need to check in order to ensure it.
LinkedIn load testing example 🤟
LinkedIn engineers show how they do load testing increasing the portion of data which goes to a particular data center. During such a test customers are impacted due to data replication lag, and that was a major problem. However load testing should be done, so it was a good task for engineers to solve. Read how they did it.
Cloud security comparison of the big 3 👷♂️
A Cloud Guru is resource to learn the cloud providers, their offerings and architecture practives. A new article in their blog tries to compare the security offerings from the big 3 cloud providers: AWS, GCP and MS Azure. Roles, shared responsibility models and many more inside.
Ballerina: a Data-Oriented Programming Language 👷♂️
Ballerina is an unusual programming language. It is designed for manipulating data and writing network services. Data is a first-class citizen in this language. Also, it includes tools for graphical representation of source code in form of a sequence diagram. This article describes how this language brings best from statically and dynamically typed languages for working with data.
Software Deployment, Speed, and Safety 🍼
Marc Brooker shares his vision of the deployment process. He discusses the following questions. How fast to move? How to measure speed? The Friday question. The tradeoff between speed and safety.
There are interesting thoughts about risk management, correlated failures, and customers. There are no ready-made solutions in the article. But you can use it to define requirements for your deployment process.