Queues invert control flow but require flow control
Queues are key elements of any asynchronous system because they can invert control flow. Their ability to re-shape traffic enables high-throughput systems that behave gracefully under heavy load. But...
View ArticleControl Flow—The Other Half of Integration Patterns
When describing messaging systems, it's natural to focus on data flow. However, control flow is what gives those systems their critical runtime properties like resilience or low latency. It's time to...
View ArticleEvent-driven = Loosely coupled? Not so fast!
Event-driven architectures (EDAs) are frequently pitched as loosely coupled, when compared to other forms of integration. Coupling is a multi-faceted and nuanced property, so as architects we should...
View ArticleThe Many Facets of Coupling
Coupling is integration's magic word. Despite entire books being written on the subject, it's still widely recited as a "loose coupling is good" mantra. Coupling deserves better, so let's clarify the...
View ArticleServerless Loan Broker @ GCP
Do serverless solutions lock you in? Let's find out by porting / rebuilding the Serverless Loan Broker on top of Google's Cloud Platform (GCP).
View ArticleServerless Loan Broker @ AWS, Part 5: Integration Patterns with CDK
Infrastructure as Code (IaC) brings repeatability into the provisioning and deployment of cloud applications. However, the vocabulary used by most automation tools describes cloud platform resources as...
View ArticleServerless Loan Broker @ AWS, Part 4: Automation
Infrastructure as Code (IaC) has a whole new meaning for serverless applications. Rather than provision resources (the serverless frameworks do that for us), automation determines the system...
View ArticleServerless Loan Broker @AWS, Part 3: Publish-Subscribe with SNS
Part 3 of the mini-series on implementing the EIP Loan Broker as a serverless solution with AWS Step Functions uses a Publish-Subscribe Channel and a stand-alone Aggregator to request and process loan...
View ArticleLoan Broker @AWS, Part 2: Recipient List
In part 2 of this blog series I implement the Loan Broker Example using a Recipient List pattern, implemented in DynamoDB, Step Functions, and Lambda.
View ArticleLoan Broker Implementation with AWS Step Functions
A lot has happened since we implemented the Loan Broker Example in EIP: we have the cloud, serverless computing, machine learning, service meshes and all sorts of other bells and whistles....
View ArticleServerless Integration Patterns on Google Cloud Functions
After examining which patterns are embedded in Google Cloud Pub/Sub in an earlier post, I implemented a few common patterns on top of Google Cloud Functions, Google's serverless implementation. It's...
View ArticleModern Examples for Enterprise Integration Patterns
Enterprise Integration Patterns are timeless as underlined by the fact that the book keeps selling well over 13 years after its publication in 2003. However, the code examples haven't aged quite as...
View Article37 Things or "Where have all my ramblings gone?"
About two years ago, I revived the ramblings from a four-year hibernation. Upon resurrection, the ramblings started to take a broader scope, including not only messaging, conversations, and patterns,...
View Article25 Years of OOP
OOP is one of the conferences that originated in the "OO" era of the early to mid-nineties. While most of these events have shed the double "O" -- OOPSLA has become SPLASH and JAOO has become GOTO, OOP...
View ArticleHow to Scale an Organization? The same way you scale a system!
The digital world is all about scalability: millions of web sites, billions of hits per month, more data, more tweets, more images uploaded. To make this work, architects have learned a ton about...
View ArticleThe Architect’s Penthouse Bookshelf
When you hitchhike through the galaxy, a towel will generally do. To ride the you need to be a bit better equipped. Riding the elevator up and down is exciting and provides tremendous value to the...
View ArticleIf software eats the world, you better use version control!
As I recently observed, Corporate IT tends to be afraid of code: code is where all the pesky bugs come from, which have to be fixed by quirky, expensive, and unreliable developers or external...
View ArticleIf you never kill anything, you will live among zombies. And they will eat...
Corporate IT lives among zombies: old systems that are half alive and have everyone in fear of going anywhere near them. They are also tough to kill completely. Worse yet, they eat IT staff's brains....
View ArticleMovie Star Architects
I recently wrote about architects and the role they play in large organizations. Still, the question often remains what an architect should be doing besides "riding the elevator". Let's try another...
View ArticleVirtualization Matryoshka
IT loves virtualizing stuff, following the old rule that in computer science every problem can be solved by just one more level of indirection. Cloud computing is based on virtualization of compute...
View Article