Hacker News new | ask | show | jobs
by duggan 3889 days ago
Yeah, I sort of alluded to it in the article but didn't expand on it - we're doing a combination of things.

1. Using AWS services where we can (DynamoDB)

2. Provisioning more "traditionally" to instances, and managing those independently of the Mesos scheduler

3. Experimenting with scheduler based solutions[1] (which are still pretty bleeding edge, but are promising)

As I mentioned, EMC are (to me) doing the most interesting stuff here[2] because they're leaning on a lot of existing production systems like EBS and Mesos' own scheduler.

[1]: https://github.com/mesos/elasticsearch

[2]: http://blog.emccode.com/2015/10/08/enabling-external-volume-...

1 comments

I would love to see approaches similar to the attempt for elasticsearch for all major databases as out of the box highly available, that would make me sleep a lot better at night. For the mean time I'm just going to manage my databases traditionally (through a service or run by myself). It seems like its really a problem that needs to be solved, other than that I'm a huge fan of these infrastructure approaches.
Cloud Foundry has done quite a lot of this. Cloud Foundry is built on BOSH:

https://bosh.io/

So you can write a BOSH 'release' which is a script for setting up a database cluster with all the necessary, like this:

https://github.com/cloudfoundry/cf-mysql-release

However, you have to buy into BOSH and CF to make use of this

Also, most of the interesting and high-quality services are part of Pivotal's paid version of CF. Which might well be worth the money - many of the services are built by colleagues of mine, and i can assure you that they are of the finest quality! If not, there are a bunch of open-source contributed services. For example, a metrics service with InfluxDB and Grafana:

https://github.com/cloudfoundry-community/metrics-boshreleas...

A logging service with Logstash and Elasticsearch:

https://github.com/cloudfoundry-community/logstash-docker-bo...

PostgreSQL:

https://github.com/cloudfoundry-community/postgresql-docker-...

I have no idea how highly-available and resilient these are, though. It's much harder to write an HA service release than a normal one.

Christ the amount of native advertising in these threads is getting annoying
And i'm not even being paid to do this! Sorry that it came across that way - I absolutely understand how it could.

In my defence, the Cloud Foundry services are the only serious attempt I'm aware of to package highly available database setups for deployment on your own infrastructure, and that's something I really want to see become commonplace. I'd be even happier if some other group came along and did it in a way not tied to Cloud Foundry or BOSH, Ansible playbooks or something. But as yet, as far as I know, they haven't.

Similar work is progressing well for (off the top of my head) Kafka[1], Riak[2], and MySQL[3] though you'll note they're all quick to point out "don't use this for production yet."

I'll be keeping on top of these developments, but for now, managing yourself or leaning on AWS services is definitely the pragmatic decision.

[1]: https://github.com/mesos/kafka

[2]: https://github.com/basho-labs/riak-mesos

[3]: https://github.com/apache/incubator-cotton

Thanks for the resources, I will for sure be following these. My dream is that one day I can do something similar to `docker-compose scale db=5` and have a database that is highly available.
This is also something ClusterHQ are working on with their Flocker product.

https://clusterhq.com/flocker/introduction/