Architecture Weekly #52

Architecture Weekly Issue #52. Articles, books, and playlists on architecture and related topics. Split by sections, highlighted with complexity: 🤟 means hardcore, 👷‍♂️ is technically applicable right away,  🍼 - is an introduction to the topic or an overview. Now in telegram as well.

WARNING 🇺🇦

It's already been 333 days since Russia's crazy, brutal and unjustified war 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. If you want to help directly, visit this fund.

Video

Highlights

Architect's Intro to Data Science and Machine Learning 🍼

I personally kinda afraid of Data Science and ML, because I think it requires a lot of math I am not really good at. However, you will hardly build a complex enough system without either of those. So you'd better understand the terms and underlying principles at least at a high level. Redhat wrote a post in their "Enable Architect" blog with what you as an architect should know about the Data Science and Machine Learning. The list includes courses and learning materials, data manipulation tools, programming languages, data pipelines, types of machine learning and more.

Getting started with data science and machine learning: what architects need to know
Machine learning allows you to generate new ideas and see connections that are hard to see using other methods.

#datascience #ml

Relational Databases Explained 🤟

We use RDMS almost every day in our day to day jobs, but do we know enough? Do we know how do indexes work? Or how do dbs store data on the disk? What are the transactions and levels of isolations? Architecture Notes got you back with answers on those questions. You would be also appreciate my own Architecture Readings series on the YouTube channel as well.

Relational Databases Explained
How Relational Databases Work. This post talks about how indexes and transactions work on the inside of relational databases.

#database

Continuous Architecture Manifesto 🍼

As we mentioned previously, architecture activity evolved from big upfront design to no design at all. Although the spectre has long range, we can find ourselves in another point of it - the place where we do architecture continuously. It means targeting a long-term product vision, and not a short-term project;  performing it by the whole team; using holistic approach and more!  

Continuous Architecture manifesto

Follow-Up

Reading DDIA notes  🍼

Designing Data Intensive Applications is a classical book nowadays. Magda Miu started a series of posts where she shares her notes while reading the book. She explains what she got from the book chapters, provides illustrations and complements it with the links for the further readings. Don't hesitate to follow her blog as well!  

#ddia #reading #distributedsystem

Introduction to Time-Series Databases 🍼

We face time-series on multiple occasions from monitoring data to IoT and financial events. In order to store this data efficiently, there are special databases: TSDBs. What are there advantages and why they fit well with this type of data, read in the article below.

An introduction to time series databases
Join us for a deep dive into time series databases. We’ll look at what they are, why they’re needed, and what makes them uniquely suited for their workload.

#database #timeseries

Consider All Microservices Vulnerable 🍼

Microservices usually have one well-defined purpose and narrow API surface. It helps improving the security, but does not obviously eliminate the threat completely. One of the tactics to improve the security of microservices in particular is monitoring their behaviour. If the malicious irefular requests and irregular response times are detected, then we can detect or even prevent an attack at an earlier stage. More details inside.

Consider All Microservices Vulnerable — And Monitor Their Behavior
Author: David Hadas (IBM Research Labs)This post warns Devops from a false sense of security. Following security best practices when developing and configuring microservices do not result in non-vulnerable microservices. The post shows that although all deployed microservices are vulnerable, there…

#k8s #security

Why Bolt use Node.JS? 👷‍♂️

Bolt uses exclusively Node.JS and Typescript for all the backend microservices, except ML and Data Science payloads. This is of course a architecturally significant decision which follows the business motivation of doing more with less. This week my coworker Denys Pysmennyi wrote a piece about this choice, it's consequences and drawbacks.    

Why does Bolt use Node.JS?
Get to know Bolt’s technology stack and backend architecture

#backend #technology #nodejs

McDonald's Journey to Event-Driven Architecture

McDonald's is not only a set of restaurants for a quick break. It has rich IT infrastructure behind the scene. And the foundation for their systems is Event-Drivent architecture. In this post Derek Comartin shares some details from the McDonalds posts on how do they use Schema Registries, how they validate events and improve the messaging reliability.  

McDonald’s Journey to Event-Driven Architecture
McDonald’s uses Event-Driven Architecture! Here’s a breakdown of all the components and how they all work together and why.

#events

Any Decision Record? Architecture, Design and Beyond

Decision Records again! This time Olaf Zimmermann "Patterns of API Design" published a 10-minutes read about the applicability of ADRs for capturing not only architecture decisions, but as well as managerial or organizational ones. He also reasons what actually an architecturally significant decision is, and why a programming language choice is a one(mind the previous article). Get a read!

ADR = Any Decision Record? Architecture, Design and Beyond
If architectural decision records are so useful to capture software design rationale, why not extend their scope: Can they log organizational and managerial decisions as well? How about everyday decisions?

#architecture #adr

Like the newsletter? Wanna receive new content earlier, than everybody else? Consider helping to run it at Patreon or Boosty. The funds go to pay for the hosting and some software like a Camo Studio license. Patrons and Boosty subscribers of a certain level also get access to a private Architecture Community and of course every supporter gets early access. Big thanks to Nikita, Anatoly, Oleksandr, Dima, Pavel B, Pavel, Robert, Roman, Iyri, Andrey, Lidia, Vladimir, August and Roman for already supporting the newsletter. Join them as well!