Joe Carroll
Containerized Databases for
Enterprise Applications
Product, InterSystems
Joe Carroll
1. Definitions
2. Misconceptions
3. Data Persistence
4. Data Security
Outline
Enterprise Database
Applications
Definitions
Enterprise Database Applications Manage Mission Critical Data
Definition:
Mission Critical Data
Mission Critical Data
• Vital to lives, wallets, and/or the business
• If we lose it or compromise it, then we’re in the
news, people get fired, and the boss goes to
jail.
• Examples: Patient Records, Financial Data,
Payroll, etc.
Definition:
• Data Persistence
• Data Security
Needs
Summary
Enterprise Database
Applications Manage
Mission Critical Data
Mission Critical Data
Impacts Lives, Wallets, and
Business
Data Persistence
Data Security
21 3
1. Definitions
2. Misconceptions
3. Data Persistence
4. Data Security
Outline
Misconceptions
“Containers
≠ Database”
• Immutable
• Portable
• Scriptable
Why Docker Containers?
Docker allows our application to be -
• Disposable/Ephemeral
• Broad ecosystem of tools not built
by us
• Docker daemon is privileged
Tension?
• Data Persistence
• Data Security
Needs
✚
Summary
Containers are Immutable,
Portable, and Scriptable.
Mission Critical Data
Applications Are In Dire
Need Of These Benefits
Containers are for
Enterprise Database
Applications
21 3
1. Definitions
2. Misconceptions
3. Data Persistence
4. Data Security
Outline
Data Persistence
Container
Container Data
Examples! (Databases + Volumes)
https://github.com/tjosephcarroll/DatabaseContainerExamples
Not All Data Needs Mission Critical Persistence
Summary
Critical Data Must Persist
Outside The Container
Not All Data is Critical Data
Make Smart Design
Decisions Regarding Where
Data Goes From Day 0
21 3
1. Definitions
2. Misconceptions
3. Data Persistence
4. Data Security
Outline
Data Security
Reminder – Mission Critical
• Build a registry of trusted images (build your
own images)
• Scan your images for vulnerabilities
• Rotate your credentials
• There are many tools! This is easy! Do it
please!
Trust, Scan, and Sign Your Images
• No database passwords in source.
• Defined at runtime.
• Encrypted at rest and in motion.
• Start with Secrets!
Secure Access To Your Data
Examples! (Databases + Secrets)
https://github.com/tjosephcarroll/DatabaseContainerExamples
• What user/group are you containers running
as?
• Are the cgroups and namespaces what you
want?
• Any container in your configuration can be the
culprit.
Secure Your Runtime Environment
Summary
Use Secrets To Protect
Data Access
Runtime Security – Users,
Namespaces, Cgroups
Scan, Sign, and Trust Your
Images
21 3
1. Definitions
2. Misconceptions
3. Data Persistence
4. Data Security
Outline
Product, InterSystems
github.com/tjosephcarroll
@JoeCarroll3000
Joe Carroll

DCSF19 Containerized Databases for Enterprise Applications