Skip to content

Instantly share code, notes, and snippets.

@jberkus
Last active October 15, 2016 19:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jberkus/2b586249c478db2eda464363a1a089cf to your computer and use it in GitHub Desktop.
Save jberkus/2b586249c478db2eda464363a1a089cf to your computer and use it in GitHub Desktop.
Notes from Containers & Databases session at ContainerDays Austin
containers & databases
======================
databases
---------
* postgres
* mysql & mariadb
* oracle
* redis
* cassandra & riak
* mongodb
* hbase & object stores
* sqlite3
* elastic search
* kafka
in containers?
--------------
* percona + galera, elastic search in swarm
* mysql + docker
* elastic search, postgres, mongo, docker + rancher
problems with dbs in containers
-------------------------------
* getting database to run in foregrond PID 1
* problems with logging (no stdout on mysql)
* storage affinity to nodes
(want data to be local)
* failover, failback & services
* shard + node affinity
* vendor support
* hardware performance
* difficulty of migrating containers (killing nodes)
* database configuration
* lifecycle management
* container identity
* double-writing storage
* backup & restore
solutions
---------
PID1: mysql doesn't want to run in foreground,
ran under runit with mysqld-safe
not an issue for postgres
logging: only logs to files (mysql)
give it different filehandles, symlinks for mysql.err
logging to a volume? yes, for big logs, log digest, splunk
storage & database containers:
* manually deploying to nodes
* swarm affinity rules
* kubernetes petset: local, persistent, ephemeral
* flocker
backup & restore:
database tools
identity and sharding
* PetSet
* flynn& patroni
* confd + etcd to config files
database configuration
* confd
* patroni etc.
lifecycle management
* coordinate via etcd
* rolling update from containers
* pg_upgrade container
performance
* not really different
* except where it forces you onto network storage
* minor latency due to network overlays
benefits
--------
* show that you can run legacy applications in a container
* deliver software better, including the database
* HA gets easier: STONITH, auto-vivication, encapsulation
* manage whole app stack in one place
other notes
-----------
look at the
autopilot pattern
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment