Architecture Weekly #36
Architecture Weekly Issue #36. Articles, books, and playlists on architecture and related topics. Split by sections, highlighted with complexity: ๐ค means hardcore, ๐ทโโ๏ธ is technically applicable right away, ย ๐ผ - introduction to the topic or an overview. Now in telegram as well.
WARNING ๐บ๐ฆ
It's already been 214 days since Russia's crazy, brutal, 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.
SurrealDB ๐ผ
A new database got my attention. Claim to combine the document-based, column and graph-oriented approaches. Inter-documents links look especially interesting.
#databases
WiscKey: efficient key-value storage for SSDs ๐ค
Cassandra, BigTable, RocksDB are all LSM-tree based databases. They use efficient optimizations to work on HDDs, but SSDs are better in terms of random vs sequential reads ratio and they support parallelism. It means new algorithms can be used for databases. Find a paper which describes WiscKey approach to key-value storages making advantages of SSDs.
#databases #whitepaper
A Disk-based System with In-memory Performance ๐ค
Continuing the topic of databases using SSDs, please find a video on how Umbra system is working underhood. Using the advanced the buffer management and variable size pages they claim to obtain near in-memory performance using disks.
#databases #video
Application Security Explained - Tools & Trends for 2022 ๐ผ
A report by Snyk on the security of a modern application. It goes over the last year's OWASP Top 10 and shows how it applied to a modern application. I agree, that the apps mostly consist of clients(mobile apps and frontends), ย backend services and then infrastructure. Snyk shares the top threats and obviously shows how their software can help with them in particular. Hey, Snyk folks, I would appreciate it if it was a sponsored link!
#security #t00ls
Best tools to visualize your Terraform infrastructure ๐ผ
A deployment diagram is one of the views you definitely would like to have as part of your system documentation. Some teams do it manually, some write custom software to visualize it. For those, who use Terraform there is a list of software able to visualize the system. Find it in the post. ย
#d0cs #tools #devops
โ Incident Review and Postmortem Best Practices ๐ทโโ๏ธ
When an outage of a production system happens it is important to understand the reasons why it happened, build up a plan to avoid it in the future and have a playbook if something similar happens. A new post in "The pragmatic Engineer" shows the survey results of how big tech companies perform those practices.
#docs #devops
Architecture Fitness Functions ๐ทโโ๏ธ
In every system, we can take a lot of trade-offs. What kind of trade-offs depend on the business we do, so the priorities will be different. Once we make the decision, we need to ensure it is followed by the development teams. The naive approach would be to rely on code reviews, but automated tools within the CI/CD pipeline work better. I tried to explain the basic ideas inside the talk, but you better check out the whole screencast in the pdf.
#architecture #tools #vision
Minimum Viable Architecture ๐ผ
Recently I started thinking about frugality - a property or a quality attribute of a system describing how lean it is. Minimum Viable Architecture which I stumbled upon is a similar concept: how to come up with the architecture which will QAs and is simple in terms of implementation and maintainability. Get an article in InfoQ blog.
#architecture #vision
Apache Pulsar Clusters with over 100 Billion Messages Daily ๐ทโโ๏ธ
I usually include articles about Kafka usage. But Pulsar is also a popular streaming solution. Check out how Tencent is using it with its incredible load.
#streaming #casestudies
Clock-Bound Wait ๐ค
We know the problem of synchronizing clocks for synchronizing reads and writes in distributed systems. Google and AWS have special services to handle the problem, but they are a) cloud-specific and b) use the same pattern. Unmesh Joshi explains the Clock-Bound Wait which is the name of said pattern.
#distributedsystems #patterns
Liked the newsletter? Consider helping to run it at Patreon or Boosty. Patrons and Boosty subscribers of certain level also get an access to private Architecture Community. Big thanks to Nikita, Anatoly, Oleksandr, Dima, Pavel and Robert for already supporting the newsletter.