With a $5 million appropriation and an extremely rigorous three-step review process, TSNRP awards research grants to only the most innovative and collaborative of studies that also promise to have a significant impact on the lives of military personnel and their families.
Being entrusted with so much responsibility means that you need technology that’s as reliable as you’re expected to be. So when TSNRP’s Microsoft Access database started losing records and outputting corrupted reports, the program directors knew they had to act quickly and decisively.
Based on the lack of data constraints and consistency across the input fields alone, we knew that one of the most difficult parts of this project was going to be making sense of and cleaning up what was being stored in Access.
While we were given free rein to implement whatever solution we wanted, the technology stack we had to work with and the specs we had to adhere to were predetermined and non-negotiable.
Being a truly mission-critical application, we needed to create something that was always on and always accessible.
Going into this project we were well aware that anything attached to the DoD was automatically going to be a high profile target, and we weren’t wrong.
Once we were confident that we had the data under control, it was time to start building out the new application. This project required that we use PostgreSQL to store the data and Perl to program the logic. Although Perl is sometimes criticized for being cryptic and difficult to maintain, we found it to be a good test of our belief in best practices. By applying well-established design patterns and test-driven development techniques, we produced an application that has proven to be rock solid.
While cloud-based infrastructure might seem like an obvious choice for delivering a high availability service, this project’s technical requirements didn’t initially allow for that.
Instead, we colocated servers with different service providers in multiple geographic regions for redundancy, we used Git to roll out code changes to all production servers at once and we used PostgreSQL’s own mirroring capabilities to achieve near real-time duplication of data writes across multiple servers at once.
Finally, for heightened security, we hardened all of the servers with Bastille Linux, and we secured the filesystems with Tripwire. We continually monitor server logs for anomalies, and we regularly perform penetration tests and vulnerability scans to keep holes plugged.
TSNRP, a Department of Defense (DoD) Health Care Program
Migrate data and functionality from a legacy application to a more robust and secure solution.
Balance ease-of-use with the strictest security standards.
C, Perl, PostgreSQL