Architecture Weekly #86

Architecture Weekly Issue #86. 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 a year and a half 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.

Big thanks to Nikita, Anatoly, Oleksandr, Dima, Pavel B, Pavel, Robert, Roman, Iyri, Andrey, Lidia, Vladimir, August, Roman, Egor, Roman, Evgeniy, Nadia, Daria and Dzmitry for supporting the newsletter. They receive early access to the articles, influence the content and participate in the closed group where we discuss the architecture problems. They also see my daily updates on all the things I am working on. Join them at Patreon or Boosty!  

Highlights

2023 DevOps is terrible 👷‍♂️

DevOps is terrible in 2023. CopyPaste as a service, frustrated SREs, angry developers... Is there any bright future in the current trend? A portion of humour and an answer in the article by Matteo Bianchi.

2023 DevOps is terrible.
My analysis of modern DevOps evolution into Platform Engineering. Just a new trend or a revolution in the IT industry?

#devops #platformengineering

Investigating the safety of MFA methods 🍼

Passwords would be great if people could use long unique ones. But they don't. So we need another measures to harden the security of software systems, which is MultiFactor auth. One of the methods is using text messages, but they are prone to be intercepted. Another way is hardware tokens, but you need to carry one with you. A solution in the middle would be usage of authenticator apps, which would bring the security of second factor, but reside on your mobile device. But are they secure enough?

Investigating the safety of MFA methods: are authenticator apps secure?
In this article we’ll take a look at the different types of MFA available and we’ll compare them from a security perspective. We’ll pose an important question: are authenticator apps secure? And we’ll explore how to keep authenticator apps safe to use as they evolve in the coming years.

#security #mobile

Bun vs Node.js 👷‍♂️

Node.js is a widespread technology for Backend. It has it's own drawbacks like performance or requirement for external tools for working with Typescript. So naturally the alternatives appeared like Deno. This time Bun 1.0 is released which further improves Node.js becoming a 3 times faster analogue with Typescript built-in support. More details inside!

Bun vs Node.js: Everything you need to know
What’s the essence of Bun? Why is everyone drawing parallels with the tried-and-true Node.js? Is Bun just another fleeting trend, or is it here to redefine the game? In this article, let’s dive deep into Bun, check out its features, and find out how it compares to the well-established Node.js.

#backend

Follow-Up

How do databases execute expressions? 🤟

There are different approaches to programming languages; the same can be used for expression evaluation in database. Most databases use a tree-walking interpreter. A few use stack- or register-based virtual machines. A couple have just-in-time compilers. And, tangentially, a few do vectorized interpretation. What does that mean and what databases are considered - find it inside!

How do databases execute expressions? | notes.eatonphil.com
How do databases execute expressions?

#db

How Predictable is Communication Latency in the Cloud? 🤟

Network delays is a critical parameter in distributed systems. That's why it is important to understand how predictable latency is in Cloud providers depending on do you operate over the same subnet or doing cross-AZ calls. Find a great research below.

Cloudy Forecast: How Predictable is Communication Latency in the Cloud? | Aleksey Charapko

#cloud #distributedsystems


Creating diagrams from Text with the Help of GPT and Kroki 👷‍♂️

Recently I faced the necessity to draw a diagram and for the first time in my life I thought the task was too cumbersome to do it manually. So I decided to try to use ChatGPT to create a PlantUML diagram for me. The result wasn't great so I decided to search for tools to make it for me. And I found some, like ChatUML. And then I found this article, explaining how the whole idea could work. Haven't try the tool though, may be you would?

natlagram: Creating Diagrams From Text With the Help of GPT and Kroki
What is natlagram? ✨ Current state 💡 How to use it ✔️ Limitations ❗

#ai #diagrams #documentation

Farewell EC2-Classic, it's been swell 🍼

EC2 Classic offering is 17 years old. Amazon rarely discontinue services in comparison to Google, but now it's the case. Now it's completely revamped with Elastic IP addresses, Auto Scaling, Load Balancing, CloudWatch, and various new instance types support, so the need in classic is not there anymore. Follow the short history note on the journey!

Farewell EC2-Classic, it’s been swell
It is time to celebrate EC2-Classic, which defined early cloud computing, and which is finally retiring.

#aws

Bitemporal History

When we are talking about the historic events, you might want to consider the actual values used at a particular point in time, and what was the intended value. Martin Fowler introduces the term of Bitemporal History, which should depict those changes. However, even to himself it sounds a bit complicated and probably better replaced with just and Event Store :)

Bitemporal History
Bitemporal history has two dimensions: actual and record, allowing us to comprehend retroactive changes.

#domain