Archive for January 2022

Week 5, year 2022

  • Building Infrastructure Platforms - A lot of organizations are looking to improve the way their teams build on top of clouds by assembling their own preferred set of cloud components into an infrastructure platform. This allows product teams work with a consistent and curated set of services, rather than having to figure it out on their own. Poppy Rowse and Chris Shepherd have worked with several of these teams and put together some guidelines on how to do this successfully. They begin by outlining how to create a strategy for such a platform. [Martin Fowler]
  • Sponsored Post - Wynter, Pinecone, Kinsta, Bridgecrew, IP2Location, StackHawk, InterviewCamp.io, Educative, Stream, Fauna, Triplebyte [High Scalability]
  • Find out what infrastructure platform customers need - Poppy Rowse and Chris Shepherd continue their advice on building infrastructure platforms by discussing techniques to discover what platform users need and stress the importance of finding the Shortest Path to Value by onboarding them quickly. [Martin Fowler]
  • I tested it on production and I'm not ashamed of it - Testing on production usually appears in ridiculous stories. They may be only annoyances like getting questions from customers why they see… [Event-Driven by Oskar Dudycz]
  • EventStoreDB NodeJS gRPC client V3.0.0 - The EventStoreDB NodeJS gRPC client V3.0.0 has been released, bringing support for Persistent Subscriptions to the $all Stream, along with faster appending of events, and more. There are several breaking changes between this and the current v2 release, so be sure to check those below. For full details of how to use these new features (as well as all the existing ones) visit our documentation site. If you have any questions about the NodeJS client, feel free to contact us or ask a question on Discuss. Features Persistent Subscriptions to $all The client now supports persistent subscriptions to the $all stream, for server version 21.10 and greater. Visit the documentation for up-to-date details on how to use this feature. [Event Store blog]
  • Winning the IT Race With Initial D - Once again we can learn about IT strategy and architecture from popular culture: the engine room matters. [The Architect Elevator]
Permalink | From 31 January 2022 to 06 February 2022 | Last updated on: Tue, 25 Oct 2022 17:09:04 GMT

Week 4, year 2022

  • Live stream webinar: Oskar Dudycz and Mat McLoughlin migrating from TCP to gRPC - Migrating applications can be hard. Sometimes migrations can be complicated by unexpected errors or mismatched versions of software. It can be daunting when the application is new and there may be bugs in the system. [Event Store blog]
  • Designing Uber - This is a guest post by Ankit Sirmorya. Ankit is working as a Machine Learning Lead/Sr. Machine Learning Engineer at Amazon and has led several machine-learning initiatives across the Amazon ecosystem. Ankit has been working on applying machine learning to solve ambiguous business problems and improve customer experience. For instance, he created a platform for experimenting with different hypotheses on Amazon product pages using reinforcement learning techniques. Currently, he is in the Alexa Shopping organization where he is developing machine-learning-based solutions to send personalized reorder hints to customers for improving their experience. [High Scalability]
  • A simple trick for idempotency handling in the Elastic Search read model - Idempotency is a word worth watching out for. It’s easy to miss a few letters and bang, and we have a problem. It is also a general problem… [Event-Driven by Oskar Dudycz]
  • Stuff The Internet Says On Scalability For January 28th, 2022 - Never fear, HighScalability is here! Think your software diagram is complex? This is a single cell modeled using X-ray, nuclear magnetic resonance (NMR), and cryo-electron microscopy datasets. Gael McGill My Stuff: Love this Stuff? I need your support on Patreon to keep this stuff going. Know anyone who needs to fix their cloud-obliviousness? My book teaches them all they need to know about the cloud. Explain the Cloud Like I'm 10. It has 364 mostly 5 star reviews on Amazon. Here's a 100% antibody free review: Do you like Zone 2, Zone 5, interval, reHIT, or HIIT workouts? I made an app for that. [High Scalability]
Permalink | From 24 January 2022 to 30 January 2022 | Last updated on: Fri, 28 Jan 2022 23:05:54 GMT

Week 3, year 2022

  • Designing Tinder - This is a guest post by Ankit Sirmorya. Ankit is working as a Machine Learning Lead/Sr. Machine Learning Engineer at Amazon and has led several machine-learning initiatives across the Amazon ecosystem. Ankit has been working on applying machine learning to solve ambiguous business problems and improve customer experience. For instance, he created a platform for experimenting with different hypotheses on Amazon product pages using reinforcement learning techniques. Currently, he is in the Alexa Shopping organization where he is developing machine-learning-based solutions to send personalized reorder hints to customers for improving their experience. [High Scalability]
  • Two Phase Commit - Continuing his exploration of important patterns to maintain consistency across a cluster, Unmesh Joshi now looks at Two Phase Commit. It's broadly the most familiar approach, but comes with lots of complexities to make it work in practice over unreliable networks. [Martin Fowler]
  • Critical Aggregator - Business Leaders often need to make decisions that are influenced by a wide range of activity throughout the whole enterprise. To support this systems often have a what Ian Cartwright, Rob Horn, and James Lewis call a Critical Aggregator: a component whose job is to visit various other systems and pull this information together. A critical aggregator is important, but often metastasizes into an Invasive Critical Aggregator [Martin Fowler]
  • Using strongly-typed identifiers with Marten - Let’s say that you have the following class definition: Now you can create instance using: So far, so good. What if we accidentally mixed… [Event-Driven by Oskar Dudycz]
  • Improving data quality with Event Sourcing - In this article we'll take a look at a few different characteristics of data quality and how Event Sourcing can help companies improve the data quality in their software. [Serialized development blog]
  • Divert the Flow - Yesterday Ian Cartwright, Rob Horn, and James Lewis described the Critical Aggregator and how it can metastasize into an invasive form. When a legacy system has such an Invasive Critical Aggregator it's often best, if a little counter-intuitive, to Divert the Flow of data by building a new critical aggregator first. Once this is done, we have far more freedom to change or relocate the various upstream data sources. [Martin Fowler]
  • The Quest for Low-Code: 9 paths, some of which actually work - No-code, low-code has become a popular quest. Architects are called in to separate fact from fiction. No French were harmed. [The Architect Elevator]
