MongoDB Atlas
Macquarie doesn’t think like a retail bank.
In its native Australia, Macquarie’s retail business, the Banking and Financial Services Group (BFS) is known more as a digital pioneer, picking up multiple awards for its mobile and online banking offering.
It was the first Australian bank to go live with open banking, and its investment in scalable digital platforms has allowed Macquarie Bank to deliver market-leading turnaround times for home loan approvals via its real-time originations platform. Macquarie Bank has undergone a digital transformation in recent years, and key to this has been looking beyond financial services to the technology used by leading digital companies such as Netflix, and bringing that level of personalised and intuitive customer experience to banking.
So when it came to bringing the bank onto Australia’s New Payments Platform (NPP), a new national system for real-time payments, Macquarie’s engineering team was very focused on delivering the best possible end customer experience.
From the start, Macquarie was dedicated to creating the best customer payment experience. “The real driver of the project is the customer wanting to have access 24/7, 365 days a year,” Principal Engineer and lead on the NPP project, Chris Clark says. “People want to move money in real time. Going offline for any length of time to perform upgrades and maintenance isn't an option as we want to deliver a truly always on experience for our clients.”
To deliver for the bank’s customers, the NPP project had to follow Macquarie’s existing development and architecture best practices. That meant an agile approach, with multiple MVP product releases, on a microservices architecture. As Chris puts it, “building for now, not three sprints down the line.”
In addition, the NPP had to be:
Cloud-first: everything on the cloud, including infrastructure
Cloud agnostic and multi-cloud: no vendor lock-in and access to tools and services available on the three largest public clouds (AWS, Google Cloud, and Microsoft Azure)
Real-time: batch processing has no place in an “always on” customer environment
Secure: the platform handles banking data so robust security remained a key priority
Flexible: when implementing a solution it must be able to adapt and change
Zero Downtime:
The Macquarie team also wanted to operate with a 24/7 DevOps mindset; automating where possible and offering the freedom to run the platform on a developers’ local machine if needed.
As the Macquarie team moved from development, to testing, and launch of the NPP, the document data model and fully managed service of MongoDB Atlas complemented Macquarie’s agile development approach.
The flexibility of the document database allowed the Macquarie team to iterate on their original vision for the NPP platform as they tested and learned. As they added new functionality, the schema would instantly accommodate the changes, complementing Macquarie’s culture of continuous optimization and improvement. “We didn’t have time to spend days thinking about the perfect schema,” Chris said.
“There is no such thing as a perfect schema—as functionality is developed, it must evolve. That’s where a flexible document data model is important,” he added.
Chris Clark, Principal Engineer, Macquarie Bank
Crucially, the document model’s flexibility doesn’t come at a cost to data quality or integrity, while offering the same transactional guarantees as the bank's legacy databases.
Shuchita Deshpande, a Principal Engineer within the payments team at Macquarie added, “Ease of use versus more traditional databases was an important factor for us.”
In addition to its flexibility, the document data model was also an ideal companion to the NPP’s rich data standard.
To ensure their teams are focused on delivering the best digital experience, Macquarie prioritises running infrastructure as a managed cloud service wherever possible. As such, they run MongoDB through Atlas, MongoDB’s global cloud database service.
“We appreciated the freedom it gave us,” said Chris. “We no longer had to ask for a new instance of a database to be created, we could do that ourselves. Disk space, RAM, CPU... our team had control of all those features.”
Chris Clark, Principal Engineer, Macquarie Bank
Given the 24/7, real-time nature of the new payments platform, scaling was also a huge priority. Outside the NPP, Macquarie already ran other apps on Kubernetes and they were used to scaling very easily in other areas of their banking infrastructure. “But we also wanted the same flexibility with our database,” Chris added. “Atlas gave us that, as well as allowed us to easily, and extensively load and test the new platform before going live."
The freedom to deploy across multiple cloud vendors was a key requirement, and vendor lock-in had to be avoided at all costs. “We didn’t want to walk through any one way doors,” said Chris. “With this solution we can run on any cloud provider we want.”
Chris Clark, Principal Engineer, Macquarie Bank
Macquarie is now running workloads across both AWS and Google Cloud.
Given the criticality of the platform and the data it manages, security remained a top priority. With MongoDB Atlas, Macquarie has access to built-in enterprise-grade features, including end-to-end encryption, role-based access management, and network isolation.
Chris Clark, Principal Engineer, Macquarie Bank
Now, it’s not unusual to have several releases, during regular business hours, on any given day.
NPP is just one example of how Macquarie's agile approach, adoption of modern architecture and, of course, its team of talented developers, have been able to continually deliver the personalised and intuitive customer experience others struggle to emulate. Working with services like MongoDB Atlas, the Macquarie team can focus their efforts on building the right solutions for Macquarie’s retail banking clients.
Hear more about MongoDB’s expertise and experience in banking and financial services