I’m always a bit curious about what happens to technology after it settles in. When you clear away hype and pass through the trough of disillusionment, what’s left? What will history say about this new whatsit?
Service-oriented architecture (SOA) was one of those highly controversial innovations a few years ago. It went through a very high hype cycle, then fell into an equally low trough of disillusionment. (Does anybody know if there’s some sort of inverse relationship?) Then, in 2009, Anne Thomas Manes declared it dead as a business issue, and she was pretty much right, because it soon dropped out of the trades and off the marketing literature.
So, where is SOA now? Joe McKendrick, who covers SOA religiously, recently shared an insightful write-up he’d found by Will Larson, a software engineer and technical leader well-versed in building full service-oriented architectures.
Larson examines two implementations he is working on — SOA at Digg and SOA at Social Code. Then, he extrapolates five lessons he’s learned about SOA. What’s great about his list is that he’s very specific about when an approach works and when it doesn’t. For instance, he points out that SOA can be a bad choice if you’re going for high performance and a quick ramp-up. SOA can move mountains, Larson writes, but it’s not for everybody:
“My gut feel is that small teams seeing massive performance wins from moving to a SOA could probably have gotten those same wins through any system rewrite/overhaul, and that the SOA is a bit of a red herring.”
Then again, SOA is great in enterprises, where you have large teams and a need for scale. That’s when SOA pays off, thanks to defined interfaces that “reduce communication and breakage costs,” he writes. That’s because the interfaces add a layer of abstraction that “makes it possible to incrementally invest into quality without any additional cross-team coordination.”
Larson’s piece is a fantastic read for the more technically minded among you, such as architects and software developers or their managers. For the more strategic-minded readers, such as CIOs or even business leaders, McKendrick’s post identifies the essential lessons for a successful SOA.