By continuing to use our website and services, you acknowledge that you have read, understood and agreed to our privacy policy.
closeWith 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.
Data Normalization
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.
Technical Constraints
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.
High Availability
Being a truly mission-critical application, we needed to
create something that was always on and always accessible.
High Security
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.
Client
TSNRP, a Department of Defense (DoD) Health Care Program
Project Summary
Migrate data and functionality from a legacy application to a more
robust and secure solution.
Biggest Difficulty
Balance ease-of-use with the strictest security standards.
Main Technologies
C, Perl, PostgreSQL