Microservices is the philosophy of designing software programs by breaking what used to be a singular function or command into multiple components, known as services. The ultimate goal is to reduce complexity and increase speed (basically the goal of anything nowadays).
Think of Thanksgiving. A traditional approach would have the same person cook the entire meal. And likely even do all the dishes. Think of a world instead where you can assign different individuals (and ovens!) for cooking the turkey, gravy, mashed potatoes, stuffing and anything else that may grace your table.
Microservices delivers on this dream but also takes the principle to the next level. Not just breaking up the request (multi-course dinner) into multiple services (turkey, salad, not burning the garlic bread) but making them really really minute.
“Services” that used to be inherently linear can now happen concurrently. To go back to our Thanksgiving example, you could have the potatoes peeled at the same time they’re being mashed. If we were able to avoid running into one another (part of the magic of software over families in kitchens) everything would become very efficient.
Want to learn more? Check out these sources:
- https://en.wikipedia.org/wiki/Microservices (although you probably could have found this on your own)
Terminology Tuesday is a new blog series. What would you like to hear defined? Let us know in the comments or, as always, reach out to @vmwarensx.