Architecture Weekly #48
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!
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.
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.
#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.
#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 #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!
#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 :)
#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 #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.