Architecture Weekly

Share this post

Architecture Weekly #151 - 30th October 2023

www.architecture-weekly.com

Discover more from Architecture Weekly

Weekly Software Architecture resources to boost your knowledge and developer skills.
Over 4,000 subscribers
Continue reading
Sign in

Architecture Weekly #151 - 30th October 2023

Oskar Dudycz
Oct 30, 2023
4
Share this post

Architecture Weekly #151 - 30th October 2023

www.architecture-weekly.com
Share

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!

Are Verifiable Credentials the future of Identity Management? I'm not yet sure, but it's definitely an intriguing topic to investigate. Especially nowadays, when we'd like to have a privacy-first way to use our real identities in a digital world.

In the last webinar, we had a special guest, Mateusz Jendza, who probably spent one of the largest amounts of time applying it and also delivering it to production.

We had a good discussion on whether to apply it, when and how. The how was important, as Mateusz did two live demos presenting live different scenarios and use cases.

If you are interested in privacy, identity management, or you're working in a regulated and privacy-first industry like finance or healthcare, I strongly encourage you to check it!

Click here to watch the recording.


I recently had several discussions on the topic of Women in IT, parity and the state of our industry. That made me get back to the article I wrote in Polish 6 years ago. Unfortunately, I concluded that not much has changed. I decided to translate it and extend it with my recent experience.

  • Oskar Dudycz - Women in IT

I believe that, as men, we're privileged, and we need to do more. There's nothing wrong, by itself, with being privileged or having a better position. Nothing to be ashamed of. It's just a fact where we are. There will always be someone with more power, more voice, etc. We should just embrace that. The issue, in my opinion, is when privilege is changing into gatekeeping.

If you don’t agree with that, fine, but it’s still worth working on it for pragmatic reasons. All of my best-performing teams were those that were the most diverse. Having different perspectives, experiences and points of view enhances our design and our teamwork.


There are people in our industry that I tend to ignore in Architecture Weekly editions. I don’t want to give a platform to people who are attention seekers. They send hot takes, fire shots. Some of them hit the target, but most of them missed. I prefer an educated, pragmatic discussion and learning something instead of sending a Russian roulette of ideas.

One of those people is David Heinemeier Hansson. He’s quite famous for doing stuff that can be useful for him and presenting them as general solutions for the IT world problems. One of them was his Cloud Exit.

Today, I’d like to present you a reasonable, balanced analysis of that exit made by Forest Brazeal:

  • Forrest Brazeal - Wait, is cloud bad?

Read it to check why staying on-premise may be a valid solution for you, but only when you analyse it and your products’ and organisation's needs instead of just extrapolating DHH hot take.

The other person is Elon Musk. Besides the obvious lack of empathy, which is an issue, you never know whether his decision is a good move, or a whim. Nowadays, probably the latter.

He also decided to move Twitter X partially to on-premise. Which may be a good idea to some degree knowing its scale, but… They bragged about the results in their official engineering account. But this is how it looked like in real life:

  • TechDirt - The Batshit Crazy Story Of The Day Elon Musk Decided To Personally Rip Servers Out Of A Sacramento Data Center

As always: think for yourself, question authorities.


Continuing the migration story, but the other way around. Amazon, together with Zalando, migrated their storage from Cassandra to DynamoDB.

  • AWS Database Blog - How Zalando migrated their shopping carts to Amazon DynamoDB from Apache Cassandra

Migration out of Cassandra is quite a common trend. Not just because that’s a bad database. It’s really good, but because it’s costly to operate on a big scale. And big scale is what Cassandra was built for. Zalando wrote that:

Capacity planning and scaling the database both vertically and horizontally, together with managing backups and having a feasible disaster recovery plan, were other operational burdens on the team. Scaling considerations were especially challenging during high-throughput events such as Cyber Week, where we had to allocate two engineers just for the manual scaling of our Cassandra cluster.

And Zalando is not a small, underskilled organisation. I published his materials a few times. They decided to use DynamoDB because of:

  • Reduced operational and maintenance overhead

  • Introducing elasticity

  • Similar data partitioning and fewer changes in the existing source code

  • Faster disaster recovery

Of course, migration to DynamoDB by itself is not a general thing you should do, but analysing the matching with business, and organisation use cases can give you information if that’s something you should be doing or not. Read more to understand how Zalando built its migration strategy.

See also the great article explaining the reality of the DynamoDB modelling challenges:

  • Pete Naylor - Single table design for DynamoDB: The reality

It’s not so trivial as it’s glossed.


Having two full-time people to operate Cassandra is also the position that is needed quite often: Kafka Operator. It’s, again, a great tool, but not the cheapest to operate on your own.

The other downside of using it was that it didn’t have the proper messaging tools like queues, competing consumers, or dead letter queues. Seems that the Kafka team listens and provided Queues for Kafka under discussion:

  • Andrew Schofield - Queues for Kafka

  • Kafka - KIP-932: Queues for Kafka

Andrew Shoefield did a nice summary of the long consideration in the Kafka Improvement Proposal (KIP).

KIP-932 introduces a new kind of group called share groups. Share groups do not replace consumer groups. You choose which kind of group you want to use based on the consumption behaviour you desire.

