Architecture Weekly #171 - 18th March 2024
Welcome to the new week! I'm calling May the Event Sourcing month, as you may join in May my workshops that will speed up your journey! Interested? Do you like onsite conferences? You can mash those two together, as I’ll be giving pre-conference workshops on my favourite conferences: - Techorama - 6th of May - Practical Introduction to Event Sourcing On Techorama, you'll get solid foundations. The workshop will be hands-on and teach you how to use Event Sourcing. I won’t lie: you won’t be an expert after it, but you’ll be able to start practically applying it to your projects, learn what you don’t know, and have a plan for advancing it. On DDD Europe, we'll focus on ensuring that our design will work in production. Even when we get there, it’s worth revisiting lessons learned and discovering what we can improve in preparing for the upcoming challenges. All the exercises will be backed by the versatile experience I got throughout my career. I’ll share my experience building systems like Marten and EventStoreDB and working as an architect and consultant in many Event Sourcing projects. Feel free to comment or drop me a message if you'd like to learn more! Can’t be there or want a private experience? We can also solve it when you reach me. No worries! I also run private trainings and other forms of help like:
I’m happy to help! If you don’t know what to choose, don’t hesitate to email me. I’m here to help. Check the details on my trainings page. By the way. I’ll speak tomorrow at Kafka Summit, explaining the Event modelling anti-patterns. If you’re here, feel free to join the session or just chat! It’s extremely motivating when you start a fresh open-source project and soon get such quality blog articles as Mário Bittencourt did about Emmett. I love how he phrased the intention behind it: "Just enough ceremony". I'll need to reuse it! Besides explaining Emmett's principles, I believe that’s also a great intro to Event Sourcing. Read more: Ok, enough about stuff I’m directly involved. Let’s do a quick recap of the links we have. March 1989, 25 years ago, Tim Berners-Lee published his proposal on World-Wide Web. Yup, just 25 years ago. Interestingly, it was called “Information Management”. That’s what we do on Instagram, right? You can read the whole proposal here: Don’t worry; it’s not that long and a nice read. It’s good to go back to foundations. Figma is a popular web-based design tool enabling real-time collaborative interface design and prototyping. They faced the challenge of a PostgreSQL database growing 100x since 2020. They were pretty happy about PostgreSQL and didn’t want to reintroduce a new approach like NoSQL or even closer CockroachDB. They had to invest in horizontal scaling and sharding. They wanted to do it evolutionarily. To do it, they used an interesting strategy. They utilized Postgres views to create logical separations of data that mimic how data would be divided across different shards. This means they could define views that only include rows from a table that match certain criteria related to sharding, such as all records belonging to a specific user group or dataset. By querying these views instead of the actual tables, the application behaves like the data is already partitioned, allowing the Figma team to test sharding logic and query routing mechanisms before implementing physical sharding. Figma also developed DBProxy, a service to dynamically route queries to the correct database shard, addressing the challenge of query execution in a sharded environment. You can clearly see in the last Architecture Weekly that it’s becoming a trend. Investing in proper sharding and load balancing that’s smart enough to understand the product needs is becoming critical. Read more: Also, Cloudflare open-sourced their Rust-based tool for networking. It also allows it to be used as a load balancer but can do more. That’s also in the spirit of the last edition links on Secure-by-design. I think that we’ll see more and more Rust tools in this space, as this security should also start with the choices of the tool authors. We’re also living in interesting times for databases. Horizontal scaling may also mean putting data on the edge and treating, e.g., web or mobile applications as part of our sharding strategy. That, of course, brings other challenges like conflict resolution, but it also relieves our backend services. See, e.g. what people can do with Databases on WASM or SQLite: See also a nice case study on GitLab Metrics and SQLite: Last week, I linked and discussed the cast.ai report on Kubernetes ’ overprovisioning. I commented:
We didn’t have to wait long for the next set of news, now from CNCF by themselves - they also published the report with similar conclusions. See more: Are you looking for good modelling resources for this week? No worries, I've got you covered. Check:
Rafał and Kenny discuss the details and provide heuristics for diving deeper into our model to discover important parts. Neal and the DDD Crew show how to design a proper communication workflow. Btw. I found out that you can now use Draw.io inside Miro. For me, it’s great, as I always had to copy-paste them, dropping the quality and taking a lot of time. See: Now, grab the popcorn:
We didn’t have to wait long:
Who knew? Read full coverage here: Watch also John Oliver doing the same for Boeing: All of that may sound funny, but it’s not. We’re creating the software that humans will use. We must ensure we’re professional and know where to cut the corners. Believing that AI will magically solve it or that we can increase the pace by dropping the quality or security is amateurship. Read more: 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
DatabasesDevOps
AIAzureNode.jsJava.NET
Rust
ToolsCoding Life
ManagementYou're currently a free subscriber to Architecture Weekly. For the full experience, upgrade your subscription. |
Older messages
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
Architecture Weekly #167 - 19th February 2024
Monday, February 19, 2024
We started this time of the semi-philosophical discussions like what's the use case? Are pros and cons the same as consequences? Then we got more to the ground touching unusual topics like end-to-
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