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.

SurrealDB | Why use SurrealDB?
SurrealDB is an innovative NewSQL cloud database, suitable for serverless applications, jamstack applications, single-page applications, and traditional applications. It is unmatched in its versatility and financial value, with the ability for deployment on cloud, on-premise, embedded, and edge compโ€ฆ

#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

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!

Application Security Explained - Tools & Trends for 2022
Application Security is the actions taken during the development lifecycle of an application to reduce vulnerabilities and improve security.

#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. ย 

Best Tools to Visualize your Terraform
This blog post will show you all the tools that might simplify Terraform resources and data source visualization.

#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.

Incident Review and Postmortem Best Practices
One reason incidents are important is that they often reveal the real state of products, teams or organizations, which is often very different from the imaginary picture that engineering leaders have in their heads. Transparent incident reports and a good incident-handling strategy can inject much-nโ€ฆ

#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.

A Minimum Viable Product Needs a Minimum Viable Architecture
Creating a Minimum Viable Architecture as part of an MVP helps teams to evaluate the technical viability and to provide a stable foundation for the product that can be adapted as the product evolves.

#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.

Client Optimization: How Tencent Maintains Apache Pulsar Clusters with over 100 Billion Messages Daily

#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.

Clock-Bound Wait
Wait to cover the uncertainty in time across cluster nodes before reading and writing values so values can be correctly ordered across cluster nodes.

#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.