Live data from Hacker News

Flynn: first preview release

flynn.io

41–50 of 80 posts

Re: Flynn: first preview release

#41

Could someone point out to me (non superficial) differences between various service discovery projects that have popped up recently like, [1]. etcd [2] skydock [3] consul [4] zookeper ( ok this is not new) [5] flynn They all seem to be doing the exact same to me. 1. https://github.com/coreos/etcd 2. https://github.com/crosbymichael/skydock 3. https://github.com/hashicorp/consul/ 5. https://flynn.io/ Edit: flynn uses…

Etcd and Zookeeper provide essentially the same functionality. They are both a strongly consistent key/value stores that support notifications to clients of changes. These two projects are limited to service discovery, there are a number of projects that depend on zookeeper (that theoretically could be ported to etcd) for various distributed state management such as Kafka, Storm, and Hadoop. Skydock (Skydns) and Cons…

Consul actually uses Serf rather than implementing it itself.

But a good overview, thanks.

Re: Flynn: first preview release

#42

Earlier quoted context omitted.

Are you sure flynn uses etcd for service discovery instead of its own[1]? Looks like it uses Google Omega instead of RAFT which etcd uses. https://github.com/flynn/discoverd

As I understand it Google Omega and RAFT are two different things. Google Omega is Google's answer to Apache Mesos. Omega would need a service like Raft to understand what services are currently available. In short, Google Omega is not a service discovery service.

Actually, I think Google Omega is the next-generation scheduler after their original Borg scheduler, which in-turn inspired Mesos.

The design of Omega is quite different than Mesos. I really do recommend reading the Mesos & Omega papers, they are quite interesting.

And yes, Raft is a consensus algorithm for keeping a set of distributed state machines in a consistent state. Mesos actually uses ZooKeeper under the hood for master election, which uses its own consensus algorithm (ZAB - Zookeeper Atomic Broadcast).

Re: Flynn: first preview release

#43

Are these sorts of services good enough? I want somewhere to deploy my Django apps, ideally I should be able to get a beefy server and deploy every app as a single thing on that server, completely compartmentalized. The problem I keep hitting is that these things have a tradeoff between ease of use and power. I want to use Docker, but it has no easy way to say "take this file that contains instructions and make every…

