Transitioning from Monoliths and Mainframes to Microservices in the Cloud
The Client
KeHE Distributors is one of the nation’s top wholesale food distributors, with 16 distribution centers across North America. KeHE helps natural, organic, and specialty products get onto retail shelves and online stores. They partner with supermarkets, grocery stores, natural retailers, and online eCommerce dropshippers to access a curated assortment of innovative products via a one-truck delivery.
To support continued growth and enhance national operations, KeHE has undertaken a comprehensive digital transformation initiative. A key focus area of this transformation was to build a distributed, scalable architecture. In this article, we share how DragonSpears helped KeHE move from a monolithic legacy system to a serverless microservices system.
The Challenge
To increase agility and scalability, KeHE decided to modernize its legacy systems. The newest was a .NET core monolith, and the oldest was a 30-year old IBM iSeries system. The legacy systems had become difficult and cumbersome to maintain due to several factors:
- The system was tightly integrated, and transformational changes were complex.
- The system was written in an old programming language, RPG, and tools used for development were antiquated.
- Recruiting new talent with the technical stack who could maintain the system was a challenge.
- Many modern business practices, features, and integrations could not be used.
The Solution
DragonSpears collaborated closely with the team at KeHE to understand their unique needs and to help tailor a solution to best accomplish their goals. We adhered to the following process to get their first microservice up and running:
- Helped develop the framework and pattern to be used for each microservice’s architecture.
- Iterated on the framework to ensure scalability without confusion or divergence.
- Prototyped early microservice implementations and created documentation.
- Implemented framework for an initial subset of domains.
- Partnered with broader engineering teams sharing knowledge upon successful execution.
After the initial implementation, microservices were created for many domains, including sales order management, customer management, and product management. We led a feature team of engineers through the development of microservices covering the sales order domain, ensuring the system could support and integrate with several other domains, a legacy system, and four different front ends.
Throughout this process, we helped upskill the team and coach them through developing a production-ready system as they gained fluency with new architectural patterns. DragonSpears and KeHE have continued to work together to refine the system and create a roadmap of additional items for subsequent next-generation systems.
The Result
KeHE is now equipped with a microservices solution that allows them to scale as they grow without sacrificing transactional integrity or incurring administrative overhead. In turn, they have accommodated an ever-increasing sales order volume and large order sizes. The result is beneficial for current and aspirational growth in the coming years.
KeHE evolved and moved their business forward faster and easier with the system's support for new capabilities, process improvement, and efficiency, all while maintaining an agile environment that allows them to make decisions quickly and scale with ease. If you're interested in how your organization can achieve these outcomes as well, don’t hesitate to reach out to the team at DragonSpears.
DragonSpears has been instrumental in our digital transformation initiatives. The team has contributed leadership, guidance, and strategy while also being hands-on team players with a focus on upskilling those around them. This makes DragonSpears the perfect partner for any organization navigating complex transformations.
- Nick Barger, Senior Director of Product Engineering at KeHE Distributors