BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
As Bon Jovi once sang, "It's all the same, only the names will change." That seems to ring true for SOA, which...
for many application architects, developers and IT professionals evokes memories of the mainframe era, a time that many wish to relegate to the history books. According to industry experts, as terms like microservices and 12-factor apps emerge, the nomenclature may not signal the death of SOA -- just a new name.
"SOA is microservices," said Jeff Genender, CTO of Evergreen, Colo.-based Savoir Technologies, likening the new terminology to "lipstick on a pig." SOA acquired its bad reputation during the times of monolithic applications and botched implementations, and using a term like microservices is a way to get rid of the name and the bad connotations attached to SOA while still using the underlying principles, he added.
"It's not microservices vs. SOA, but the front-end GUIs that make better use of distributing the application as opposed to deploying a single package. That's really what's considered the differentiation," Genender said. This has been done with mashups for over a decade and the reason is mostly the same: more controlled mashups from the perspective of controlling APIs and what the GUIs do. Underneath it all, though, the architecture is a RESTful endpoint or SOAP endpoint that takes in data and pushes it out again, he said.
Microservices themselves emerged from the front-end Ajax revolution, where developers leveraged client-server implementations for Web applications to interface with the back-end, rather than using HTML. This allowed developers more leeway when choosing a front end to utilize their APIs, which was the differentiator that made microservices what it is today, according to Genender. However, it's still SOA underneath, particularly because a botched microservices implementation could easily look like a monolithic application once it's deployed, he added.
Burying the SOA name, but not the principles
SOA may be the architecture, but the connotations of the name are constraining enough that Los Angeles-based SOA Software recently changed its name to Akana, according to Roberto Medrano, executive vice president. While Akana will combine SOA, microservices and cloud integration, it still supports the SOA vision, as well as API management and security, he said.
Matt Brasierprincipal consultant, C2B2
SOA isn't going anywhere: As an architecture, its reusability and agility will continue to be valuable, Medrano said. Although a lot of developers are using Web services and APIs, everything is a service and will continue to be a service, depending on how it's implemented and consumed, he added.
Although microservices isn't the same as SOA in terms of services management and security, it can happily co-exist with SOA, according to Alistair Farquharson, CTO of Akana.
"They're not the same granularity; microservices focuses on the 'micro' part," he said. This allows developers to break down applications for scalability, load balancing and increased throughput, but also raises questions about breaking up the data models and maintaining consistency. Much of microservices is the deployment methodology, he added.
Microservices may become the new SOA
A new buzzword causes developers and architects to shed the old skin of SOA -- but it's possible to use microservices for the wrong reasons, according to Farquharson. "People are building microservices for the sake of microservices, instead of creating a good microservice," he said. As with APIs, developers and architects may think they can fix an application with microservices, but instead end up with a more complicated and poor application. "People who wrote bad applications are not going to write good microservices," he said.
As for 12-factor apps, that's nothing new, according to Savoir Technologies' Genender. "It looks like you've got the stamp of SOA and re-stamp of microservices," he said. Essentially, 12-factor apps is just another way to say it, because it details the methodology for correct SOA and microservices, he added.
"It reminds me a lot of the pragmatic programmer manifesto," said Matt Brasier, principal consultant at U.K.-based C2B2. "A lot of what is said is common sense, separating configuration from the code."
However, 12-factor apps then goes into prescribing implementation decisions, rather than leaving it to the application developers, as well as discussing code and integration. There are better ways -- often at the discretion of the developer, according to Brasier. "It's odd to mix in implementation with architectural principles," he added.
The final verdict is that SOA is not dead, just playing the Cyrano de Bergerac to microservices' Christian de Neuvillette. "It's trendy to say SOA is dead, but then you're going to use the same principles, same underlying technologies and same approaches," Brasier said. The failures caused by enterprise service buses being pushed into projects that weren't a good fit mean that developers and application architects can't use the term SOA around managers, so it's now a rebranding exercise, he added.
"It's a rebranding of the same principles to sound new and exciting," Brasier said. But microservices and 12-factor apps will meet the same fate as SOA: applied where they don't fit -- and forced to rebrand again.
Will microservices bring agility to SOA?
Discover how developers are going with the microservices flow
Learn why microservices is more than just some buzzword
How will SOA keep up with the connected-everything trend?