Architecture Weekly Issue #93. 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
Maximizing Efficiency: A Dive into Frugal Software Architecture π·ββοΈ
Finally I gave a talk on the Introduction to Frugal Software Architecture at DevClub. Real-life examples of strategic investments, cost optimizations mixed up with some jokes. I hope we will finally avoid bloated architecture and make some fewer layoffs. Β
#frugality #video
How to Test Serverless Applications on AWS π·ββοΈ
Serverless app on AWS typically includes a set of lambdas possibly with step functions, s3 buckets, SQS queues... How do you test all of this? You can definitely write up some unit tests, but how about more complex testing? In this article you will find how e2e tests can look like and what to bear in mind while designing them.
#qa #serverless #aws
On actionable and actually useful logs π·ββοΈ
Imagine you pushed something to prod and everything seems find only to lead a doubled cloud check at the end of the month. You discover that wrong log level made huge amount of data to be written to logs consuming the storage. Logs are important things and you will find great checklist for writing good, actionable logs spiced up with real stories. Enjoy :)
#bestpractices #observability
Follow-Up
Denial of Pleasure: Attacking Unusual BLE Targets with Flipper Zero π·ββοΈ
Not exactly the software architecture topic, more on the security and mobile, which I am passionate about. As I already told you long time ago, "S" in "IoT" stands for Security(video in ru). Today's article on attacking sex toys with Flipper Zero just proves the point. Find out technical details on making the toys go bzz without an app inside :)
#security
Distributed Transactions at Scale in Amazon DynamoDB π€
NoSQL databases are used for scalability and high availability while sacrificing the atomicity. DynamoDB added the support of transcations which work through Transaction Coordinators, Replications with Leaders scheme and 2-phase commits. Great long read!
#db #aws #distributedsystems
Stop using AWS Lambda for everything! πΌ
First shot when talking cloud is usually Lambda. But there are two other options you can consider at the same time: Elastic Container Service and Elastic Kubernetes Service. I am not a big fan of doing Kubernetes from day 1, but still: know your options. Find a short article comparing Lambda with ECS and EKS as your runtime platform.
#aws
20 Advanced Tips for AWS Lambda πΌ
While we are still discussing Lambda, find a list of 20 tips for this serverless solution from using VPCs and leveraging environment variables to usage of Layers and set of tools to employ. Don't expect details though :)
#cloud
Rethinking Reliability: What you Can(and Can't) Learn from Incidents πΌ
As Michail Druzhinin said in my interview with him, "The 3rd level of consciousness is understanding that incident is going on right now". We all do Post-Mortems(do you?), but we don't do systematic work as a whole industry. Aviation learned this lesson the hard way until they sit together and shared their incident data. IT can do the same with an open database for the incidents. Jump inside the interview about VOID - Verica Open Incident Database.
#reliability
How We Export Billion-Scale Graphs on Transactional Graph Databases π·ββοΈ
Discover eBay's cutting-edge approach to handling vast graph databases in their latest tech blog. The article reveals how eBay efficiently exports graphs with billions of vertices and edges using Apache Spark and their custom NuGraph analytics plugin. It highlights the challenges of scaling graph datasets, including data validation and relationship analysis, and details the innovative use of disaster recovery mechanisms for comprehensive data scanning. This piece is a must-read for those interested in big data, graph databases, and the engineering feats behind managing massive, complex datasets
#dataengineering #casestudy
Mastering Integration Testing for Microservices πΌ
It's time to bring the interviews on the channel back! In the next episode of Architecture Talks I am speaking with Oleg Ε elajev, a Developer Advocate at AtomicJar. We will cover challenges of testing microservices, discuss best practices and toolset to perform integration testing. Press the bell to get notified!
#video #qa #microservices