Metcash Drives Operational Excellence and Customer Intimacy with Cloud Native Integration
Metcash, Australia's leading wholesale distribution and marketing company, was looking to become a more agile business to achieve faster delivery and lower costs. It wanted to onboard new customers faster and offer them improved services with less downtime, but this required re-engineering systems at the core of day-to-day operations. Its legacy architecture, including an aging enterprise service bus (ESB) built on TIBCO BusinessWorks 5, was holding the wholesale giant back from achieving its long term goals.
By 2018, the company’s TIBCO BusinessWorks 5 software needed upgrading. Metcash had around 90 processes and over 300 interfaces tied to the ESB that was used to transform and deliver messages between multiple ERPs, warehouse management systems, master data systems, and reporting systems. Plus, it was very tightly coupled to databases that were also overly engineered and far too complex to maintain.
To add to the challenges, the small IT team was increasingly being asked by the business to take on and support complex initiatives. These programs and requests — new pricing, promotions and deals for customers, a new ordering portal, a customer and supplier MDM solution, and others—were crucial to business growth, and the aging infrastructure couldn't handle these new digital initiatives.
Metcash adopted a hybrid cloud solution using TIBCO Connect solutions to simplify and modernize application integration. With a cloud-ready platform, it would have the flexibility to deploy the same code in containers either on-premises or in the cloud.
To deliver the new capabilities, Metcash established a unified team comprising a small number of Metcash staff and local and offshore TIBCO Professional Services personnel. This team allowed Metcash to expand in an agile way using agile Scrum methodology to deliver new services in two-week sprints.
By late 2019, the team had removed the tight coupling within the ESB, added continuous integration and delivery (CI/CD), and adopted cloud-native and microservice development patterns based on TIBCO BusinessWorks Container Edition, TIBCO Managed File Transfer, and TIBCO Messaging software that handles more than one million messages per day.
Importantly, the team realized it didn't need to replace all the integrations at once. Instead, they used the "strangler pattern" to incrementally transform monolithic applications into microservices by replacing a particular functionality with a new service. Once the new functionality is ready, the old component is strangled.
This approach is being used for all new digital projects such as online shopping. At the same time, Metcash is midway through a massive multi-year effort to replace its ERP and finance platforms, a project with inflexible deadlines due to financial reporting requirements. To make the deadline, it will deliver integrations over multiple platforms, including on-premises, private cloud, and Microsoft Azure. In the first phase the company has successfully delivered five services per sprint, producing over 70 interfaces in only seven months. In the next phase, the team expects to deliver 10+ new services per sprint, producing more than 200+ interfaces in just 10 months!
With its new hybrid deployment combining Metcash's legacy architecture and the modern capabilities of cloud, microservices, and containers, the company is adding new customers and suppliers faster and offering them more services with less downtime.
Thanks to easier development and reduced defects, the unified development team is delivering new integrations at about half the cost and 20% faster than before.
Metcash Integration Manager Wayne Routledge said: "Metcash is starting to see all the benefits that containerization gives. This includes improved resourcing through efficiency and density as well as isolating the containers from each other, so one process will not affect others."
The containerized approach enables Metcash to do more with less by providing more efficient use of compute infrastructure, more flexibility to innovate, and less downtime for customers.
Developer Efficiency: Metcash is able to split services into different containers so developers can work independently, and when confident the service is working, merge their work. The company has seen major benefits from the use of devOps and continuous integration/continuous development automation supported by its newer TIBCO products.
Innovation & Faster Delivery: Routledge continued: "Containers can also give us the ability to change how we do deployments to utilize blue/green or canary deployments, reducing the effect on our customers. Canary deployments stand up one or two containers and offer them on a limited basis. If it breaks, we’ve only upset a few people. If it’s good, we spread it out to other containers."
Using containers, the company can quickly deploy new or upgraded applications and seamlessly shift traffic to those new apps with no interruption to customers. This is critical because Metcash has thousands of suppliers and retailers who each may want something different. Thanks to TIBCO, developers can quickly build something new for one customer and then offer it to others. And they don't have to worry so much about changing things, because every time they change something they have "4,000 people to talk to," said Routledge.
Resilience: Thanks to containerization, if the team does deploy a bit of bad code in one container, it doesn't bring down the whole system. And if one container does go down, others can pick up the slack. Containerized services are simpler to fix and manage.
Scalability, Performance, Cost Savings: Containerization also provides immense and smooth scalability for better handling of peak loads. Mr. Routledge observed, "[The company is] doing 120% more work. Load doesn't come at 2:00 a.m. when we have plenty of compute resources. It comes in the morning or late afternoon. Containerization lets us handle this." The base load is managed in the private cloud and transferred to another provider when needed. Metcash can scale up or down as needed to better control costs.
Platform Independence: Containers allow Metcash to be platform agnostic. If something catastrophic happens with one of its providers, the company can move its private cloud or leverage other public cloud providers and recover effectively.