Get updates to your emailSubscribe
Soacrates, Apistocles (better known by his nickname “Platfo”) and Agilestotle are employees in the technology organization of Mu Corporation. Soacrates is an enterprise architect grappling with how Microservices compares to Service Oriented Architecture (SOA), a school of thought he has been championing at Mu for several years. Platfo has been leading Mu’s cloud initiatives and trying to turn Mu’s applications and infrastructure into a platform. Agilestotle is a ScrumMaster and advocate for Mu’s Agile adoption. They wait in a conference room for a “Lunch & Learn” to be delivered by their peer, Connie. The topic is “An Intro to Microservices”.
Soacrates: What is Microservices anyway?
Soacrates: I beg your pardon?
Platfo: What are Microservices.
Soacrates: That’s what I was asking you!
Agilestotle: Guys! [Knock at door.] Oh wait, the food is here…
Platfo: I’ll get that… [Opens door.]
Pizza Delivery Person: Here you go – two pizzas with feta, olives and tomatoes.
Agilestotle [paying]: Here you go, keep the change. It’s inevitable.
Platfo: Kind of funny, don’t you think?
Soacrates: What is?
Platfo: Are. Two Greek pizzas, delivered by a Roman.
Soacrates: How do you know he was a Roman?
Platfo: His nametag. It said “Continuus”.
Agilestotle: Guys! Grab a slice, Connie will be here soon.
Soacrates: So, as I was saying, I don’t know what the big deal is with Microservices. There’s nothing new about it.
Platfo [aside]: Them!
Soacrates: I’ve been talking about building business systems through reusable services for over 10 years. What everyone calls a monolith now, we called a silo. And I too used the spaghetti analogy. But nobody wanted to do what I told them they needed to do, even when I told them what would happen to them if they didn’t. We already had the security and orchestration figured out.
Platfo: No, you’re missing the point. That bloated ESB you kept trying to make everyone use was a monolith itself. There’s a reason they’re called “micro” services. Things need to be lean. And decentralized. Microservices are simple Node-based apps, with self-contained data stores, deployed through Docker, communicating over lightweight protocols like HTTP and AMQP. We need new methods of protecting and orchestrating these types of services.
[Connie quietly enters the room unnoticed.]
Agilestotle: Guys! You’re both wrong. Microservices isn’t about what technology you’re using. It’s about empowering teams to develop at their own pace. It’s about removing dependencies across teams. It’s the right way to design applications that can be built and run by a small team; a team made up of the business people, the developers and the operators.
Soacrates, Platfo and Agilestotle [together]: Oh!
Connie: Are you guys finished? If so, you’re all right. Microservices is all of those things.
Platfo [quietly]: Are.
Connie: But you’re all wrong too. To be beneficial, Microservices can’t be just one of those things. And it can’t be all of those things either, if your organization doesn’t have the right foundation in place. Because we all know the system will mimic the organization, right? Anyway, let me grab a slice of pizza and then we can begin…
Matt McLarty is an experienced software architect who leads the API Academy at CA Technologies. He helps organizations with their strategy and architecture for APIs, microservices and enterprise integration. Matt recently co-authored the book Microservice Architecture for O’Reilly, with his API Academy colleagues.
The lack of common concepts and axioms is holding the software engineering industry back. This blog post explores the need for a common distributed systems vocabulary to help with that problem.
Matt McLarty on Aug 10, 2018