Microservices Can Benefit Your Commerce Initiatives
The O’Reilly eBook “Microservices for Modern Commerce” begins with this salient quote to illustrate that the concept of Microservices, currently all the rage in software development, has actually been part of the software world for some time:
“1. Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
2. Expect the output of every program to become the input to another, as yet unknown, program. Don’t clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don’t insist on interactive input.
3. Design and build software, even operating systems, to be tried early, ideally within weeks. Don’t hesitate to throw away the clumsy parts and rebuild them.’
—Doug McIlroy, one of the founders of Unix and inventor of the Unix pipe, 1978”
So, then, why are microservices being talked about on so many blogs and at so many panel discussions as a modern panacea for the bloated commerce architecture? Put simply, customer demands are evolving much faster than most commerce platforms can handle. By the time most platforms offer the functionality that customers require, the need may have already shifted to new demands.
A microservice is, as McIlroy predicted, a framework for software development that emphasizes building small, well-defined, and targeted services that solve a particular problem and can be built, deployed and maintained independently of other services or software features. Commerce giants currently use microservices to solve everything from integrating other services, like GDSN, to internationalization/localization, to customer check out processes or central customer management. In many cases, the microservice was created because the company’s existing commerce platform did not offer the particular capability in question, or the product offered the feature in a way that was incompatible with existing workflows.
How can you improve your commerce architecture to meet ever-changing omnichannel demands by either replacing or adding to your existing monolithic platform?
Here are 5 Key Benefits that Microservices provide to commerce initiatives:
Focused on Business Functions: The microservices model allows an enterprise to create a mini-application that is targeted and, typically, aimed at a single, focused function or capability. Many transactions that should be unified and simple for customers are comprised of multiple transactions behind the scene. The SOA model enables those transactions to be wrapped in a consistent brand experience.
Improve Time-to-Market: Because microservices break down functionality to the near-atomic level and abstract it, development teams can focus specifically on the pieces of the enterprise architecture that affect the service. No more making changes that may break other processes – or waiting for vendors to add features to your monolithic platform. Development processes that used to take months can now take only weeks, which means that critical business features are introduced and providing value faster than ever.
Flexible: Any defect or bug within a microservice will only affect that microservice and will not cause any other unrelated services to fail, unlike many features that are added to a monolithic commerce platform. This makes defects in microservices easier to identify and fix, meaning that deploying the service is much safer and easier, allowing new versions to be rolled out quickly. The decentralized approach to the model allows for shorter build, test, and deploy cycles.
Independent and Agnostic: Each microservice is so highly targeted that they can be built, deployed and managed independently of other services or packages, allowing for greater ease of development and release lifecycle. In fact, the SOA model allows for each microservice to be language agnostic, meaning that disparate teams working in different language codebases or development frameworks can each contribute discrete microservices to the overall enterprise architecture.
Scalable: Using pools, clusters, grids, and more, microservices can scale independently of other services within the architecture. This enables your services to grow only as the demand for that service grows – and important characteristic for cloud architectures.
Want to learn more about how Microservices might benefit YOUR enterprise? Check out our customized service offering that will assess your environment and offer you practical tips on introducing them.