Architecture Weekly #104 - 5th December 2022
Welcome to the new week!
Let's say we'd like to check the result of the specific event handler (e.g. updated read model). As it's asynchronous, we won't know precisely when it happened. We could be polling continuously with retries for changes to our read model. Yet that won't be efficient and will make our tests less predictable and run longer. How to improve that?
I wrote in my last article about how we could get a little help from .NET Channels to make our tests reliable and efficient. Read more:
Artificial Intelligence is getting re-hyped with new text, code and image generation. Again, we’re trying to think if it can replace us. I wrote my longer take in Computer says no! Why we might have an issue with Artificial Intelligence soon of what I think about it. I think TLDR can be super useful for reducing the boilerplate work and helping us make decisions. Yet we need to be careful, as it’ll be as biased as the people training it. Thanks to Wojtek Ptak's recommendations, we have today a big package of news from AI improvements:
Meta - CICERO: An AI agent that negotiates, persuades, and cooperates with people
Nvidia - Magic3D: High-Resolution Text-to-3D Content Creation
More below!
Shopify claims that during the Black Friday/Cyber Monday period, they had 99.999+% uptime while averaging 3 Terabytes per minute of egress traffic across our infrastructure. If you’re interested in how they’re doing it, check:
Shopify - Shard Balancing: Moving Shops Confidently with Zero-Downtime at Terabyte-scale
Bart de Water - Shopify’s Architecture to Handle the World’s Biggest Flash Sales
Have you heard about Justin Bieber’s problem? It’s a scaling issue in social platforms when a set of influencers have extreme outliers in the number of followers and engagement. All of the social platforms went through that:
Now Mastodon is going through that. It’s especially dangerous in the federated nature, as it may have small servers run by regular persons. The number of notifications can quickly kill them. It’s worth watching that space, as, with recent Twitter issues, it got a lot of new people and needs to scale rapidly. See the decent summary of how you could proceed with that:
Recent research in Google engineering showed that the biggest productivity boost is…. code quality! Now we have an educated link to show our stubborn friends and managers:
Have a look also the latest news from our industry:
Axios - Elizabeth Holmes sentenced to 11 years in prison for Theranos fraud
Data Protection Commission - Decision in Facebook “Data Scraping” Inquiry
Lioness - At SpaceX, work was taken away from me in case I “might retire or die.”
Check, also other links!
Cheers
Oskar
p.s. I invite you to join the paid version of Architecture Weekly. It already contains the exclusive Discord channel for subscribers (and my GitHub sponsors), monthly webinars, etc. It is a vibrant space for knowledge sharing. Don’t wait to be a part of it!
p.s.2. Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, and putting pressure on your local government or companies. You can also support Ukraine by donating, e.g. to the Ukraine humanitarian organisation, Ambulances for Ukraine or Red Cross.
Architecture
Shopify - Shard Balancing: Moving Shops Confidently with Zero-Downtime at Terabyte-scale
Bart de Water - Shopify’s Architecture to Handle the World’s Biggest Flash Sales
Ben Rogojan - Realities of Being A Data Engineer — Migrations
Michael Plöd - Getting modules right with Domain-driven Design
DevOps
AI
Meta - CICERO: An AI agent that negotiates, persuades, and cooperates with people
Nvidia - Magic3D: High-Resolution Text-to-3D Content Creation
Java
.NET
Oskar Dudycz - Testing asynchronous processes with a little help from .NET Channels
David Fowler - Thread about details of building Minimal APIs TODO sample in .NET 7
Ben Foster - Minimal API validation with ASP.NET 7.0 Endpoint Filters
Python
Rust
Coding Life
Management
Google - What improves developer productivity at google? code quality
Jasper Spanjaart - 20 ways to hire more women into engineering and combat the gender gap