RC1 of the Label Schema spec was just announced by Gareth Rushgrove of Puppet at the Container Camp conference in London. The spec is a community effort from multiple companies including Puppet, Mesosphere, Microscaling Systems and Container Solutions.
The spec is a release candidate so we'd like to get as much feedback as possible from the community. Here is a good place to discuss it but please also send feedback to the Label Schema mailing list.
Hi, I'm Ross one of the developers at Force12.io. We just launched a major update to our container scaling demo. You can now run your own container images and control how many containers appear in the demo.
We've also added sign up with GitHub to make it easier to create an account. If you've got any questions or feedback on the demo we'd love to hear from you.
We're working on a container scaling solution that runs on top of the scheduler. It will scale containers based on current demand. There is overlap with the Swarm strategies but we're focused on auto scaling. So for example we'll use the scheduler to provide fault tolerance.
The demo tool we've released today is single node and uses the Docker Remote API. We've also built demos that integrate with the ECS and Marathon schedulers. Force12 will be platform agnostic. So we plan to integrate with more schedulers and Swarm is definitely on that list.
Most services are developed to make maximum use of a host machine's hardware, so scaling multiple containers of the same image on a single physical host has very limited value.
Services are typically clustered across multiple hosts to alleviate pain associated with the availability constraints of a single host (e.g. physical resources, redundancy). "Scaling" containers across just a single host is:
1) an misunderstanding on the part of the operator, or
2) a very inefficient way of maximising the availability of a service on a single host.
In the case of 2), if you need to run multiple instances of your web service because one container doesn't maximise the resources of your host, then you're solving the problem in the wrong way. You should be making your service, in a single container, capable of maximising the resources of that host. Otherwise you're going to be wasting your physical resources taken up by the running of unnecessary containers.
Running multiple containers of the same image on the same host should be limited to testing of clustered services on a local host, admittedly with a few exceptions. I'd welcome any arguments to the contrary.
Yes the tool we've released today is for playing with and not production use. It's single host to keep things simple. Definitely agree for production use a multiple host cluster is essential for redundancy.
We think the faster launch times of containers makes auto scaling easier compared to using VMs. So our tool will prioritise the mix of running containers based on current demand.
To do this we'll need to support multiple metrics. Some of those will be within the cluster like CPU and RAM. But some may be external like the length of a message queue or requests per second on a load balancer.
I think the reduced attack surface and faster startup times will have a big impact eventually.
At the moment language choice is a blocker for me. I don't want to have to learn OCaml to play with unikernels. LING looks interesting since its based on Erlang. If I could develop on Elixir that would make a big difference.
London has a similar issue with house prices / rents continuing to rise much faster than the rest of the UK.
I relocated from London to Barcelona 3 years ago to do remote freelance work. The cost of living is lower here with a good quality of life. There is lots of interesting work in London and its a good place to gain experience but I've got no plans to go back.
And unlike Silicon Valley, same salaries are still being offered. Hopefully exiting EU will ease the pressure and make the competition for talent more healthy.
Elastic Beanstalk is a wrapper for multiple AWS services. The Docker multi container version uses ECS for containers. Using ECS directly can be more work but it also gives more control.
EB works the same way for VMs, it will integrate with EC2 for you or you can use EC2 directly instead of EB.
The spec is a release candidate so we'd like to get as much feedback as possible from the community. Here is a good place to discuss it but please also send feedback to the Label Schema mailing list.