Information Technology Reference
In-Depth Information
With automated scripting, almost all major cloud vendors now support resource pro-
visioning based on JavaScript Object Notation (JSON). Here is an example pseudo-JSON
object that can be fed to an HTTPS request to spin up a new server:
{
request-type : "provision-new",
template-name : "my-centos-template",
total-instances : "10",
}
This script can and will of course be more comprehensive. We wrote it just to give you
an idea of how simple and basic it has become to spin up and shut down servers.
Templating
Templating is a nice way to spin up preconfigured servers that hit the ground running. Let's
consider a real example: Suppose you are part of a project that provides smart video analytics
to advertisers. It is distributed as a web app running on the cloud. The app spans across several
languages, frameworks, backend processing engines, and protocols. Currently, it runs atop
Ubuntu Linux servers. Web apps that process and serve videos can typically clog servers pretty
quickly. The web app that the devops team has written has a “soft installation,” which bundles
required frameworks and libraries into a neat deployment script.
Now, when you anticipate (or predict) a traffic spike or even an abnormal increase in
app consumption, you have to spin new instances and join them with the whole deploy-
ment network running several servers for DB, process, CDN, front end, and so on. You
have cooked a nice “image” of your deployment server, which means that whenever
you have to spin a new instance to meet increased user demand, you simply provision a
new instance and provide it with this ready-to-run template. Within 20 to 30 seconds,
you have a new member in this small server family ready to serve users. This process is
automated through your custom provisioning script, which handles all the details like
specifying the template, setting the right security for the instance, and allocating the
right server size based on the memory, compute resources, storage, and network capacity
of the available server sizes.
Once the request is sent, it is not queued; instead it's served in real time, which means
that the physical (actually in a virtualized environment, but more on that in Chapter 2,
“Terms Loosely Affiliated with Cloud Computing”) compute resources are provisioned
from the pool of seemingly infinite servers. For a typical deployment, all this would take
is not more than 2 minutes to spin up 100 or more servers. This is unprecedented in com-
puting and something that played a key role in accelerated adoption of the cloud.
Search WWH ::




Custom Search