Built-in database appliances are a big part of what Flynn will offer in the next few months (right now it's only Postgres).

One thing I've been wondering about with Flynn is data persistence. I have an app already running that I'd like to move to Flynn for deployment; will it be easy to bring over a populated database and have it persist, shared, across instances of the app?

Re: Flynn: first preview release

#44
post #40
post #35

Can anybody discuss how Flynn compares to Mesos? Superficially, it seems to be solving the same sort of problems.

It seems to partially duplicate the functionality of Mesos, as they are writing their own task scheduling framework [0] based on Google's Omega [1]. The Omega authors claim that Mesos' system of application specific schedulers accepting resource offers from the Mesos master is well suited toward short-lived jobs (think ephemeral Map/Reduce or MPI type workloads) but is not well suited for long lived 'service' jobs (l…

I haven't read the Omega paper yet, but plenty of people are running long-running tasks in Mesos (Marathon [0] is a framework for doing just that).

[0] https://github.com/mesosphere/marathon

Re: Flynn: first preview release

#45
post #44
post #40

Earlier quoted context omitted.

It seems to partially duplicate the functionality of Mesos, as they are writing their own task scheduling framework [0] based on Google's Omega [1]. The Omega authors claim that Mesos' system of application specific schedulers accepting resource offers from the Mesos master is well suited toward short-lived jobs (think ephemeral Map/Reduce or MPI type workloads) but is not well suited for long lived 'service' jobs (l…

I haven't read the Omega paper yet, but plenty of people are running long-running tasks in Mesos (Marathon [0] is a framework for doing just that). [0] https://github.com/mesosphere/marathon

From the Omega paper (section 4.2):

  Mesos achieves fairness by alternately offering all 
  available cluster resources to different schedulers,
  predicated on assumptions that resources become available
  frequently and scheduler decisions are quick. As a result,
  a long scheduler decision time means that nearly all 
  cluster resources are locked down for a long time, inaccessible
  to other schedulers. The only resources available for other
  schedulers in this situation are the few becoming available
  while the slow scheduler is busy. These are often insufficient
  to schedule an above-average size batch job, meaning that
  the batch scheduler cannot make progress while the service
  scheduler holds an offer. It nonetheless keeps trying, and
  as a consequence, we find that a number of jobs are abandoned 
  because they did not finish scheduling their tasks by
  the 1,000-attempt retry limit in the Mesos case (Figure 7c).
  This pathology occurs because of Mesos’s assumption
  of quick scheduling decisions, small jobs and high re-
  source churn, which do not hold for our service jobs. Mesos
  could be extended to make only fair-share offers, although
  this would complicate the resource allocator logic, and the
  quality of the placement decisions for big or picky jobs
  would likely decrease, since each scheduler could only see
  a smaller fraction of the available resources. We have raised
  this point with the Mesos team; they agree about the 
  limitation and are considering to address it in future work.

Its worth noting that Andy Konwinski was a coauthor on both Mesos & Omega, so I'd hope they (Omega authors) represented Mesos' capabilties accurately. I don't have any personal experience running Mesos in production, I'm just going of what was written.

Re: Flynn: first preview release

#46

Earlier quoted context omitted.

Built-in database appliances are a big part of what Flynn will offer in the next few months (right now it's only Postgres).

One thing I've been wondering about with Flynn is data persistence. I have an app already running that I'd like to move to Flynn for deployment; will it be easy to bring over a populated database and have it persist, shared, across instances of the app?

Currently there is a very alpha Postgres appliance[0] (including automatic cluster orchestration and a database provisioning API) included with Flynn and we'll be standardizing the appliance model and adding more in the future. Flynn datastore appliances run inside of containers and are managed by Flynn just like everything else and will include support for backups, HA/replication, etc. out of the box with close to zero configuration.

[0] https://github.com/flynn/flynn-postgres

Re: Flynn: first preview release

#47
post #45
post #44

Earlier quoted context omitted.

I haven't read the Omega paper yet, but plenty of people are running long-running tasks in Mesos (Marathon [0] is a framework for doing just that). [0] https://github.com/mesosphere/marathon

From the Omega paper (section 4.2): Mesos achieves fairness by alternately offering all available cluster resources to different schedulers, predicated on assumptions that resources become available frequently and scheduler decisions are quick. As a result, a long scheduler decision time means that nearly all cluster resources are locked down for a long time, inaccessible to other schedulers. The only resources avail…

Ah, interesting. My personal experience with Mesos has included clusters that are basically all transient services (like map reduce jobs) or all long running services, but not both. I can see how that might lead to pathological scheduling decisions.

Re: Flynn: first preview release

#48
post #22

Earlier quoted context omitted.

Actually after Jeff Lindsay latest blog post[0] I thought that the project was put on the back burner. What is the relationship between cupcake and the initial author(s) ? [0]: http://progrium.com/blog/2014/02/06/the-start-of-the-age-of-...

Cupcake (Apollic Software) has been the company behind Flynn (and Tent) since day 0 (we tend to downplay the branding because we think both projects can stand on their own). Most of the development on Flynn (nearly all of the 2014 work) was done by Jonathan Rudenberg (@titanous), one of the founders of Cupcake. We brought in Jeff as a contractor and paid him out of the crowdfunding campaign. He contributed to the ini…

Thanks a lot for your answer!

Re: Flynn: first preview release

#49
post #37

Earlier quoted context omitted.

PSA to anyone trying this on Ubuntu 14: the docker command seems to be "docker.io" now.

There is an ongoing conundrum in the downstream Debian/Ubuntu packaging of Docker. Our friends at Debian and Ubuntu are doing their best to solve it. In the meantime, you should either a) install the latest docker from the official docker APT repos http://docs.docker.io/installation/ or b) do something like ln /usr/bin/docker{.io,} In any case, don't leave your Docker install without a docker binary in your path. Tha…

Yeah, I went with the `ln -s` method. Thanks Solomon!

Re: Flynn: first preview release

#50

Earlier quoted context omitted.

Etcd and Zookeeper provide essentially the same functionality. They are both a strongly consistent key/value stores that support notifications to clients of changes. These two projects are limited to service discovery, there are a number of projects that depend on zookeeper (that theoretically could be ported to etcd) for various distributed state management such as Kafka, Storm, and Hadoop. Skydock (Skydns) and Cons…

Consul actually uses Serf rather than implementing it itself. But a good overview, thanks.

Consul actually uses serf for communicating between edge nodes. The central servers (think your zookeeper cluster) use their own implementation of Raft for internal communication.
Post reply on HN