Permalink | From 17 January 2022 to 23 January 2022 | Last updated on: Tue, 25 Oct 2022 17:09:04 GMT

Week 2, year 2022

  • Service Locator is not an Anti-Pattern - Well, it is, sometimes. It depends. I often get pushback on MediatR for using service location for resolving handlers, often getting pointed at Mark Seemann's post that Service Locator is an Anti-Pattern. And for all of the examples in the post, I agree that service location in those cases should [Jimmy Bogard]
  • Designing Instagram - This is a guest post by Ankit Sirmorya. Ankit is working as a Machine Learning Lead/Sr. Machine Learning Engineer at Amazon and has led several machine-learning initiatives across the Amazon ecosystem. Ankit has been working on applying machine learning to solve ambiguous business problems and improve customer experience. For instance, he created a platform for experimenting with different hypotheses on Amazon product pages using reinforcement learning techniques. Currently, he is in the Alexa Shopping organization where he is developing machine-learning-based solutions to send personalized reorder hints to customers for improving their experience. [High Scalability]
  • Replicated Log: synchronize multiple nodes with a write-ahead log - One of the core challenges in a distributed system is keeping the state synchronized across all the nodes, especially when neither the nodes, or the connections between them, are reliable. The core approach to handle with is a replicated log: using the write-ahead log pattern over the cluster. Unmesh Joshi shows how this works using its most common implementation: the Raft protocol. more… [Martin Fowler]
  • Should a programmer's creativity be shown in code formatting? - Each of us has at least a dose of creativity. I have always liked drawing. I wanted to make effective plays in football. Today, I play the… [Event-Driven by Oskar Dudycz]
  • Legacy Mimic: a new component that looks like an old one - Ian Cartwright, Rob Horn, and James Lewis are also back with the New Year with a couple more articles from Patterns of Legacy Displacement in the funnel for the next couple of weeks. This one describes a Legacy Mimic: a part of the new system designed to make the old system think that nothing has changed. more… [Martin Fowler]
  • Respawn 5.0 Released - I pushed out a new version of Respawn today: Release notes NuGet Enjoy! [Jimmy Bogard]
Permalink | From 10 January 2022 to 16 January 2022 | Last updated on: Fri, 14 Jan 2022 23:05:49 GMT

Week 1, year 2022

  • Designing WhatsApp - This is a guest post by Ankit Sirmorya. Ankit is working as a Machine Learning Lead/Sr. Machine Learning Engineer at Amazon and has led several machine-learning initiatives across the Amazon ecosystem. Ankit has been working on applying machine learning to solve ambiguous business problems and improve customer experience. For instance, he created a platform for experimenting with different hypotheses on Amazon product pages using reinforcement learning techniques. Currently, he is in the Alexa Shopping organization where he is developing machine-learning-based solutions to send personalized reorder hints to customers for improving their experience. [High Scalability]
  • Paxos: using two consensus-building phases to handle unreliable nodes - Unmesh Joshi is ready to start the New Year with a few more of his Patterns of Distributed Systems. With this one he attempts the tricky task of explaining Paxos. This is a well-known protocol developed by Leslie Lamport, for nodes to reach a reliable consensus when both they, and the network, are prone to unexpected failure. Although it's well-known, it's also notoriously difficult to understand, indeed we had considerable difficulty getting our heads around it. We hope this description makes it a bit easier for those who follow us. more… [Martin Fowler]
  • No, it can never happen! - “No, it can never happen!”. Have you heard this sentence before? For example, a user with the same e-mail address may not register, or the… [Event-Driven by Oskar Dudycz]
  • AutoMapper 11.0.0 released - As the title says, I pushed AutoMapper 11.0.0 today: Release notes NuGet 11.0 Upgrade Guide This is somewhat of a minor release but some API changes forced a major version bump. Also, starting with this version, AutoMapper drops support for full .NET framework, as this release targets [Jimmy Bogard]
  • MediatR 10.0 Released - MediatR 10.0.0 released today [Jimmy Bogard]
  • What’s in an (event) name? - When Juliet asked Romeo “What’s in a Name?” she was trying to wish away family history—the inheritance, customs, and all the feuding baggage that came with being a Capulet. A name is an arbitrary, agreed-upon label, but it often points to a lineage of events. [Event Store blog]
  • Contoso University Vertical Slice example updated to .NET 6 - As the title states, I updated the Vertical Slice example from .NET 5 to 6, migrating away from Startup, updating packages and in general updating to C# 10: Contoso University - Vertical Slices Enjoy! [Jimmy Bogard]
Permalink | From 03 January 2022 to 09 January 2022 | Last updated on: Fri, 7 Jan 2022 23:05:53 GMT