Architecture Weekly Issue #40. 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.
It's already been 242 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.
Pegasus DB 🍼
New week - new database! This time Apache presents a new DB based on RocksDB engine called Pegasus. They claim this key-value store to be horizontally scalable and strongly consistent with the usage of PacificA consensus protocol. Considerably this is a gap fill between Redis and HBase.
How the SQLite Virtual Machine Works 🍼
What if a database was a sandwich-making machine and SQL was a language for making sandwiches? Interesting analogy, huh? Fly.io blog has an article which uses it to demonstrate how the SQLite interprets your SQL query and what it has under the hood to execute it. Nice introduction to execution plans.
Understanding Upgrade Failures in Distributed Systems 🤟
Upgrading software in a distributed system was a root cause in several high-profile cloud outages recently. The studying of those allowed to understand them better and come up with a testing tool called DUPChecker. This toold was even asked to be integrated into the toolset of HBase. Find more details inside!
Prioritizing App Stability 👷♂️
Early years of my career was mobile mostly, so I am interested in the mobile news as well. Lyft posted an article on how they deal with their Android application stability. It involves analyzing the crashes and the effort required to tackle them. Good example of data-driven approach to one of the important 'ilities'.
#mobile #stability #errorhandling
How to design a good API and why it matters 🍼
I know Joshua Bloch by his book "Effective Java". Many years ago in 2006, he wrote a short article on API Design, stating that every developer is an API designer to some extent and that you have only a single chance for the public API. In this article, you will find a couple of dozens of heuristics on how to design a good API.
Zero Downtime Migration from HBase to Bigtable 👷♂️
Box - a cloud file storage and management system - used to store more than 80TB of user data in on-premise HBase. Last year they decided to migrate it all to fully managed HBase compatible BigTable. The requirement was to make to with zero-downtime, which could be challenging. Read about the PoC they did to choose the storage type, and how they ensured the zero downtime in the post by Axatha Jalimarada.
#migrations #cloud #bigtable
State of Observability 2022 by Splunk 🍼
Observability is a hot topic: every company wants to understand what happens to their IT system in real-time and be notified if something requires attention. To understand what are the trends in observability and why you might want to look in the direction of applying AI for your alerting, make yourself familiar with the report by Splunk.
Outbox pattern for a guaranteed delivery 👷♂️
Exactly-once delivery is a holy graal of messaging. However, even the at-least-once delivery can tricky in the implementation. One of the patterns that can guarantee that is an outbox pattern: you write the message to the database first, and then try to send it. If the sending fails, you retry sending it again. Read more details in the article by Oskar Dudycz.
Cloud Cost as an Engineering Problem 🍼
AWS Bills are scary to many IT-companies. But the way they approach it is typically hiring some person with Finance background and treat as a cost optimization problem. But it turns out unused resources are a minor factor of cost; what drives it high is the architecture and software solution. Read why it happens in a nice article by Mike Julian.
10 Best Practices for a Secure Cluster in EKS
Last issue I mentioned the video on Kubernetes Security. Continuing the topic, I am sharing the checklist of 10 rules you want to apply in EKS deployment. Applying RBAC model, using Container Storage Interface for Secretes Manager and many more inside!
#security #k8s #kubernetes
Like the newsletter? Consider helping to run it at Patreon or Boosty. Patrons and Boosty subscribers of a certain level also get access to a private Architecture Community. Big thanks to Nikita, Anatoly, Oleksandr, Dima, Pavel and Robert for already supporting the newsletter.