Recently, I was asked by one of the audience in my presentation.
“I don’t think this is a true cloud service, pay as you go model. Your service looks like in order for me to expand the capacity, I’ve to shutdown the VM and then change the capacity, and bring it up again. There’s a downtime to my service. I’m expecting for us to change the capacity without shutting down the server”…
Yes, it it correct that to expand a single cloud-server you will need to shut down that server, change the capacity and restart it. If high-availability setup is required (can’t afford downtime), you need to start more cloud-servers, and use a load balancer (software load balancer such as HAProxy or Pound. Talk to us if you need a hardware load balancer) to grow or shrink the cluster behind that server. This is a very sensible solution if you genuinely cannot handle a brief downtime during reboot.
In terms of technology, it isn’t possible to grow/shrink a running machine since typical operating systems expect fixed physical hardware and will not handle a change in memory or number of CPU cores while they are running.
In terms of the cloud market, even Amazon EC2 has exactly the same restriction as our stack, for this same technical reason. You can start extra machines, but cannot resize running machines. In fact, it is worse with them as they only support 8 fixed instance sizes rather than the full flexibility to choose CPU/RAM/disk that we offer.
I think the fact that Amazon also has this restriction answers the question that this is indeed a true cloud!
Share with us what’s your thoughts?..
SKALI Cloud team.
Tags: cloud services
, load balancer