Archive for March 2022

Week 13, year 2022

  • Think in verbs! Discovering event-driven architecture - Let’s take a deeper dive into how thinking in verbs leads to the use of event-driven architecture, and just how succinct, elegant, practical, and meaningful we can be when we use Serialized’s API platform to implement our action-focused ideas. [Serialized development blog]
  • Transitional Architecture - The core to a successful legacy displacement is the gradual replacement of legacy with new software, as this allows benefits to delivered early and circumvents the risks of a Big Bang. During displacement the legacy and new system will have to operate simultaneously allowing behavior to be split between old and new. Ian Cartwright, Rob Horn, and James Lewis explain how to build and evolve a Transitional Architecture that supports this collaboration as it changes over time. For this to work, intermediate configurations may require integrations that have no place in the target architecture of the new system. Or to put this more directly - you will have to invest in work that will be thrown away. [Martin Fowler]
  • Twelve things I learned about Java during my last code review - As I have mentioned to you many times, I like to test different approaches, technologies and solutions. I may not have told you yet that I… [Event-Driven by Oskar Dudycz]
Permalink | From 28 March 2022 to 03 April 2022 | Last updated on: Mon, 24 Oct 2022 23:19:31 GMT

Week 12, year 2022

  • Eventsourcing Patterns: Multi-temporal Events - Multi-temporal Events Within a Domain Event, use separate timestamps to distinguish when the event occurred and when it was captured. Problem A Domain Event typically has a timestamp. A common pattern is to have the eventstore add the timestamp at the moment when the event is written. For example, there could be a database field named recorded_at, with a value that defaults to now(). The field is considered part of the metadata of the event (as opposed to the domain-specific payload). The field is accessible in the userland code that consumes the event, and can be used for infrastructural tasks (such as ordering the events chronologically) or domain-specific operations, projections, analytics… This is fine in many situations. [Mathias Verraes]
  • Building NServiceBus Metrics with OpenTelemetry and System.Diagnostics.Metrics - The release of System.Diagnostics.DiagnosticSource version 6.0 a few months back brought something entirely new to the library - support for OpenTelemetry Metrics. Since this package releases out-of-band from the .NET 6 SDK, it also means you can use these new metrics APIs in any application targeting .NET [Jimmy Bogard]
  • Small rant about the Software Design - Some time ago, I listened to an enlightening episode of Scott Hanselman’s podcast on how to teach computer science. The guest was Maria… [Event-Driven by Oskar Dudycz]
  • NServiceBus.Extensions.Diagnostics 2.1 Released - From the previous post on building NServiceBus metrics, I've pushed a new version of the NServiceBus.Extensions.Diagnostics and OpenTelemetry packages. As before, the OpenTelemetry packages are just small wrappers around TracerBuilderProvider. [Jimmy Bogard]
  • Domain-Driven Design Applied - I joined Alex Bolboacă on his podcast ‘Think. Design. Work Smart.’ We discussed DDD, the value of models, misconceptions about DDD (it’s not a Big Design Upfront method!) and more. [Mathias Verraes]
  • Why ZooKeeper Was Replaced with KRaft – The Log of All Logs - Why replace ZooKeeper with an internal log for Apache Kafka® metadata management? This post explores the rationale behind the replacement, examines why a quorum-based consensus protocol like Raft was utilized and altered to become KRaft, and describes the new Quorum Controller built on top of KRaft protocols. [Confluent Blog via Aggregater Linklog]
  • NServiceBus.Extensions.Diagnostics 2.1 Released - From the previous post on building NServiceBus metrics, I've pushed a new version of the NServiceBus.Extensions.Diagnostics and OpenTelemetry packages: NServiceBus.Extensions.Diagnostics NuGet NServiceBus.Extensions.Diagnostics ReadMe NServiceBus.Extensions.Diagnostics.OpenTelemetry NuGet NServiceBus.Extensions.Diagnostics.OpenTelemetry ReadMe As before, the OpenTelemetry packages are just small wrappers [Jimmy Bogard]
  • Building NServiceBus Metrics with OpenTelemetry and System.Diagnostics.Metrics - The release of System.Diagnostics.DiagnosticSource version 6.0 a few months back brought something entirely new to the library - support for OpenTelemetry Metrics. Since this package releases out-of-band from the .NET 6 SDK, it also means you can use these new metrics APIs in any application targeting .NET [Jimmy Bogard]
Permalink | From 21 March 2022 to 27 March 2022 | Last updated on: Mon, 7 Aug 2023 22:06:33 GMT

Week 11, year 2022

Permalink | From 14 March 2022 to 20 March 2022 | Last updated on: Sun, 26 Feb 2023 12:36:53 GMT

Week 10, year 2022

  • Event Store TCP client has been deprecated [Event Store blog]
  • Event Store versioning strategy: a few adjustments - In 2019 we updated our release process to include a Long Term Support (LTS) each year in October. This helped bring an improved level of predictability to our releases and version support that has been very well received by our customers. [Event Store blog]
  • Event Store: On-premise or Cloud - These days, security has become essential to modern data management. Every data-centric business is becoming more vulnerable to ever-more-sophisticated cyber attacks. With changes to modern working, security protocols also need to accommodate these new environments; with more companies embracing a distributed workforce across multiple time zones, data needs to be accessible from potentially anywhere in the world. [Event Store blog]
  • Our road to cyber security certification: We did it! Lessons learned - I haven’t posted anything in recent months, for a good reason: I was super focused and busy with our final steps towards our certification. And it worked, we achieved the certifications! [Event Store blog]
  • 21.10.2 Release Notes - We are pleased to announce the official release of EventStoreDB OSS & Commercial version 21.10.2 long term support (LTS). This is a patch release that contains important fixes and changes made after the 21.10.1 LTS release. [Event Store blog]
  • Bottlenecks of Scaleups: How did you get tech debt? - In its early days, a startup searches for a good product-market fit. When it finds one it looks to grow rapidly, a phase known as a scaleup. At this time it's growing rapidly along many dimensions: revenues, customer, headcount. At Thoughtworks, we've worked with many such scaleups, and our work has focused on how to help them overcome various bottlenecks that impede this growth. As we've done this work, my colleagues have noticed common bottlenecks, and learned approaches to deal with them. This article, by Tim Cochran and Carl Nygard, is the first in a series that examines these bottlenecks, in this case looking at the problem of a startup accumulating technical debt. [Martin Fowler]
  • How to get out of the tech debt bottleneck - Tim Cochran and Carl Nygard finish their examination of the tech debt bottleneck by looking at how to get out of it. This includes close collaboration betwen product and engineering, a strategy for the four phases of a startup's journey, and empowering teams to fix the tech debt problems. [Martin Fowler]
  • How to ensure uniqueness in Event Sourcing - “How do I ensure uniqueness? For example, a unique username or an invoice number.” That’s usually one of the first questions I hear from… [Event-Driven by Oskar Dudycz]
  • How scaleups get constrained by talent - The second bottleneck in the series looks at talent, and how scaleups struggle to hire enough good people. Tim Cochran and Roni Smith explain how the small network and informal processes that allow early stage startups to grow begin to fail during the scaleup phase, and what signs indicate a new approach is needed. [Martin Fowler]
  • A (Hopefully) Gentle Introduction to Serialized and Event Sourcing - In this article Raymond Camden explores Serialized and takes us though his journey of how Serialized could be used to build a CMS using Event Sourcing. [Serialized development blog]
Permalink | From 07 March 2022 to 13 March 2022 | Last updated on: Mon, 24 Oct 2022 23:19:31 GMT