This is an advertorial for Mesos, which attacks some of these problems at a deep level.
It's (not yet) a full PaaS, though Mesosphere is driving there along with Docker and Hashicorp and everyone else who built parts of the solution and then realised there's not much profit in selling cogs.
I like Cloud Foundry -- which is a PaaS -- probably because I've worked on and seen how that sausage gets made. But there's also OpenShift. And Heroku, which people often forgot pioneered the whole space.
The bin packing problem is hard in theory, but at the scale we're talking about, it becomes less about the perfect fit and more about the fact that keeping up-to-date information is hard under realistic conditions. You can show linear scaling for short tasks. Wait until you're running in someone's whacky private DC.
Diego (the container scheduler in the next generation of Cloud Foundry) doesn't try to maintain a perfect view of state in order to do its job. It's basically impossible to really do so. Instead it satisfices by turning container placement into an auction, then periodically goes out to sync up with reality.
If you want to play with it, the best option is to install Lattice[0].
Standard disclaimer: I work for Pivotal Labs, a division of Pivotal, which is the largest donor of engineering effort to the Cloud Foundry Foundation. So I guess my comment is an advertorial too.
Comments
This is an advertorial for Mesos, which attacks some of these problems at a deep level.
It's (not yet) a full PaaS, though Mesosphere is driving there along with Docker and Hashicorp and everyone else who built parts of the solution and then realised there's not much profit in selling cogs.
I like Cloud Foundry -- which is a PaaS -- probably because I've worked on and seen how that sausage gets made. But there's also OpenShift. And Heroku, which people often forgot pioneered the whole space.
The bin packing problem is hard in theory, but at the scale we're talking about, it becomes less about the perfect fit and more about the fact that keeping up-to-date information is hard under realistic conditions. You can show linear scaling for short tasks. Wait until you're running in someone's whacky private DC.
Diego (the container scheduler in the next generation of Cloud Foundry) doesn't try to maintain a perfect view of state in order to do its job. It's basically impossible to really do so. Instead it satisfices by turning container placement into an auction, then periodically goes out to sync up with reality.
If you want to play with it, the best option is to install Lattice[0].
Standard disclaimer: I work for Pivotal Labs, a division of Pivotal, which is the largest donor of engineering effort to the Cloud Foundry Foundation. So I guess my comment is an advertorial too.
[0] http://lattice.cf/