Architecture Weekly #147 - 2nd October 2023
Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free. Welcome to the new week! Strategy pattern is quite often shown as the ultimate solution for coupling and impedance mismatch. What's impedance mismatch? It's when different parts of the same code change at a different pace. It's one of the overlooked factors. I tried to show when strategy is a real solution and when it is not. I also explained patterns like Proxy and Chain Of Responsibility. Read more: Tackling coupling is hard to explain; some call it art, some call it gut feeling, I prefer not to call it engineering. Why? We’re in the alchemy evolution phase compared to the other engineering disciplines. We’re seeing issues; we have some heuristics that we call patterns, but they’re hard to codify and make the solution more than less repeatable. Take, for instance, the Microservices vs Monoliths debate. How long does it last? How long will it? It looks more like a discussion between fans than engineers. It’s nice to get back to older videos and see how others like Eric Evans were predicting their usage: And compare with the current state of the art and lessons learned we have, for instance, with a decent summary by Tomas Ekeli: The other old but still confusing topic is immutable data. Why use it? When to use it and how? Is it a fad or a new real deal? It’s always good to think for yourself and question authority, especially those more focused on influencing than teaching. I have always liked Mauro Servienti's works; they have a lot of pragmatism and real experience, like in the recent article about append-only models. And just in case you (somehow) haven’t seen it yet, check his must-watch talk: I’m not a big fan of Facebook and Meta, yet it’s undeniable that they’re doing interesting things, and their tech blog is actually pretty good. Last month, they presented a case study on how they scaled the Instagram Explore recommendations system. They described how they used various Machine Learning algorithms to make his biggest recommendation engine more flexible and scalable. They constituted a four-step ranking process: Retrieval, First-stage ranking, Second-stage ranking, and Final reranking. That allowed them to use different algorithms and techniques for each ranking process (e.g. the more correct algorithms are slower, and the other way round). The article shows a general approach but can be a good inspiration for tackling a complex ranking system. Speaking about tackling. The big dark clouds have started to hang over big players like Google, Apple and Amazon. The U.S. government sued all of them for monopoly practices:
It’s not the first time, and not the last one. In the past, Microsoft was forced to split into smaller companies; Google also had some repercussions that formed Alphabet. Those sues are nothing new. They were coming, and U.S. departments were working on them for years. Adding the fact that the European Union is also fighting the Privacy breaches of the tech giants, we may see interesting battles in the next years. They will take time, and and tech giants won’t easily back off their position, but the industry will surely be impacted by that outcome. Next will be the AI companies that are currently in the wild, wild west mode. Java 21 was released recently, and it came with new stuff. As always, the best resource is Piotr Przybył, with his continuous effort to explain what’s new, along with his commentary and practical examples. Catch it till it’s fresh! In parallel, Oracle works on GraalVM to make Java slimmer, more performant and better suited for the native code. Now, they released GraalOS, which is the next step for the native Java runtime: It’s still a way to go, but thanks to that, Java code may finally make serverless use cases a possible scenario on a bigger scale. Not Java, but JavaScript also gets more options to run Node.js applications. One of the recent runtimes is Bun. Check an in-depth case study by Yan Cui on how AWS serverless can benefit (or not) from using it: One of my so far favourite use cases for generative AI like ChatGPT is pair coding or challenging one's own thoughts. DeepLearning.ai, together with Google, released a free online course that can give you some hints on how to approach that: Check also other links! 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
DevOpsAIAWS
AzureJava.NETToolsCoding LifeManagementProduct DesignIndustry
SecurityYou're currently a free subscriber to Architecture Weekly. For the full experience, upgrade your subscription. |
Older messages
Architecture Weekly #145 - 25th September 2023
Monday, September 25, 2023
This week, we have a look deeper at modelling, handling and managing distributed business workflows. We also discussed why delivering our systems is a joint effort. Why it's important to make them
Architecture Weekly #145 - 18th September 2023
Monday, September 18, 2023
Welcome to the next release, the first one as the Substack Bestseller! As always, you'll find here a set of links that will boost your design skills and architecture knowledge!
Webinar #13 - Yves Goeleven - The Fantastic 9
Sunday, September 17, 2023
Watch now (82 mins) | This time, a special guest Yves Goeleven, showed us Fantastic 9. What's that? Let's give Yves to explain it: There are thousands of design patterns to choose from, but in
Architecture Weekly became the Substack Bestseller!
Sunday, September 17, 2023
Boom, I got this week such a nice picture from the Substack. My Architecture Weekly newsletter appears to have become the Substack Bestseller for getting 100 paid subscribers. It's a nice
Architecture Weekly #144 - 11th September 2023
Monday, September 11, 2023
This release is all about messaging, click to see all 50 shades of it, and also find other resources that'll boost your software architecture skills!
You Might Also Like
JSter #234 - Libraries and more
Monday, January 6, 2025
Happy new year JavaScripters! New year, new challenges. I have a small favor to ask you. I have a MSc student researching how AI is used for web development. To help out, fill his query (5-15 mins).
WP Weekly 225 - Wins - New Launches, 2025 Predictions, Year 2024 Recap
Monday, January 6, 2025
Read on Website WP Weekly 225 / Wins All the 2024 stuff is behind us; hoping everyone is a winner going forward in this amazing WordPress community. Let's start 2025 with WordPress goodness upfront
SRE Weekly Issue #458
Monday, January 6, 2025
View on sreweekly.com A message from our sponsor, incident.io: Ever wonder how Netflix handles incidents at their scale? With incident.io, they've built a process that's smooth, scalable, and
OpenAI proposes a new corporate structure - Sync #500
Sunday, January 5, 2025
Plus: Nvidia's next move; the state of AI hardware startups; "AI factories" for war; BYD enters humanoid robot race; ChatGPT Search vs. Google Search; and more! ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
🔋 You Need a Super-Fast USB Car Charger — First-Party vs. Third-Party Cookies
Sunday, January 5, 2025
Also: How I Use Shortcuts and Apple Numbers to Track My Time How-To Geek Logo January 5, 2025 Did You Know Theodore Roosevelt was the first US President to ride in an automobile while in office.
RD#487 Instance Hook Pattern
Sunday, January 5, 2025
co-located logic and controlled API
PD#607 Systems Ideas that Sound Good But Almost Never Work
Sunday, January 5, 2025
"let's just..." scenarios ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Android Weekly #656 🤖
Sunday, January 5, 2025
View in web browser 656 January 5th, 2025 Articles & Tutorials Sponsored Sick of your mobile apps crashing? Simon Grimm will show you how to fix them with less guesswork. Join Sentry's workshop
Daily Coding Problem: Problem #1659 [Easy]
Sunday, January 5, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by WhatsApp. Given an array of integers out of order, determine the bounds of the smallest
C#538 Unit Testing Clean Architecture Use Cases
Sunday, January 5, 2025
Battle-tested approach to unit testing