What is a “Dangerous Demo”? Using technologies in a disruptive ways is one example. During the Telecom Application Developer Summit (TADS) in Lisbon, we took on the challenge of creating a functional Telecom application that performed automatic scaling to handle millions of simulated users.
Now you may be thinking, “hold on” there are lots of ways to do this (Docker for example), and you would be correct. What we developed instead was a solution that allows applications to scale in seconds (using Mesos) while it prepares additional container resources in the background (using Juju and Docker). We combined horizontal and vertical scaling capabilities in one Docker container! More importantly we allowed application functions to be split up – in this case the call-processing portion of the application was separated from the rest of the core application and only the components that were needed are scaled (while the container spins up more resources in the background to handle overflow).
Pretty much any application that can be measured in terms of its CPU or Memory utilization can be scaled the same way. This approach is going to allow developers to create applications that “scale automatically” allowing them to focus on features and leaving the traditional issues around scaling to the underlying container and cluster technologies.
The best part about this hybrid solution? It scales down application just as easily – no more leaving virtual resources lying around (and running, generating costs) after you have scaled up because it’s too difficult to scale down seamlessly.