kernel level virtualisation requirements.
Matthew Dillon
dillon at apollo.backplane.com
Wed Oct 17 17:51:49 PDT 2007
:I thought virtualization was used to address under-utilization of
:hardware
:and to provide better control over usage parameters that may be covered
:by SLAs...
:
:--
:Marcel Moolenaar
:xcllnt at mac.com
Well, those are related topics but not really the primary motivation
for a service provider. The bottom line for any provider is always
going to be money and the biggest money burn is always going to be
man-power, not computing power. What virtual kernels give the provider
is a way to manage customer resources generically. Turning the
resources into a big black box means they can be managed like a big
black box.
Don't put a lot of truck into SLA agreements, the vast majority of
service providers play fast and loose with SLA terms. I remember all
the SLAs we provided for various levels of service at BEST Internet
all those years ago... what a joke. If you want to know how serious
a provider is about a SLA look at the part of the contract which outlines
the penalties for violating one. Then calculate the actual cost to the
provider for occassionally violating a customer SLA.
The reality is that supporting most SLAs does not require sophisticated
resource management, you just need to able to shuffle the customer
instance to available physical resources and make sure you have enough
physical resources to handle all your customers. Shuffling the
resources looks like nothing more then a quick 10-second reboot to the
customer. That's how fast it can be.
I suppose we could argue over chicken-and-egg but I will tell you that
in my experience the driver is money. Customers who demand very
specific hard-to-implement SLAs are few and far between. Providers
never start with 'what kind of SLA can we provide the customer' and
then build resources to support it. Providers always start with 'how
can I implement this generic service as cheaply as possible' and
then build SLAs that fit the service. Only once the service has got
momentum will a provider look to see how they can expand the SLA to
get more customers (but also remember that this sort of expansion is
going after a very small customer population... that why it isn't
priority #1).
Here's the crux of the SLA: Almost to a one they guarentee a high
degree of uptime, but most don't really say anything much about reboots
or minor rollbacks and most customers either don't ask or don't care.
If a customer needs something more sophisticated then he's going to pay
through the nose for it. The vast majority of these services are
provided to customers who don't care about anything other then uptime.
That is what drives the market. High-end nitch providers deal with
the remainder.
--
You do get a lot of SLA potential for free with virtual kernel
instances. When a customer instance is nothing more then a disk image,
and managing that disk image requires nothing more then copying it to
another machine, or basing it on a networked filesystem so it can be
run on any machine, or replicating it to provide downtime guarentees
by simply booting the instance on another machine when the primary
goes down... well, think about how much work that would be for
one of us to automate? I can't imagine it would take more then a day
to put together and automate the management infrastructure.
When I first started using virtual kernels for testing I got bogged
down in traditional thinking... I was thinking of the virtual kernel
kinda like an application running on a machine (which is how a jailed
environment is normally viewed). But that isn't the right way to think
about it.
The right way to think about a virtual kernel is to simply treat it
like a physical machine that happens to be portable. It's as easy
as putting the filesystem image on a NFS server and then running the
virtual kernel on any physical box I desire. No matter where I actually
run it, POOF, it boots up on my network and can be accessed as if it
were a physical machine. No matter what I stuff into that virtual
machine.. no matter how sophisticated it is or what applications and
services are run inside it, my external management of the image stays
the same. You can't get much better then that.
-Matt
More information about the freebsd-arch
mailing list