Architecture Weekly

Share this post

Architecture Weekly #90 - 29th August 2022

www.architecture-weekly.com

Architecture Weekly #90 - 29th August 2022

Oskar Dudycz
Aug 29, 2022
3
Share this post

Architecture Weekly #90 - 29th August 2022

www.architecture-weekly.com

Welcome to the new week!

It’s the 90th edition of Architecture Weekly. Woohoo! Who would have thought that it would last for so long? I wouldn’t. It started and still is a way to organise intriguing resources and not lose them on the Internet. It grew into something bigger than that. Now it’s the real learners’ community, with the Discord channel, webinars, etc. I’m glad that you’re here, and that’s also helpful to you. I’m starting the countdown to the 100 edition!

What would you like to get in the 100th?

Last week I wrote an essay about my observations on the similarities between playing or guitar and programming. I’m a mediocre guitarist and a bit better developer. Both of them require patience and repetition. How do you get to Carnegie Hall? Practice, practice, practice. You won’t become skilled in a single day.

Still, that’s dangerous advice. Burnout is a real thing in our industry. So it’s worth trying new things, techniques, and tools and also, taking breaks. I too often over-motivated myself both in guitar playing, and I got the opposite results than I hoped.

Finally, the most important thing is finding a hobby other than programming; best if it’s manual. Something that gives you pleasure and allows your brain to focus purely on mechanical things to clear out your brain. Read more in:

  • How playing on guitar can help you to be a better developer?

Different paces and perspectives can also be found in our data. We have three main perspectives:

  • Hot: accessed daily for our transactions/operations needs. That type of data represents active business processes. We’re actively using this data in our business logic (write model).

  • Warm: data is used sporadically or read-only. They usually represent data we’re accessing for our UI (read model) and data we typically won’t change.

  • Cold: data not used in our application or used by other modules (for instance, reporting). We may want to keep also for the legal obligations.

Once we realise that, we may discover that we might not separate the storage for each type. We also might not need to keep all data in the same database. Check more in:

  • Derek Comartin - Data Partitioning! Don’t let growth SLOW you down!

Speaking of the data patterns. One of the most critical concepts in databases and pipeline processing is “Write Ahead-Log”. It enables predictable processing. Do you know that Relational Databases work like event stores? Check the great summary of how that works and how databases recover from failures in a great write-up:

  • Kevin Sookocheff - Write-ahead logging and the ARIES crash recovery algorithm. How do databases recover from failure?

As we’re into failures, what is worst than spectacular security failures? We hear more and more about them. Recently, the ex-Twitter exec told about the ignorance on the security issues in Twitter:

  • CNN - Ex-Twitter exec blows the whistle, alleging reckless and negligent cybersecurity policies

Microsoft also had a huge issue with ADFS. It was found that there’s a trick that allows you to log as anyone:

  • Microsoft - MagicWeb: NOBELIUM’s post-compromise trick to authenticate as anyone

Those are serious things. Still, as I wrote some time ago in my article, the issue is not only with Big Tech companies and the holes in their products. They’re the easy target, as they’re the biggest. It’s the hardest to breach them, but also for hackers is the high risk, high reward. Still, it’s much less possible that we’d secure ourselves better than specialists hired there. Should we just blindly trust them and outsource our security practices fully to cloud providers? Of course, not. We should control and monitor security practices and guarantees. We should build security as one of our main principles and part of the development process. Not just as the audit done at the end of development.

If you’re looking for how to take granular microservices or a domain-driven approach to Frontend, I got you covered today. Check:

  • Virtual Domain-Driven Design - Domain-Driven Frontend with Francesco Strazzullo

  • Mauro Servienti - Designing a UI for Microservices

  • Microsoft - Fluid Framework - Library for building distributed, real-time collaborative web applications

  • Tomasz Pęczek - Micro Frontends in Action With ASP.NET Core - Composition via Blazor WebAssembly Based Web Components

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 Red Cross, the Ukraine humanitarian organisation. You may also consider joining Tech for Ukraine initiative.


Architecture

  • Jimmy Bogard - Domain-Driven Refactoring

  • Derek Comartin - Data Partitioning! Don’t let growth SLOW you down!

  • LaunchDarkly - Evolving Global Flag Delivery - Flag Delivery at Edge

  • Herberto Graça - DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together

Distributed Systems

  • Shiju Varghese - Building Distributed Event Streaming Systems In Go With NATS JetStream

  • Instagram Engineering - Sharding & IDs at Instagram

  • Universally Unique Lexicographically Sortable Identifier - The canonical spec for ulid

Datbases

  • Kevin Sookocheff - Write-ahead logging and the ARIES crash recovery algorithm. How do databases recover from failure?

  • Andrzej Ludwikowski - Reactive Event Sourcing benchmarks, part 1: PostgreSQL

  • LiteFS - FUSE-based file system for replicating SQLite databases across a cluster of machines

  • Justin Graf - PostgreSQL and Financial Calculations - Part One

Frontend

  • Virtual Domain-Driven Design - Domain-Driven Frontend with Francesco Strazzullo

  • Mauro Servienti - Designing a UI for Microservices

  • Microsoft - Fluid Framework - Library for building distributed, real-time collaborative web applications

AI

  • João Pedro - Machine Learning Streaming with Kafka, Debezium, and BentoML

  • The Register - GitHub Copilot may be perfect for cheating CompSci programming exercises

Azure

  • Kamil Mrzygłód - ACE (Azure Cost Estimator) - automated cost estimations for ARM Templates & Biceps

  • Azure - The Azure SaaS Development Kit (ASDK) - provides a reference architecture, deployable reference implementation and tools to help developers, startups, ISVs and Enterprises deliver their applications as a SaaS service. A platform for platform creators.

.NET

  • Tomasz Pęczek - Micro Frontends in Action With ASP.NET Core - Composition via Blazor WebAssembly Based Web Components

  • Mads Torgersen - The functional journey of C#

  • Microsoft - Announcing built-in container support for the .NET SDK

  • Patrick Smacchia - C# 11 Raw String Literals Explained

NodeJS

  • Zod - TypeScript-first schema validation with static type inference

Coding Life

  • Oskar Dudycz - How playing on guitar can help you to be a better developer?

Management

  • Emily Nakashima - An EngineeringManager’ss Bill of Rights (and Responsibilities)

  • Continuous Delivery - Agile & ScrumDon’t Work | Allen Holub In The Engineering Room

  • Scrum Sessions Podcast - Episode 01 with special guest Dr. Jeff Sutherland

Security

  • CNN - Ex-Twitter exec blows the whistle, alleging reckless and negligent cybersecurity policies

  • Microsoft - MagicWeb: NOBELIUM’s post-compromise trick to authenticate as anyone

Trivia

  • Gergely Orosz - Becoming a Full-Time Creator as a Software Engineer: Controversial Advice

Architecture Weekly is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.

Share this post

Architecture Weekly #90 - 29th August 2022

www.architecture-weekly.com
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Oskar Dudycz
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing