Why Every Financial Services Exec Should be Paying Attention to Reactive Software
Over the next two decades, financial advice and service providers are going to need robust, scalable technology platforms that are secure and compliant. They’ll also need their investments in technology and vendors to grow and evolve with their business and the rapidly changing technology environment.
Case in point: It’s estimated that in 2020 we will generate 50 times the amount of data generated in 2011 from 75 times the number of information sources. Unparalleled opportunities exist within this data, and the platforms and systems built on reactive programming principles will enable financial businesses to capitalize on those opportunities, while remaining agile and competitive.
What is a Reactive Software Platform
Reactive software design represents a new generation of development and architecture thinking intended to meet the real-world demands of financial services businesses and support the flexibility needed to respond to future changes. Today, business applications need to function and perform consistently under a variety of demanding conditions – conditions that didn’t exist a decade or more ago – that challenge the capabilities of traditional software architectures and their inherent performance limitations.
Reactive software design is built on the following four principles:
• Responsive – The system responds to users in a timely manner and performs consistently. Responsiveness is the foundation of usability. It also means that problems are detected and dealt with quickly by the system in a way that is transparent to performance, while minimizing the need for human interventions.
• Resilient – The system stays responsive even in the face of failure. It is designed so that components are isolated and failures can be contained and overcome without affecting the overall responsiveness of the system.
• Elastic – The system stays responsive under various workloads. It can react to workloads and increase or decrease processing capacity, as needed.
• Message-driven – The system relies on asynchronous message passing, which overcomes the scalability limitations inherent in central database architectures, while enabling virtual hosting across a cluster of geographically diverse hosts.
Benefits for Financial Services Businesses
Reactive platforms deliver several key benefits to a variety of financial services businesses.
1. Rapid time to value
True software-as-a-service (SaaS) platforms enable clients to get up and running much more quickly than traditional software systems. Since the infrastructure is completely virtualized, capacity can be ramped up to whatever level the client needs almost instantaneously – avoiding the substantial installation, testing, networking, and hardware provisioning that is required with many of the traditional technology stacks in use today.
2. High system availability
Responsive architecture enables systems to monitor themselves in terms of resource usage. As usage increases in any given dimension, the platform recognizes this and either expands temporarily on its own, or alerts an operator to increase capacity, depending upon the parameters. Because of the virtualized infrastructure, these platforms offer incredible scale, redundancy, and guaranteed access from geographically diverse locations. For example, a system built on the Amazon Web Services (AWS) cloud would continue to function for end users, even if the AWS cloud has a catastrophic outage in some region (due to hardware failure, natural disaster, terrorist event, etc.).
3. High performance
With traditional database architecture, you can add a certain amount of hardware to a performance problem before you run into database limits. Once you have massive amounts of data in your database and you attempt to manipulate it with a lot of users simultaneously, you run into inevitable performance issues.
The underlying design of reactive systems breaks those traditional limits at the foundational level. This allows for more cost-effective and responsive scaling, because the characteristics associated with “reads” vs. “writes” (“queries” vs. “commands” in CQRS parlance) differ significantly. In the old world, the database computing resources were scaled together, whereas new technology leverages the freedom to scale separately to mimic the behavior of these two very differently behaving system actions.
4. Rock solid security
By definition, reactive systems have a smaller footprint (fewer access points, networking, firewalls, etc.) which limits the attack profile. Many reactive software implementations leverage the AWS world-class-security model and add additional layers of protections beyond that. Application footprints are containerized and hosted in the cloud, using only the capacity that is actually needed, whereas traditional data centers are required to have excess capacity to handle processing load peaks and redundancy needs.
5. Designed for compliance
Reactive-based systems are especially well-suited to financial services, with compliance and regulatory audit requirements in mind. At their core are permanent immutable records – once they’re written, records cannot be deleted, though records can be added that modify previous ones. So, even if the system was subject to attack, there would be a record of what was altered because an attacker cannot simply overwrite records.
6. Powerful collaboration and workflow capabilities
Unlike legacy back-office systems, user roles in Reactive-based business applications can be broken down into a series of intelligent microservices that know about each other and about the data upon which they work. So that the proper workflow, order of business and data events are preserved and users can tell by the context and the user interface where in the process they are at any given point.
7. Easy integration and aggregation of data
A well-designed Reactive system provides a unified view of all the unique and disparate data sources required to run a financial services business. Integration of enriched data from virtually any third-party data source can be enabled via API strategy and microservices. Ideally, searching for data is similar to searching the web itself. Just like Googling a topic across the public web, we can construct new and unforeseeable queries, which are managed by their associated microservices, to quickly expose new insights from existing data. Likewise, the incorporation of third-party and unstructured data is straightforward, because we are not limited by table/row models.
Technology platforms are increasingly important in determining which financial services companies will survive and thrive in the digital age – and which ones won’t. Financial technology must meet a growing list of requirements in order to succeed – it must be robust and resilient, flexible in managing complex products and business processes, secure and compliant, and scalable in its capacity to integrate ever-growing unstructured data sets. Reactive software systems are uniquely qualified to meet and exceed these requirements.
For more information on reactive systems and Xtiva’s next generation Sales Performance Management suite, visit www.xtiva.com.