Microservices are becoming an important part of an enterprise strategy. Brands can no longer afford to be held back by rigid, outdated technologies that require redundant processes and expensive resources. They must be disruptive.
Many enterprise brands have started with a monolithic ecommerce platform to power customer-facing experiences. Now, digital disruptors, such as Amazon, Netflix, and Uber have paved the way to building and embracing a microservices-based architecture and deliver consistent brand experiences across all channels.
In a previous blog post, What are microservices and why you should care, we dove into the world of microservices and its key benefits compared to archaic monolithic platforms. Without a big bang transition, microservices can be adaptable in your current enterprise strategy and beneficial to your overall business.
What to expect: Microservices has its own challenges. Shifting your entire platform at once won’t solve your existing system challenges and it won’t happen overnight. When transitioning from a monolithic to a microservices-based platform, you’re adding complexity. It’s critical that the system continues to take demand, and not freeze your progress on the customer experience during the upgrade. You must be sure they can scale together.
The road to a new architecture is not only about the technology itself, but about identifying existing issues and the teams you’re working with.
Adopt in increments: One of the greatest advantages moving to a microservices approach is that you can do it gradually. Revitalize your platform by adopting microservices in increments rather than dumping the entire monolithic platform. It’s imperative to identify the key challenges of your existing systems and customer experiences first, then solve those challenges by building prototypes to test and experiment with.
“The key is to look and think of all the problems in small discrete buckets,” said David Levine, platform architect at Skava. “Look at specific pain points [you] want to solve and how you can fix them with a microservice, instead of [fixing] the entire platform.”
This key difference between implementing a modern and legacy systems is that you can have both systems running concurrently. Initially, your legacy application remains the system of record, as you thoughtfully introduce microservices to replace functions of the monolith.
The Strangler Pattern: This approach allows you to gradually chip away at your legacy platform and choose when it becomes the system of record. You can keep existing projects running, minimize disruption to your business and your users, and still end up with a state of the art platform.
A true microservices-based model allows you to plug in the pieces you need and build on top of those microservices. Even then, integrations are made to tie those microservices to a monolith. The concept here is to rip out specific pieces that don’t work for your organization and replace with independent applications you can scale quickly.
“Rip and replace is never easy, but sometimes, it’s the fastest way to get something more modern,” said Dave Barrowman, vice president and head of innovation at Skava. “The hope and dream are that you can actually keep your platform up to date and it doesn’t become the new monolith.”
Organize your development teams: Since microservices are individual components, you can have individual teams for each microservice. If you already have a team of highly skilled developers working on a giant monolith, organize your teams into agile pods that focus on a single microservice. You can work with a trusted vendor or SI partner to establish the DevOps best practices and methodologies as you switch.
In Selecting a Cloud Platform for DevOps Delivery with Microservice Architecture (Gary Olliffe, 27 November 2017), Gartner notes “a microservice team should be accountable for the delivery of the running service, not just writing the code, deploying the code or monitoring the deployed code.” A small, tight-knit team focused on one service (capabilities, delivery, and deployment) is scalable, reduces complexity, and introduces agile development processes.
Remember, a microservices-based approach doesn’t require your business to go through a big bang transition. Focus on your customer’s digital experiences and solve your key challenges first, which will allow your teams to adopt specific components individually and build out a microservices-based architecture over time. As a result, you’ll have ample opportunity and flexibility to ideate quickly, speed up development, and launch new experiences faster.
Want to learn more about microservices? Check out our latest webinar: Innovate in today’s digital commerce world with microservices architecture.