What are microservices?
You have websites, you have mobile apps, and you have microservices. Where do the latter fit into it all?
Written by Vegard Ottervig on
Imagine that you are building Legos. You have several pieces, or building blocks, which you can use to build whatever you like—be it buildings, vehicles, furniture, tech, or whatever else crosses your mind. Now imagine a world where Lego consisted of just one, prefabricated piece—with no customization, flexibility, or imagination for the end user.
In the world of digital experiences the latter was actually (more or less) the reality. Historically, what we saw in digital systems like CRMs, CMSs, ERPs, and all the other abbreviations were a large lump of solutions welded together into one big and integrated system. This type of system is often called a "monolithic architecture."
Microservices function like the individual Lego blocks: They are isolated services, allowing you to split up, modularize, upgrade, and develop them independently of each other—enabling faster and safer development. Still confused? Let's see a formal definition.
"Microservices" refer to a method within software system architecture where an application is structured as a collection of separate services. These services are highly maintainable and testable, loosely coupled, independently deployable, and organized around business capabilities.
An application may refer to computer software like word processors, spreadsheets, accounting applications, web browsers, media players, flight simulators, or console games— or web applications like computer programs that run in a web browser, which includes webmail, online retail sales, online auctions, social media, image editors, and other advanced websites.
These applications involve many complex processes, operations, and interactions, and a microservices architecture makes the various parts of an application, and the application as a whole easier to understand, develop, test, and maintain.
Although we have listed several general examples of applications using microservices above, software company SmartBear has provided us with some specific examples:
Amazon: Amazon has moved far beyond being just an online bookstore. Now they offer, among other things, cloud services and a microservices framework through Amazon Web Services. Their microservices solution offers processing power, storage and databases, networking, messaging, logging and monitoring, and DevOps.
Netflix: The former DVD-rental-vendor-turned-video-streaming-service is among the forefront of the world's leading digital companies. You can understand why when you learn that the architecture every day receives one billion requests from more than 800 different types of devices, while hundreds of microservices work together to stream digital entertainment to millions of customers.
eBay: The world's largest market and auctioning site has also changed from a monolithic architecture to an architecture comprised of microservices. eBay's core application is made up of several autonomous applications, where each executes the business logic for different functions—like application types, commerce services, platform services, and infrastructure.
A microservices architecture will make it easier to perform changes to your solution, as you no longer have to change the entire structure. This will make it easier to keep track on current technological developments in the fast-evolving world of IT.
There is also less chance for a single point of failure, as the solution has more legs to stand on, and a failure of one separate microservice is easily traced and highlighted. Microservices finally enable your developers to work with modern front-end frameworks, like Next.js, Angular and React.
So, the key takeaway is: don't build Legos with one prefabricated, enormously complex piece—be smart and try to build your desired solution with several building blocks instead. It gears you up for the future and can make your solution more resilient and flexible.
First published 13 March 2019, updated 17 August 2022.
Applications organized as a collection of separate services—as opposed to a monolithic system where every function and code is welded together.
They make it easier to perform changes to your solution and to keep track of current tech development, while having less chance for a single point of failure.
A too fragmentary architecture may lead to a bigger challenge for DevOps, more complex testing, and may require more monitoring.
Fraud detection, consistent digital experience, credit checks, effective development, system reliability, attribution, enabling new features on top of existing solution, big data, AI/ML.
Vegard Hovland Ottervig holds a Master's degree in film studies and has worked with journalism and marketing since 2010. He loves cycling, philosophy, gaming, and writing.
Get some more insights 🤓