Architecture Weekly

Share this post

Architecture Weekly #98 - 24th October 2022

www.architecture-weekly.com

Architecture Weekly #98 - 24th October 2022

Oskar Dudycz
Oct 24, 2022
2
Share this post

Architecture Weekly #98 - 24th October 2022

www.architecture-weekly.com

Welcome to the new week!

Martin Fowler is less active than before. Still, it’s always worth reading his thoughts once they’re out. He recently wrote about a topic vital to me: Conway’s Law. Mel Conway wrote:

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

Teams that cannot cooperate won’t create correctly working software. Moreover, we’ll see all the communication and organisational issues transpiled into our software design. I wrote on this longer in Sociological aspects of Microservices. Technical issues are much easier to solve than organisational ones. More often I saw projects failing because of such issues.

Still, there’s hope, if we’re able to focus and work on the sociotechnical aspects, of our organisational culture, then we can also make the inverted effect. Event-driven design, with its focus on communication and autonomy, can enable and trigger cross-team collaboration. I wrote about that in How using events helps in a teams' autonomy.

Still, creating that it’s not so easy. Read more in:

  • Mathias Verraes - Conway’s Law Doesn’t Apply to Rigid Designs.

Luckily, we can have decent communication in our community. As most of my career is related to coding in .NET, I have always wanted to try F#. I like its concise syntax and precision in defining the type-driven approach. Two weeks ago, I wrote about testing business logic in Event Sourcing and how my testing library called Ogooreck can help you with that. I thought that this could be a decent chance to try F#. I decided to port my samples and see how Ogooreck’s API goes with it. When I did, I asked the community for feedback, and I got it. Thanks to superb input from the community in my PR learned a lot. I love the vibe in the F# community and the willingness to help such noobs like me. See a summary of what I learned:

  • Writing and testing business logic in F#

Testing is super important; we’re finding more and more ways to do that. It’s becoming more important to not only do unit tests but also enable observability and be able to make them in environment close to production precisely. See intriguing takes on joining observability with tests:

  • George Kinsman - Improving Test Observability with Fixie+Seq

  • Martin Thwaites - Monitoring Unit Tests with OpenTelemetry in .NET

See also how the biggest frameworks like Java Spring Boot are dealing with observability:

  • Marcin Grzejszczak - Observability with Spring Boot 3

Being able to see the flow, how messages are handled, and tracing business flows are essential in messaging. Operations like deduplication, publishing and integrating events between services are especially vulnerable to edge cases. See more on how to effectively facilitate the message flow:

  • Andrzej Ludwikowski - Message delivery and deduplication strategies

  • Gunnar Morling - Open-source Change Data Capture With Debezium

Don’t also forget to join my workshop with Practical Introduction to Event Sourcing!

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

  • Martin Fowler - ConwaysLaw

  • GitLab - What are the benefits of a microservices architecture?

  • Andrzej Ludwikowski - Message delivery and deduplication strategies

  • VirtualDDD - Exploring Techniques For Modelling Bounded Context Collaboration

  • Thomas Pierrain - Is DDD right-wing?

Distributed Systems

  • Jack Vanlightly - Understanding How Apache Pulsar Works

DevOps

  • Florin Lipan - The smallest Docker image to serve static websites

Databases

  • Gunnar Morling - Open-source Change Data Capture With Debezium

  • P. Bailis, A. Fekete, M.J. Franklin, A. Ghodsi, J.M. Hellerstein, I. Stoica - Coordination Avoidance in Database Systems

  • David Rowley - Partition Elimination in PostgreSQL 11

  • PostgresPro - SQL/JSON patches committed to PostgreSQL 15!

Testing

  • Toxiproxy - A TCP proxy to simulate network and system conditions for chaos and resiliency testing

AI

  • Chris Schneider - Test-driven development and AI machine learning

  • Sarah Drummond - The future is what you think it is

Java

  • Marcin Grzejszczak - Observability with Spring Boot 3

  • Arch Unit - A Java architecture test library, to specify and assert architecture rules in plain Java

.NET

  • Oskar Dudycz - Writing and testing business logic in F#

  • George Kinsman - Improving Test Observability with Fixie+Seq

  • Martin Thwaites - Monitoring Unit Tests with OpenTelemetry in .NET

  • FsCheck - Random Testing for .NET

Node.js

  • Node.js - Node.js 19 is now available

Tools

  • Bebop - An extremely simple, fast, efficient, cross-platform serialization format

Management

  • Amy Rigby - How to write a project status report that works for your team

Industry

  • GitHub - GitHub for Startups is generally available

  • Open Core Ventures - Preventing the bait and switch by open core software companies

Security

  • InfoQ - Two New Git Vulnerabilities Affecting Local Clones and Git Shell Patched

  • Dominick Baier - OAuth – the good Parts

  • WAM BAM - Recovering Web Tokens From Office

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 #98 - 24th October 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