Last active
October 15, 2016 19:22
-
-
Save jberkus/2b586249c478db2eda464363a1a089cf to your computer and use it in GitHub Desktop.
Notes from Containers & Databases session at ContainerDays Austin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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