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.
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.
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.
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.
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.
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.
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!
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.
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?
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!
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.