This document discusses how RTI International, a non-profit research institute, uses Docker to help improve various software products and tools. It describes several projects including CFS Analytics, a crime analysis tool; Crosstab Builder, a statistical analysis tool; and Public Health Microsimulations. For each, it explains how Docker helps allow for scalability, platform independence, security, and reproducibility. Overall, it conveys that Docker helps RTI International build reliable software and facilitate scientific analysis to work towards improving conditions for humanity.
2. About RTI International
delivering the promise of science for global good
• Non-profit research institute
• Work in the fields of social and lab science,
engineering and international development
• Both public and private sector consultancy
• Dedicated to “improving the human condition”
3. • Team of data scientists, visualization experts,
computer scientists and software engineers
• Sit at the confluence of academic research and
innovative technologies
• We “make data come to life”
About Center for Data Science
translating data into actionable insights
4. We work with lots of different groups across a vast
problem domain with a wide variety of needs and a
wide variety of variability.
Docker facilitates our mission by helping to remove
variability.
Docker in CDS
Improving the human condition with Docker
6. CFS Analytics
CFS Analytics allows agencies to:
• Gain insights into agency resources and allocations
• Monitor trends to predict and prevent crime
• Make sense of existing policing data
SaaS Crime Analytics
7. CFS Analytics
Application usage varies from hour to hour, day to day.
Docker lets us scale our server infrastructure to match customer
demand and remain cost effective.
How does Docker help?
8. CFS Analytics
We deploy data collectors to a wide variety of on-premises
server architectures.
Manage Go binaries and dependencies across wide variety of
on-premises police server infrastructures
How does Docker help?
9. CFS Analytics
SaaS products thrive on high release tempos.
Through continuous integration pipelines, we can ensure our
product is well tested and meets code standards. We can then
deploy the build Docker images to our cloud provider.
How does Docker help?
10. CFS Analytics
Docker helps “Improve the Human Condition” by:
• Allowing police agencies to continually analyze their data
• Affording new agencies access to the tool
• Delivering frequent updates and enhancements
How does Docker help?
12. Crosstab Builder
Crosstab Builder is a statistical analysis tool that:
• Allow policy makers to explore statistical relationships
• Aids statisticians in visualizing correlations
Statistical Analysis Tool
13. Crosstab Builder
Crosstabs require complex calculations.
Through services in Docker Compose and Swarm, we can hand
off complex calculations from our Python web server to an
optimized statistical engine.
How does Docker help?
14. Crosstab Builder
Certain surveys have restricted access with strict infrastructure
restrictions.
Images are platform agnostic. We can build images for the entire
platform and leverage network ACLs to handle restrictions.
How does Docker help?
15. Crosstab Builder
Developers need an environment that mimics production.
Docker (and Docker Compose) gives developers the ability to
develop and debug in an environment that reflect production.
How does Docker help?
16. Crosstab Builder
Docker helps “Improve the Human Condition” by:
• Efficiently calculating crosstabulations
• Building platform agnostic images to facilitate access rules
• Ensuring developers can easily improve the product offering
How does Docker help?
18. Public Health Microsimulations
Microsimulations provide health economists and researchers a
platform to:
• Study effects of treatments and interventions
• Develop new, novel policies
• Measure cost effectiveness of public healthy policy
Scalable Health Economics
19. Public Health Microsimulations
Researchers and public health experts expect reproducibility
and replicability.
Docker allows us to bundle our application and its dependencies
into a sharable format.
How does Docker help?
20. Public Health Microsimulations
Cost effectiveness is measured by Probabilistic Sensitivity
Analysis, observing trends in thousands of simulations.
Through Docker and Kubernetes, we can scale our simulation
horizontally, allowing more workers to execute simulations.
How does Docker help?
21. Public Health Microsimulations
Public health applications require security and vulnerability
scanning.
We use a combination of app scanning and image signatures to
ensure only trusted content is deployed.
How does Docker help?
22. Public Health Microsimulations
Docker helps “Improve the Human Condition” by:
• Promoting reproductible research in the academic community
• Ensuring public health policies can be validated
• Guaranteeing federal researchers access to containers free of
vulnerabilities
How does Docker help?
24. Ad-Hoc Usage
We also use Docker for ad-hoc tasks.
• Transforming proprietary data formats into standard
• Managing complex dependencies and drivers
• Shielding building complexities from engineers
• Debugging complex problems with transient solutions
How does Docker help?
25. Ad-Hoc Usage
Docker helps “Improve the Human Condition” by:
• Facilitating the analysis of a variety of data
• Lowering the barrier to entry for advanced libraries and tools
• Explaining and illustrating problem complexities
How does Docker help?
26. Docker at RTI International
Improving the Human Condition
With the help of Docker, RTI International’s Center
for Data Science is able to build resilient and reliable
software rooted in scientific research.
Docker helps us Improve the Human Condition.