In the wake of the recent outage at Italian Bank Sella, where 3 million customers lost access to accounts, it’s imperative to address the underlying issues plaguing enterprise core banking software systems. While many banks focus on adding features and functionality around or into their core, there’s often a lack of emphasis on long-term sustainability and scalability. This short-sighted approach can lead to disastrous consequences down the line.
In this blog article we shed a light on the critical aspect of sustaining a core banking system. Beyond just what a system can do on day one, it is essential to consider how it will function on day two, day three, and beyond. The key lies in designing software with clear abstraction layers, well-defined standards, and robust foundations that enable seamless upgrades and maintenance over time, whilst not sacrificing any speed of development or feature capability of the overall system.
Why do failed upgrades happen?
One of the primary reasons behind failed updates and system outages is the lack of clear boundaries and standards within enterprise software architecture. Customizations build upon unclear interfaces and proprietary languages make it challenging to maintain a stable system environment. Additionally, the absence of industry standards and rigid data formats further exacerbates the problem, leading to compatibility issues during upgrades.
Best practice in modern core platforms
To mitigate these challenges, industry best practices such as rollback strategies and disaster recovery planning are essential but insufficient. What’s needed is a fundamental shift in approach toward software design from day zero. By simplifying system architecture and adopting a decoupled design with clear abstraction layers, banks can ensure long-term sustainability and resilience to future changes.
At the heart of this approach is the concept of Virtualization or a robust software foundation that remains consistent and pure over time, whilst virtualizing the target resource (such as a low-level virtual machine or container, or even a high-level financial product). By separating customization logic from the core system and implementing well-defined interfaces using open standards, banks can future-proof their software and minimize the risk of disruptive upgrades.
Solving the upgrade problem
The introduction of fully independent runtimes, containerization, and virtualization further enhances system resilience by isolation customizations and third-party components from the core system. This ensures that updates to one part of the system have minimal impact on other components, enabling seamless evolution and scalability.
In conclusion, Sella’s outage serves as a stark reminder of the importance of sustainable enterprise software design. By prioritizing long-term sustainability, clarity in system architecture, and adherence to industry standards, organizations can mitigate the risk of system failures and ensure uninterrupted operations in an ever-evolving digital landscape. It's time to rethink enterprise software from the ground up and build systems that are not just powerful on day one but resilient for years to come.
Are you rethinking core banking? Talk to us here!