Hacker News new | ask | show | jobs
by tyingq 2690 days ago
Vertical autoscale is on my wish list. Some way to automatically scale instance size for those things that don't scale well horizontally.
3 comments

You could hack around this by creating two auto-scaling groups with different instance types and then have them follow the same metric such that the small group goes to 0 and the larger one spins up. Not a great solution but better than nothing.
I didn't even realize this wasn't part of the offering yet.
Joyent offers this as I recall, however it's only a scale up, I don't think they can scale down afterwards.
I can see the revenue issue with auto scale down, so I suppose that makes sense.
I recall it being technical actually, removing a proc from a running kernel isn’t trivial.
Jelastic claims to do this, and the marketing made it sound so cool. https://jelastic.com/

But when I tried it, it turns out the docker support requires very specific base images.

Not really docker then is it?!?

Jelastic can run docker in two separate ways: 1) the way when the image is running as a plain VZ container (advantage: many extra features become available, disadvantage: compatibility with native docker is not 100%) 2) run via Native docker engine, but instead of VM (like everyone does) elastic VZ container is used as a host machine for running embedded containers. Compatibility with classical docker is 100% + vertical scaling as an extra feature, because of VZ layer on top. Basically both ways of running docker images allows to have flexible and managed resource management so vertical scaling is indeed available for both of them. BTW, Kubernetes in Jelastic is using the same approach that makes Jelastic only available platform for K8S on the market with "pay as you use" billing model, where you can pay only for consumed resources and not for the limits as everyone does.
Hi, Jelastic founder is here. Thank you for mentioning our product. Vertical scaling is not a marketing :), it's reality.

Jelastic public cloud providers offer automatic vertical scaling with pay-as-you-use billing model (please do not confuse with pay-as-you-go). Except this our team helps related technologies to become more elastic, for example Java https://jelastic.com/blog/elastic-jvm-vertical-scaling/

Regarding the docker support, there are two flavors inside Jelastic: 1) Native Docker Engine - you can create a dedicated container engine for your project in the same way as you do on any IaaS today, for example “How to run Docker Swarm” https://jelastic.com/blog/docker-swarm-auto-clustering-and-s.... An advantage here is the vertical scaling feature. In Jelastic unused resources will not be considered as paid while at any other cloud provider you will have to pay for the VM resource limits.

2) Enhanced System Containers based on Dockerfile - there is no need to provision a dedicated docker engine or swarm. This solution provides even better density, elasticity, multi-tenancy and security, more advanced integration with UI and PaaS features set compared to #1. It supports multiple processes inside a single container, you can get an SSH access and use all standard tools for app deployment, write to local filesystem, use multicast and so on. It supports traditional or legacy apps while images can be prepared in the same familiar Dockefile format. Unfortunately it's not fully compatible with Native Docker Engine due to specifics limitations/requirements of docker technology itself.

Thank you for pointing out this issue. In the upcoming release we will clarify the difference between two and provide more tips which one is better to use in various cases.

Regarding 1: Any easy set up guide for native mode?

Regarding 2: Is there any fundamental reason why full compatibility will never work?

1 - An easy way is go to marketplace and print Docker in the search field, choose Engine or Swarm, press install. There is one more article that will be helpful https://jelastic.com/blog/docker-engine-auto-install-connect...

2 - As Docker, Open Containers and other related technologies evolve the difference between system and application containers gets slimmer over the time. As an example well known issue with memory limits https://jelastic.com/blog/java-and-memory-limits-in-containe... now can be solved with help of lxcfs https://medium.com/@Alibaba_Cloud/kubernetes-demystified-usi.... I hope at some point we will be able to use benefits of both in one container engine.