Architecture Weekly #10

Architecture Weekly Issue #10. Articles, books, and playlists on architecture and related topics. Every record has the complexity indication: 🤟 means hardcore, 👷‍♂️ is technically applicable right away,  🍼 - introduction to the topic or an overview.

WARNING 🇺🇦

It's already a month of crazy, inhuman, unjustified war of Russia 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 Ukranian people in any way possible.

Rate Limit and Kong API Gateway 👷‍♂️

Rate Limit is a common pattern to use in social networks, messages, forums and other sources where content is user generated. API Gateway can be a good place to implement this pattern. Find out how in an article by Danielle in Kong dev blog.

Rate Limiting using Kong API Gateway
Applying a rate limit for requests prevents your API from being overloaded by constraining the number of requests within a given time…

Data patterns for the Edge 🍼

Edge is necessary when you want to optimize latency for users around the globe. But once you do that, the usage patterns arises from the one hand side, and privacy regulations matter from the other. Read, how you can use edge locations from the data perspective.

Data Patterns for the Edge: Data Localization, Privacy Laws, and Performance
With growing competition to get data that power experiences to the end-user closer and closer and the advent of local data privacy laws, let’s look at different enterprise data patterns like “synchronous data retrieval”, “subsequent data retrieval” and “prefetch data retrieval” on data center.

Micro Frontends 🍼

The talks about microservices do not stop for the last 10 years. But backend is only a part of your system. The same concerns which led to microservices you can apply to frontend as well: different technologies, team independence and scalability, common core. Discover how you can design micro frontends.

Micro Frontends
How to split up your large, complex, frontend codebases into simple, composable, independently deliverable apps.

Instagram's reduction of tail latency 🤟

A blog post of Instagram published back in 2018. They describe how they require their database to provide minimal latency in order to adhere to internal SLAs. A rewriting a database engine was necessary. Read the fantastic story.

Open-sourcing a 10x reduction in Apache Cassandra tail latency
At Instagram, we have one of the world’s largest deployments of the Apache Cassandra database. We began using Cassandra in 2012 to replace…

Securing cloud infrastructure for PCI review 👷‍♂️

Working with money-related stuff eventually leads you to a certification or at least a PCI DSS review. Passing such review will require a lot of steps on network, process, data storage and other aspects of your system. Snyk, being a security scanner can help with that. Figure out how in the article.

Securing cloud infrastructure for PCI review | Snyk
In this blog post, we’re going to take a look at how you can secure your cloud infrastructure to be PCI compliant.

Patterns for Building Observable Services 👷‍♂️

Observability is incredibly important in modern systems. Failing to proper monitor the services and notify once an issue appears may cost your company millions of dollars even for half an hour of unavailability. Figure out different patterns to achieve high level of observability like inside-out health check, real time monitoring and microservices tracing. Anti-patterns are also inside!

5 Design Patterns for Building Observable Services
There are three categories of monitoring design patterns that can help solve commonly occurring problems in software development.

Building robust distributed systems 🍼

It is a common task for architects to build a robust system. It is good to have a list of different approaches for this goal. How to simplify the solution and decrease the number of dependencies? How to prevent error cascades? Find some options in this article.

Building robust distributed systems | Kislay Verma
Distributed systems give us tremendous scalability, but we need to build them right to reap the full benefits of this complicated architecture

Seven Microservices Anti-patterns 🍼

Microservices is already adopted approach in modern software development. It helps us to improve agility, customer experience, and decrease cost. Are we preparing microservices correctly? Please revisit this article from 2015 and recheck your system. Do you have enough automation? Do you still use layered services? How do you manage configuration?

Seven Microservices Anti-patterns
In this article Vijay Algarasan, a Principal Architect at Asurion, discusses how he and his teams have encountered microservices at various engagements and some lessons they have learned as a result. This has resulted in them building up a series of anti-patterns and some associated patterns, which…

Consul and Chaos Engineering 👷‍♂️

There are many methods to improve resiliency. For example, use additional infrastructure like load-balancers. HashiCorp offers to try service mesh to achieve the same goal. Look at this tutorial to find differences in practice. Chaos Engineering tests and tools are included!

Consul and Chaos Engineering | Consul - HashiCorp Learn
Dive into the basics of Chaos Enginnering and learn how Consul can improve application resiliency.

What is OpenTelemetry? 🍼

It is common practice to add logs and metrics in applications. But tracing – the third pillar of observability – is often missed. Here is the description of OpenTelemetry project and the importance of tracing.

What is OpenTelemetry? A Straightforward Guide for Devs
In this guide, you will learn everything you should know to get started with OpenTelemetry, why logs and metrics aren’t enough to debug our…

Brought to you by Vladimir @vvsevolodovich Ivanov and Ilya @puzan Zonov

Consider helping this newsletter by upgrading to premium membership of this blog or requesting a private consultation. The money is used to pay for the hosting.