

Discover more from Architecture Weekly
Architecture Weekly #124 - 24th April 2023
Welcome to the new week!
Learning the hard way is the way you remember the learnings the most. It’s done the hard way, and you want to avoid scars. But does it have to hurt always? You can learn from experts and avoid some of the painful mistakes. That’s what we are going to do on Tuesday!
Radek Maziarka will do an exclusive webinar about “Modularization with Event Storming Process Level” for our community.
Radek wrote about his workshop:
"Typically we tend to modularize by business processes. It's the easiest way, but on multiple occasions, it can lead us astray. We end up with data divided into various places and communication multiplicated. There must be another way to achieve modularization! And there is. During our Event Storming Process Level session we will use different modularization heuristics to achieve better autonomy and more cohesive communication. We will use these techniques on an actual domain - Bike Rental - to prove their validity. We will finish our session by defining a bounded context and communication across the system."
Radek is one of the biggest authorities in the Polish community around Event Storming and an expert in designing digital products and engineering processes in organizations. See also more on his webpage: https://radekmaziarka.pl/o-mnie/.
Curious?
Become a paid subscriber and join us live!
Integrations have different names, shades and colours, but only one adjective: challenging. Trying to glue systems together requires matching two visions into one. That’s never easy, as different tools have different purposes, and authors cannot predict all the permutations that users can come up with. But no one said that all has to be easy, right? And no one said that we could not try to make it easy.
We’re trying to achieve that in Marten, making the event-driven world accessible. I wrote today on how to forward changes from Marten to your favourite messaging system using the Event-Carried State Transfer pattern.
Another aspect that sounds like a commodity but is always challenging because of too many options and components to integrate is Load Balancing. Read a great guide about what it is and why that matters:
Too many moving pieces and too many options, and accidental complexity may also be an option why The NewStack claim that DYI Kubernetes usage is declining. At least the survey says so:
My personal take is that Kubernetes will be an infrastructure level for platforms on which we’ll be doing, as it’s still too low level for most people.
Understanding the hype cycles and, in general, lifecycles is also essential for making the right architectural decisions. Slack recently shared their process and how they reason about it. See:
If you want to start your technology lifecycle with Java, check a decent guide on what’s hot and what’s not.
AWS is finally jumping into the generative AI bandwagon. The more, the merrier:
From the intriguing connections, Elastic is joining forces with Open Telemetry. The announcement is long, but it’s not showing all layers of this agreement, so it’s worth observing it and how that’ll impact the initiative that has no vendor locking in its goals.
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
Dan Bergh Johnsson - The Power of Value - Power Use of Value Objects in Domain Driven Design
Tobias Mende - The Inverse Conway Manoeuvre in Existing Systems – It does not work!
JSON Schema Store - A collection of JSON schema files including full API
DevOps
Databases
Frontend
Testing
AI
AWS - Announcing New Tools for Building with Generative AI on AWS
Semantic Kernel - Integrate cutting-edge LLM technology quickly and easily into your apps
Azure
Java
Gunnar Morling - Getting Started With Java Development in 2023 — An Opinionated Guide
Roni Dover - Not Your Grandfather’s Logs — A Java Library’s New Approach To Observability
JavaScript
.NET
VaultSharp - A comprehensive cross-platform .NET Library for HashiCorp's Vault
DistributedLock - A .NET library for distributed synchronization
João Antunes - Contract first OpenAPI development (but still use Swagger UI with ASP.NET Core)