As much as I like the microservices concept (*) the name does not really make sense to me.
Why would decoupled services necessarily need to be micro?
Focusing on a service’s size is the wrong crusade for me, I’m happy as long as a service does one thing and one thing well – but that thing might be too large for a micro service.
We had good discussions about this with my colleagues and on Twitter recently, and after some virtual brainstorming it’s my good Apache friend Santi Gala who came up with the Federated Services term (worth a drink-of-your-choice Santi of course, next time we meet!).
I think this describes what we are after much better. Rightsizing makes much more sense than necessarily making things very small.
So here we go, with a Twitter-compatible less-than-140-characters definition:
Federated Services are independently deployable, scalable and swarm-friendly software components with language agnostic interfaces.
That’s it. I don’t think we need more than that to define those services.
(*) I’m working on a blog post about some elements the history of service oriented systems with another good Apache Friend. Stay tuned!