Architecture Weekly #180 - 20th May 2024
Welcome to the new week! It’s been a while since the first edition of Papers We Love. In the first one, we tackled Sagas by Hector Garcia-Molina and Kenneth Salem. Now, we’ll tackle something less techy; we’ll go with socio-technical, and what better reference to do it than the famous article Mel Conway wrote when he introduced his law? In the next webinar, we’ll read the whole paper. Incredibly, this became like a gravity law. It always works, for better or worse. We’ll have the chance to discuss our experience and past challenges facing this hard law. I count on you that you join and add your feedback, and we’ll have an intriguing discussion! The webinar will happen on Thursday, May 23rd, at 6 PM CEST (UTC+2) and last 1-1.5h depending on the number of discussions. Become a paid subscriber and join us live! Everyone likes to talk about best practices. I went the other way around and gathered all the worst practices on how to build the worst Event Sourcing system. Was it easy? It was not, as building the worst Event Sourcing system, we cannot cheat and just go with Event Streaming rebranding the name. What to do next? Check the recording of my talk at NDC London, where I told the story of the project Franz: the Worst Event Sourcing System. Jokes aside. Event Sourcing is perceived as a complex pattern that’s challenging to learn. In fact, it's pretty simple, but the common misconception and the way it's taught may lead to such a conclusion. By going through the worst ideas, I wanted to show the essence of Event Sourcing. That was probably the hardest talk I gave so far from the presenting technique. The narrative has a few twists, so feedback is more than welcome! Also, if you’d like to build your Event-Driven systems correctly, I’m happy to provide training or consulting. Contact me, and we’ll find a way for you! Profiles are one of the most underrated Docker Compose features. They enable keeping multiple configurations in the same file and running a subset of images. That means you can run a subset of containers. For instance, if you’re working on Frontend, you can run only backend services and the other way around. In my latest article, I described in practice both how to do it and why you should. I backed that up with the recent refactoring of my samples. Are you using them? Learning about features is not always a pleasant experience; Maciej Pocwierz learned about it the hard way. He got a big bill from AWS for spending on unauthorised requests to his S3 bucket.
After contacting AWS, he got his bill cancelled but “emphasized that this was done as an exception”. Sounds like there’s no better way to have some long-term fix than public shaming… This article went pretty wide, as the scenario was really surprising, that you may be paid for DDoS even if you secured your bucket etc. A week ago, AWS announced that Amazon S3 will no longer charge for several HTTP error codes, including Access Denied, which Maciej faced. Cool. UniSuper (a $135 billion pension account) wasn’t so lucky with the Google Cloud disaster. The whole account, including backups, was removed, and it took them almost two weeks to get full restoration. That wouldn’t have been possible without the double-backup storage. They also kept backups in other locations than Google Cloud. The reason is still unknown; Google Cloud still didn’t provide more details publicly than information from their CEO:
I’ll try to keep an eye on that and provide you with more details if the post-mortem is released. Read the full coverage from ArsTechnica: James Shore released his online course “Testing Without Mocks” for free. It’s a great opportunity to learn more about his A-Frame architecture. I’m definitely planning to go through it soon (if I survive busy May!). If you’re looking for a thorough and practical case study on how to make PostgreSQL faster, then check this article: It nicely goes through an analysis of why queries are slow, how to approach query plans, and how to find and validate improved solutions. I really believe that big things are built from small pieces. Atomic Habits is one of the rare non-fiction books that I recommend to others. Some time ago, I explained how that can also be applied to the software architecture. I’m happy that others also have a similar perspective. Check Nathan Silnitsky's talk, where he’s showing his way on how atomic habits can help go in your journey: One of the good habits is testing and ensuring that your work won’t contract with other systems and teams. Contract testing is not always easy, but we can benefit from simpler approaches like Snapshot testing. We’re snapshotting the final state. When we provide the new version of the implementation, we can verify the new output with the new one. In .NET, there’s a great tool, Verify made by Simon Cropp that enables such tests, check two materials on it: I’ll also soon have more materials on compatibility testing. You can already check this PR or that one, but stay tuned for the write-up. Have also a look at Hillel Wayne’s thoughts on integration testing 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
DatabasesTestingAI
AWSJavaJVM.NET
Coding LifeIndustrySecurityTriviaInvite your friends and earn rewardsIf you enjoy Architecture Weekly, share it with your friends and earn rewards when they subscribe. |
Older messages
Architecture Weekly #179 - 13th May 2024
Monday, May 13, 2024
This release has a few themes. We started with event-driven (yeah, surprise!), discussing the potential errors and ways to handle them. Then we checked if serverless cold-starts are THAT scary and
Architecture Weekly #178 - 6th May 2024
Monday, May 6, 2024
This time, we discussed biases. Biases on the perspective on our technologies, so not seeing their evolutions. We also checked how biases can impact our knowledge, collaboration and eventually also the
Architecture Weekly #177 - 29nd April 2024
Monday, April 29, 2024
How do you make predictions about tech without the magical crystal ball? We did that today by example. We analysed what Redis and Terraform license changes relate to the new Typescript framework Effect
Architecture Weekly #176 - 22nd April 2024
Monday, April 22, 2024
This week, we looked at mocking in tests and, more importantly, different shades of the load testing. We also discussed other tools that can help you reach the expected SLO. We looked at various
Architecture Weekly #175 - 15th April 2024
Monday, April 15, 2024
This time we took a history lesson. We discussed the Adele Goldberg story on how Smalltalk language impacted the way we code today. We also went through the forgotten story of Harp McGovern and her
You Might Also Like
Daily Coding Problem: Problem #1648 [Medium]
Wednesday, December 25, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Quora. Given an absolute pathname that may have . or .. as part of it, return the
🎮 The Best Games to Go With Your New Console — Streaming Services Could Learn From YouTube
Wednesday, December 25, 2024
Also: Don't Throw Christmas Gift Boxes on the Curb, and More! How-To Geek Logo December 25, 2024 Did You Know Years before The Nightmare Before Christmas, Tim Burton was sprinkling references to
Charted | Global Economic Confidence in 2025, by Country 🌎
Wednesday, December 25, 2024
While emerging markets in Asia have the strongest confidence in the global economy looking ahead, European countries are most pessimistic. View Online | Subscribe | Download Our App FEATURED STORY
Top Tech Deals 🎅 Sony Headphones, iPhone Cases, 4K Projector, and More!
Wednesday, December 25, 2024
The season of giving is upon us. How-To Geek Logo December 25, 2024 Top Tech Deals: Sony Headphones, iPhone Cases, 4K Projector, and More! The season of giving is upon us. Happy Holidays! If you're
Why the Race to AGI is Humanitys Defining Moment
Wednesday, December 25, 2024
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, December 25, 2024? The
Iran's Charming Kitten Deploys BellaCPP: A New C++ Variant of BellaCiao Malware
Wednesday, December 25, 2024
THN Daily Updates Newsletter cover The Data Science Handbook, 2nd Edition ($60.00 Value) FREE for a Limited Time Practical, accessible guide to becoming a data scientist, updated to include the latest
Software Testing Weekly - Issue 251
Wednesday, December 25, 2024
GitHub Copilot is free! 🤖 View on the Web Archives ISSUE 251 December 25th 2024 COMMENT Welcome to the 251st issue! In case you missed it — GitHub Copilot is free! The free version works with Visual
Daily Coding Problem: Problem #1647 [Medium]
Tuesday, December 24, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Square. In front of you is a row of N coins, with values v 1 , v 1 , ..., v n . You are
Sentiment Analysis, Topological Sort, Web Security, and More
Tuesday, December 24, 2024
Exploring Modern Sentiment Analysis Approaches in Python #661 – DECEMBER 24, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Exploring Modern Sentiment Analysis Approaches in Python What are the
🤫 Do Not Disturb Mode Is My Secret to Sanity — 8 Gadgets I Want To See Nintendo Make
Tuesday, December 24, 2024
Also: The Best Christmas Movies to Watch on Netflix, and More! How-To Geek Logo December 24, 2024 Did You Know Their association with the Christmas season might make you think poinsettias hail from a