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.
#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?
#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!
#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!
#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.
#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?
#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!
#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 :)
#domain