Skip to content
#Architecture

I Made Everything Loosely Coupled. Does My App Fall Apart? (Category Architecture)

#Architecture #EDA #Conference #SoftwareArchitecture #DistributedSystems #SystemDesign

This keynote performance by Gregor Hohpe was at the goto conference as part of EDA Day (event-driven architecture). Gregor Hohpe himself. 20 I wrote a book years ago.Enterprise Integration Patterns" As part of this talk, Gregor discusses many issues:

  • Doing intro at EDA.
  • Discusses the role of an architect and says that they don't just draw beautiful pictures, but rather think in a certain format and talk about what "thinking like an architect" looks like: Architects make sketches, not blueprints Architects see more dimensions from different perspectives. Architects can change the scale of abstraction (zoom in & zoom-out) Architects avoid absolute statements and distinguish shades of gray (Understand how tradeoffs work)
  • Moves to the discussion of drawing boxes & lines and shows why the arrows that link boxes are important. The point is that it is the arrows that determine how the components are related. Next, the author examines what technologies can really underlie boxes and how we have control over them. And besides, how do these cubes match for teams? Makes zoom in to discuss how lines are drawn in architecture. What the line under the hood means: data or control flow, interaction model, sync/async, polling, pub/sub or point-to-point, and so on. Next, he gives advice on separating your approach to architecture from choosing the specific technologies and products you’ll use to implement it. Then comes the connection and coupling discussion. Coupling is a measure of independent variability between connected systems, he goes on to say that decoupling has a price and that it is not black and white, but multidimensional. Here, the author discusses the use of buzzwords and decision-making - conditionally, which gives loose coupling: -- limit change radius (at design time)Higher agility and velocity -- limit error radius (at runtime)Reliable, tolerant operations He further advertises Vlad Hononov's future book Balancing coupling in software design and concludes that "the appropriate level of (design-time) coupling depends on the level of control you have over the endpoints" Then go talk about messages and events. Here the author recalls his definition of messaging from the above book. Events are a special type of messages with a certain semantics. There are also commands and documents. Next, the author recalls the semantics of channels through which the exchange of messages and events takes place. Next, we discuss how producers and cosumers match, how logic is organized in the form of orchestration or complex event processing. Well, at the end, the author shows how you can make EDA systems in a cloud style with the use n AWS CDKwhere the author does not write the application code, but the integration code and reflects in the terms described above. This is what the author calls everything loosely coupled:)

#EDA #Conference #SoftwareArchitecture #Architecture #DistributedSystems #SystemDesign