Architecture Weekly Issue #48. 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 305 days 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.

Video

Highlights

Accelerating Code Delivery by 97% 👷‍♂️

LinkedIn made a journey from a single repo for frontend to multiple repos reaching 70 repositories for a single product. It affected the lead time which became unacceptable. Read how LinkedIn managed to migrate back to a monorepo per product approach reducing the lead time by 97% to a matter of hours instead of days!

Accelerating Code Delivery By 97% With Yarn Workspaces
As teams and applications experience growth, it’s critical to adopt architectures that optimize for clear code ownership, build isolation, and provide efficient delivery of code. While many projects start small with just one or two repositories (for example, frontend and backend), this approach ofte…

Mobile App Development Frameworks - a security guide 🍼

This week I finally published a long article on the mobile development security guide. If you choose a technology for your brand new mobile application, it will help understand what are the security concerns for each of the technology starting with native Kotlin/Swift development through React-Native and Kotlin to Hybrid HTML-based apps. In the end, you will find a comparison table with the severity of common mobile threats which will guide your technology choice.

Mobile app development frameworks - a security guide
Thousands of new businesses are born every day. And more of them than ever before are offering a mobile application as their primary product. When it comes to developing the app itself, a range of technologies can be used. From native Android and iOS development - using Kotlin and Swift

Istio & Service Mesh explained in 15 minutes 👷‍♂️

Having multiple microservices comes with a cost: you need to implement the API exposure, interservice communication, security, resilience patterns, and more. Instead of doing it manually in each service, we can offload all of it in a sidecar - a separate unit running alongside each service. This set of sidecars is called service mesh, and Istio implements it. Find out the video by Nina on the details of services meshes, Istio, and how to configure it within your Kubernetes cluster.

Follow-Up

Application Resiliency by Uncovering Hidden Issues with Chaos Testing 🍼

We already covered the overviews of Chaos Testing but repetition makes perfect. Find a new article on how Chaos Engineering helped identified an obscure issue in an online bank and what are the general principles and ideas of this valuable practice.

How We Improved Application’s Resiliency by Uncovering Our Hidden Issues Using Chaos Testing
This article lists the chaos testing principles which are outlined by Netflix. The readers should be able to understand the advantages and disadvantages that chaos testing offers. This will help them to decide whether they want to perform it or not. The article also explains why we should convince t…

#resilience

The evolution of state transfer - ElectricSQL 🍼

Web and mobile clients use different techniques to send information to a server, starting from submitting an HTML form through POST request to making GraphQL queries. However in a world with multiple devices per user and a requirement of real-time collaboration between users there should be a better tool. And there is - a local-first state. What's that? Follow the articles below.

The evolution of state transfer · ElectricSQL
Web development has been progressing through an evolution of state transfer. Hybrid local-first architecture is the natural endgame for this progression.

#web #concept

Kubernetes for Data Science practice 🍼

A short note an how the Data Science people often need to run big workloads but lack tools to do that. One of the answer is using an open-source Kubeflow to run ML and other data processing on Kubernetes.

Kubernetes for Data Science practice
Kubernetes is an emerging trend that combines Data Science with the benefits of being Kubernetes Native.

#kubernetes #k8s #ml #dataengineering

Difference between a 2PC and a saga 👷‍♂️

Making changes in a distributed systems can be done through a distributed locking - what is essentialy 2-Phase-Commit is. If you want to avoid locks you can go with sagas - a way to have a coordinated long-live-transaction by combining several short ones. Need more details? Follow the article inside!

Transactions in distributed systems
What are Transactions?

#distributedsystems #saga #2pc

Markdown Any Decision Record Explained 🍼

I am a fan of Architecture Decition Record - a short note which clarifes the decision to address architecturelly significant non-functional requirement. The Version 3.0 of the markdown template for such document got released recently, and the respective article was written to explain it. Follow for the details :)  

The Markdown ADR (MADR) Template Explained and Distilled
The Markdown Any Decision Record (MADR) Template turns five today, and its Version 3.0 was released recently. MADR stems from documenting…

#adr #documentation

Deep Dive into Architecture Decision Records 🍼

Continuing the topic of ADRs, I want to share an article which explains how to provide better context, and make the decision records more clear and consice.

ADR: Deep Dive into Architecture Decision Records
The Details and Best Practices of Architecture Decision Records and Documentation

#adr #documentation #bestpractices

How to give feedback to your coworkers? 🍼

The most people in the IT field regulary provide feedback during performance reviews and 360 feedback rounds. But from what I see, a major part does not know how to give good, actionable feedback. I decided to help the issue and recorded a video how to do that properly. But hey, I bet you already saw it on the Architecture Weekly channel, didn't you?

Like the newsletter? Consider helping to run it at Patreon or Boosty. The funds go to pay for the hosting and some software like a Camo Studio license. Patrons and Boosty subscribers of a certain level also get access to a private Architecture Community. Big thanks to Nikita, Anatoly, Oleksandr, Dima, Pavel, Robert, Roman, August and Andrey for already supporting the newsletter.