The consumers in a share group work cooperatively together in a way that will be familiar to users of traditional message queues. You will be able to write Kafka consumer applications that use share groups to consume records from Kafka topics, and you can just scale up the number of consumers without having to worry about partitions. This is just like using a traditional message queue with multiple receiving applications.

It’s not yet clear whether it will be implemented, but I think having such capabilities is necessary to enable more advanced processing scenarios for Kafka.


Sounds like Generative AI is slowly getting to either a sanity check or maturity. The hype is getting slower and we’re getting numbers behind it. And those numbers are impressive but not great. Microsoft claims that it has a million paying GitHub Copilot users, but then there are reports that it’s still losing huge amounts of money.

  • TechRadar - Microsoft is reportedly losing huge amounts of money on GitHub Copilot

  • ZDNet - Microsoft has over a million paying Github Copilot users: CEO Nadella

It’s interesting to see if this business model is viable. Maintaining and running Large Language Models costs a lot. Generative AI has many use cases but is also limited in the scope of usage. Those tools will need to be more cost-effective and might not be as global usage as predicted.

Still, we already see that they helped in improving infrastructure and tooling that can be used for other scenarios. See, e.g. vector databases and what they can enable:

  • Developer Voices Podcast - Semantic Search: A Deep Dive Into Vector Databases (with Zain Hasan)

  • Olena Kutsenko - TensorFlow, Postgres, PGVector & Next.js: building a movie recommender


Look who’s back! Hackers stolen access tokens from Okta’s support account. If that reminds you something, then yes, year and a half ago exactly the same happened and we learned about that from Cloudflare. Not from Okta, they tried to hide it. And from whom we know it this time? Yes, from Cloudflare not from Okta.

  • Brian Krebs - Hackers Stole Access Tokens from Okta’s Support Unit

  • CloudFlare - How Cloudflare mitigated yet another Okta compromise

I was recommending Auth0 (that was bought by Okta) as my default identity management tool for startup, but having all of that, I will stop doing it…


We had a lot of discussion (and laughs) on the McKinsey report recently. It’s easy to dunk, not only because of content (which some parts are fair and correct) but also because of how big consulting companies work. It seems that the topic went even mainstream as John Oliver himself made a dedicated video in his Last Week Tonight show:

  • Last Week Tonight with John Oliver - McKinsey

Must watch!

Check also other links!
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

  • Forrest Brazeal - Wait, is cloud bad?

  • TechDirt - The Batshit Crazy Story Of The Day Elon Musk Decided To Personally Rip Servers Out Of A Sacramento Data Center

  • Mark Richards - Software Architecture Monday Lessons

  • AWS Database Blog - How Zalando migrated their shopping carts to Amazon DynamoDB from Apache Cassandra

  • Rebecca Parsons - How Will Evolutionary Architecture Evolve?

  • Eberhard Wolff — Software Architecture for Humans!

  • Maxime Sanglan-Charlier & Nick Tune - From Domain Boundaries to Software Architecture

  • Jez Humble, Holly Cummins - The Current State of Software Engineering

  • Joseph M. Hellerstein, Peter Alvaro - Keeping CALM: When Distributed Consistency is Easy

  • Mark Seemann - Do ORMs reduce the need for mapping?

  • Mark Seemann - Domain Model first

Distributed Systems

  • Andrew Schofield - Queues for Kafka

  • Kafka - KIP-932: Queues for Kafka

  • Gunnar Morling - Change Data Streaming Patterns With Debezium & Apache Flink | Decodable

DevOps

  • Clare Sudbery - Continuous Integration: That’s Not What They Meant

Databases

  • Pete Naylor - Single table design for DynamoDB: The reality

  • Developer Voices Podcast - Semantic Search: A Deep Dive Into Vector Databases (with Zain Hasan)

  • FerretDB - A truly Open Source MongoDB alternative

  • Electric - Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.

Frontend

  • Amy Kapernick - Your website does not need JavaScript

AI

  • Olena Kutsenko - TensorFlow, Postgres, PGVector & Next.js: building a movie recommender

Java

  • JarosÅ‚aw PaÅ‚ka - Bare metal Java

.NET

  • Khalid Abuhakmeh - How to use Testcontainers with .NET Unit Tests

  • Gérald Barré - Customizing the behavior of record copy constructors

  • Tim Deschryver - How to fully leverage Wolverine with its HTTP package

  • Patrick Smacchia - C# Record Explained

Coding Life

  • Oskar Dudycz - Women in IT

Product Design

  • Crisp Academy - Master Class with Marty Cagan

  • Pawel Huryn - How to Craft a Winning Product Strategy

Industry

  • Last Week Tonight with John Oliver - McKinsey

  • TechRadar - Microsoft is reportedly losing huge amounts of money on GitHub Copilot

  • ZDNet - Microsoft has over a million paying Github Copilot users: CEO Nadella

Security

  • Brian Krebs - Hackers Stole Access Tokens from Okta’s Support Unit

  • Rest of World - Signal President Meredith Whittaker on resisting government threats to privacy

4
Share this post

Architecture Weekly #151 - 30th October 2023

www.architecture-weekly.com
Share
Comments
Top
New
Community

No posts

Ready for more?

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