Architecture Weekly #172 - 25th March 2024
Welcome to the new week! I’ll start with an invitation to the next Architecture Weekly webinar. This time, a special guest, my friend Laïla Bougriâ, will tell us how to debug our thinking. When I saw Laïla giving this talk as a keynote at this year’s NDC London, I was impressed, but the best commentary was that I heard a guy sitting behind me saying loudly to his friend: “Wow, that was a great talk!”. And it was, I think, essential to building a mental model for solving problems if we want to be architects. Laïla is also one of my favourite speakers about messaging architectures. Yet, this talk won’t be about messaging but the general mind tooling for solving problems. I’m thrilled that she agreed to do the webinar for our community. You should not miss it! See the details on the webinar page. I really think that Event Sourcing, with its repeatable patterns and focus on business, can streamline development. Yet, learning it may be challenging. You need to learn both new approaches and tooling. That’s why I decided to publish Emmett to package safe defaults and my state-of-the-art. I don’t want to replace or compete with existing tooling but guide you through this journey. Tests are first-class citizens in Emmett. I think that’s a pretty rare thing. I want to make getting the trust in your code and yourself smoother while going through the Event Sourcing journey. The proportion between unit, integration and end-to-end tests is up to you. The most important part is that I’ve got you covered. How? Check my new article to get the full explanation: Moving on to the links! One of the main areas of confusion and struggle is not understanding the financial model for our products. In our industry, we’re passionate about the stuff we do, and I truly believe that passion is overrated. I would much prefer to have a clear business relationship where the relationship between employer and employee can be transparent. Both sides know what they are signing for. Even if you’re a regular employee, it’s important to understand how budgeting works and where money comes from. Swizec Teller nicely explained that in plain English; read more: Speaking about money, Open-Source tools and creators are fighting strongly in the sustainability battle. The battle may already be lost, especially since most of them didn’t think that their work may be abused. That’s also why we see the trend of databases and other tooling changing their license to require payment when certain conditions are met. For instance, Redis recently changed it to fight Cloud Providers hosting it for money without contributing back. Now, the battle may already be lost, as cloud providers are earning huge amounts of money and won’t want to cut their margins. We already saw that for Elastic and Mongo, where AWS provided the alternatives (OpenSearch and DocumentDB). Now, for instance, Microsoft announced their Redis alternative: Of course, this won’t immediately match the maturity, flexibility, and feature parity of the regular tools, but oh well, they will advocate them as open-source, next-generation, and faster. And sell them to their clients. Of course, it’s frustrating when we need to pay more, but we should also embrace the reason why the OSS model is broken and prepare for what will come next. Such changes are just the next sign of it. Let’s continue the facts and myths considerations. Josh Collinsworth, in his article, shares an intriguing observation. On the one hand, people complain these technologies are too complicated, but on the other hand, they also say they're too simple to be taken seriously. There’s a truth in that people (especially backend devs) in tech don't give enough respect to frontend development, like working with CSS and HTML. This perspective is about 15 years too old. Nowadays, the front end is often more complex and has more responsibility than the back end. I think that we’ll see more of that, with the backend being blended with the front end and more computations moving on the edge. The discussion is also about more than just coding—it's also about how people in the tech world see different jobs. Not valuing frontend work enough might partly be because of tech biases. For example, frontend development is more diverse than other tech fields, which might be why it's not seen as important as jobs like backend development, which have traditionally had less diversity. The article nicely goes through such considerations. Read more: Also, as a follow up, it’s nice to read Dan North's old take on how simple is too simple: Speaking about complexity on the front end, let’s go through two case studies, starting with Expedia’s (platform for travel search). They shared their search optimisation case study: As always, the most interesting part of such write-ups is what you can read between the lines. It seems that they used micro-frontends to reuse code, speed up delivery, and enable Progressive Web Applications (so they could load the code gradually). That led to a fragmented and chatty API, which also caused redundant payload transfer between the backend, frontend, and services. Sometimes it’s useful to group small calls into one bigger. They named it “horizontal slices”.
In my opinion, that’s not a precise term. It’s still vertical for me, as it’s focused on the specific process (upsell). It’s a realisation of the fact that business works differently than expected. As always, with such articles, I’m also curious how much of the improvement is related to knowing the domain better and how much to the specific technical decisions. The other case study comes from Decathlon. They published a four-part series explaining their approach to Backend-for-frontend. So, APIs are designed with the client's needs as the prime goal. I think that they’re a decent story on the considerations, tradeoffs, etc: From the different topic. OpenTelemetry started its CNCF graduation process. They’re already production-ready and mature. It’s also one of the most impressive collaborations between multiple competitors to come up with a unified approach. If you want to help them with your case study or see some references, you can contribute here: Read also an interesting article from Werner Vogels on the trial between AWS and HeatWorks to use the servers heat to warm up houses. 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
DevOps
DatabasesAITesting
FrontendJava.NET
Node.jsTypeScriptManagementSecurityTriviaYou're currently a free subscriber to Architecture Weekly. For the full experience, upgrade your subscription. |
Older messages
Architecture Weekly #171 - 18th March 2024
Monday, March 18, 2024
We started by checking why May may be the month of Event Sourcing. Then we discussed Figma's way of dealing with database horizontal scaling and saw what new database improvements can bring WASM
Architecture Weekly #170 - 11th March 2024
Monday, March 11, 2024
This time, we took a deep dive into being Secure By Design. We analysed and compared Google's and the White House's recommendations. We looked at the Event Interception pattern and discussed if
Architecture Weekly #169 - 4th March 2024
Monday, March 4, 2024
Today, We did a roundtrip through the big tech case studies: Uber, Doordash, Stripe and more. We compared their takes on the emerging trends like cell-based architectures, we discussed Stripe's
Webinar #17 - Andrea Magnorsky: Introducing Bytesize Architecture Sessions!
Tuesday, February 27, 2024
Watch now (90 mins) | We all struggle with too-long meetings, confusing design discussions and analysis paralysis. How can we reason better about our systems in a collaborative way? Does your team
Architecture Weekly #168 - 26th February 2024
Monday, February 26, 2024
Today's leitmotif is revisiting our past decisions. We discussed lessons from 4 years of building and running infrastructure in a startup. Then we went to the discussion around CockroachDB vs
You Might Also Like
Data Science Weekly - Issue 579
Thursday, December 26, 2024
Curated news, articles and jobs related to Data Science, AI, & Machine Learning ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
💎 Issue 449 - JRuby with JBang
Thursday, December 26, 2024
This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 449 Release Date Dec 26, 2024 Your weekly report of the most popular Ruby news, articles and
💻 Issue 449 - JavaScript Benchmarking Is a Mess
Thursday, December 26, 2024
This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 449 Release Date Dec 26, 2024 Your weekly report of the most popular JavaScript news, articles
📱 Issue 443 - EU asks for views on plan to force Apple to open up iOS
Thursday, December 26, 2024
This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 443 Release Date Dec 26, 2024 Your weekly report of the most popular iOS news, articles and projects Popular
💻 Issue 442 - SOLID: The Liskov Substitution Principle (LSP) in C#
Thursday, December 26, 2024
This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 442 Release Date Dec 26, 2024 Your weekly report of the most popular .NET news, articles and projects
Daily Coding Problem: Problem #1649 [Easy]
Thursday, December 26, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Spreadsheets often use this alphabetical encoding for its columns: "A
JSK Daily for Dec 26, 2024
Thursday, December 26, 2024
JSK Daily for Dec 26, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Performance Optimization in React Pivot Table with Data Compression The Syncfusion React
📱 Issue 446 - Fatbobman's Swift Weekly #063
Thursday, December 26, 2024
This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 446 Release Date Dec 26, 2024 Your weekly report of the most popular Swift news, articles and projects
💻 Issue 444 - Four limitations of Rust’s borrow checker
Thursday, December 26, 2024
This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 444 Release Date Dec 26, 2024 Your weekly report of the most popular Rust news, articles and projects
💻 Issue 367 - React 19: A New Era of Web Development
Thursday, December 26, 2024
This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 367 Release Date Dec 26, 2024 Your weekly report of the most popular React news, articles and projects