A compelling example of how simplifying system architecture can provide significant operational improvements is a monitoring system used on U.S. Navy submarines. Over the last three years, Rite-Solutions has radically re-architected the system’s design and reduced the technology stack to better meet the Navy’s needs, including:
- Reduce system maintenance costs
- Improve the system’s ability to add new technologies and new capabilities
- Increase the speed with which information is provided to sailors
- Consolidate and simplify the user interface (UI) to aid sailors in understanding and interpreting continuous streams of real-time data quickly
In this post, we use our experience with this Navy system as a mini case study to illustrate the improvements that can be made on almost any system.
The Challenge: Not Planning for Additional Functionality
Used on all U.S. Navy submarines, the system monitors the health of tactical control subsystems. Over time, the application became a mix of proprietary and custom-built solutions that were stitched together. It became increasingly difficult for the Navy to integrate, maintain, update, and improve the system. Adding new functionality compounded issues for the Navy, such as:
- Increased licensing costs associated with using proprietary solutions
- Modifying proprietary tools incurred additional contractor, vendor, and integrator costs
- Technical issues resulting from keeping a disparate, complex collection of tools current increased program, cost, and schedule issues
- Integrating and transferring data between different systems became challenging and slow
- Multiple systems increased the “attack footprint” and overall vulnerability to cybersecurity threats and also increased the number of security updates required
- Ever-evolving APIs and protocols constantly produced interoperability and integration issues
Because of the number of different systems involved, the infrastructure (people, development environments, dedicated testing facilities, etc.) required to support such a large technology stack was much larger than it needed to be.
The Solution: Simplify the Architecture, Reduce the Technology Stack
When we were asked to work on system, we hesitated to add more functionality and perpetuate the problems the Navy was experiencing. Instead, our recommendation was to “clean slate” the system.
We first wanted to build a strong technical foundation and architecture using state-of-the-art solutions and practices that would reduce maintenance requirements. In the long term, we would be able to quickly and reliably add new functionality to address rapidly evolving submarine mission needs. Fortunately, the Navy agreed.
Our overall strategy was to simplify the architecture and reduce the technology stack by focusing on several key areas:
- Move to open systems, such as Spring and Angular, to allow the Navy to own and maintain the system, eliminate licensing costs, reduce dependence on third-party network device interfaces, and avoid data rights amendment issues
- Implement HTML and Java to reduce the types of languages and personnel required for maintenance and support
- Reduce the database footprint and standardize on databases and data repositories to optimize data queries, and make the system more efficient
- Simplify and unify the UI and UX into a single, web-based user interface (previously multiple displays were used) so it is easier for users to monitor different subsystems and more effectively respond to issues
- Simplify and reduce the number of applications, use a consistent set of technologies and operating system tools, to more easily integrate troubleshooting tools
- Update the system protocol from CORBA to AMQP to better accommodate future needs
- Prepare the system to accept cybersecurity solutions in the future that allow other subsystems to interact with it
The Results: Improved Performance, Maintenance, Security and Reduced Costs
Re-architecting the system and reducing the technology stack has made it much easier for the Navy to maintain its system. The Navy also owns the system outright resulting in reduced licensing costs as well as future maintenance costs. The Navy is now starting to roll out engineering releases to its entire fleet. Some of the initial improvements that have been recognized include:
- Leverage New Technology: A new, robust, open, modular infrastructure makes it easier to incorporate new technologies and add capabilities. Quickly adding new functionality, gives the Navy a competitive advantage.
- System Performance: The time it takes the system do perform its job is drastically reduced. A process that previously took weeks to complete now takes just a few hours.
- Automated Integration: Automation has greatly improved the system’s ability to digest data from different systems. Maintaining integration is no longer a tedious, manual process of combing through a network map and updating interface handshaking. A process that used to take 40 minutes can now be completed in under a minute. Automating integration is not only quicker it is also more accurate.
- Performance Testing: Similarly, automation has greatly improved performance testing of the new system architecture, including the UI. Now, performance testing and verification can be completed overnight, instead of weeks of manual measurement.
- Stronger Security: Reducing the technology stack also reduces the attack surface and potential security vulnerabilities exploited in cyberattacks. Also, we can rapidly replace or upgrade existing software with newer more cybersecure components.
We continue working with the Navy on reducing the time and money required to maintain the system’s underlying infrastructure. In addition to system improvements, resources previously used for system maintenance are made available for developing system improvements and adding new capabilities that would benefit the fleet.