[dba-SQLServer] Syncing Virtual Machines

jwcolby jwcolby at colbyconsulting.com
Thu Oct 27 11:39:30 CDT 2011


Arthur,

Yes, an admirable discourse on the subject, in many ways and in some cases right on the money. 
Unfortunately missing from that is simply the acknowledgement of client size, and little things like 
accurately understanding the probability that I will run into something "not doable".

For example this client is in fact a virtual company consisting of himself and a brother and a 
handful of employees.  We are not talking a hundred million a year company with a server room fill 
of shiny toys and an entire suite of lawyers and accountants.  Everyone in this virtual company 
works out of their own home.

So I do this, and he pays my bills, but to try and hire the "big guns" to come in and help me is a 
non starter.  I would end up eating a huge bill.

Additionally missing is an accurate representation of how I can figure out that I am going to hit 
something I can't figure out in a reasonable time frame.

I decided that I really need virtual machines.  In fact I could live without them (as is true with 
just about everything in life) but they solve some problems neatly, and boy do they ever.  I have a 
3rd party software that is the center of this business which runs on my machine.  I used to have it 
native install on hardware, but it is a royal pita to set up and license.  Once that is done, it 
runs happily until... the hardware changes.  Throw that in a VM and voila, copy the vm to another 
server on the new hardware and your are done.

There are three other very useful VMs that I own, one where we do all of the C# development, what I 
call vmDev.  Again, setting up a VM allows me to install visual studio, get it talking to the source 
control and so forth.  There is a ton of setup required for that stuff but once done, I can just 
move the VM to faster hardware.

So I launch into VMs.  Can I just call up my small business client and explain to him that VMs are 
cool, they save me all this hassle and "oh by the way", no idea how much this will cost but just 
pony up a 10K check for hiring the big guns.  That seems unlikely to fly.

So I do it myself.  And guess what, it is reasonably easy to do.  And I have the knowledge in-house 
(my head) and I use that knowledge to do the basics and I remember the basics.

Now... it comes time to back up the VMs.  OMFG is that a nightmare!  And I spend a ton of time 
studying this crap and never do get it working.  And I manually copy machine directories which at 
least gets them backed up but is a crappy solution.  So 6 months later I take another stab at it and 
OMFG is it (still) a nightmare!

It is in those "OMFG is that a nightmare" scenarios where I spend non-billable hours that truly 
annoy me.  A lot of "non-billable" hours truly are just the cost of doing business but there are 
other things like backing up a VM where it should just work.  But it doesn't.  And I cannot figure 
out why, nor can I calculate how much time I will spend to get it working, nor can I calculate how 
much I would spend to hire the big guns to fix it.  Nor do I even know any big guns to fix it.

Again, it kind of boils down to scale.  For a big company you just put it in the budget for these 
kind of things, but there is a large income to carve that line item out of.  You just call the IT 
guy into the office and tell him to get it done and he goes away and gets it done, out of the budget 
line item you provide.  In my case I am the IT guy and it comes out of my rent.  I just can't 
realistically pass it up.

I understand perfectly what you are talking about Arthur.  I long ago stopped doing my own plumbing 
and electrical work, which is the same concept.  I can hire it done cheaper than I can do it myself. 
  But I can pretty accurately estimate the cost / bene ratio and I know where to go find the 
plumber.  In something this complex I really can't forecast whether I may end up paying someone a 
ton of money I don't have and can't recoup.

*Those* are the issues that are just not fun as a sole proprietor.

John W. Colby
Colby Consulting

Reality is what refuses to go away
when you do not believe in it

On 10/27/2011 11:45 AM, Arthur Fuller wrote:
> IME, the weakest link in the chain is its breaking point. One cannot be
> skilled at everything. One among many skills I lack is practical
> applications of the advanced accounting rules. Hence, that's the first of my
> (lack of) skills to replace with a professional. Yes, it costs, but yes, it
> saves the hassle and also the loot.
>
> My accountant showed me how to factor overhead (e.g. backup time, etc.) into
> each client's billing. To oversimplify, there are two additional billable
> items: Maintenance and Research. Consider (to quote my accountant) the
> alternatives: imagine if you were an in-house employee; these costs would be
> part of the big picture. There is no reason for you to absorb all these
> costs as "unbillable hours". You have a few choices how to deal with this
> issue, but every client will immediately understand the issue once it is
> spelled out. To take a few examples:
>
> a) time spent backing up the Dev|Test|Production versions of any given
> project;
> b) hardware and software expenses incurred to support any given and all
> clients;
> c) version-control management, with ability to rollback etc.
>
> These issues can be handled in two ways:
>
> a) do it all at once and divide the time among the clients; or
> b) do it client-by-client and add "Maintenance" as a line item on the
> invoice.
>
> In the first case, divide the time by the number of active clients and add a
> monthly line item. In the second case, take the extra time to do it
> client-by-client and add a monthly line item to each client.
>
> The clients' accounting people are well aware of the costs relative to the
> costs of doing it internally. What is not bill-able is the costs of running
> your office (electrical, rent, cubicle-space, etc. if it were done
> internally). OTOH, if I have to upgrade my hardware in order to match the
> client's, that IMO is billable. Had I been an employee rather than a
> contractor, then obviously the costs would have directly been directed to
> said client. If you have an argument with this, consider a client that has
> 200 workstations and a dozen servers and expects safe-rollover etc. How can
> a small developer emulate this situation? Probably not without a few
> servers, a significant investment in hardware and software (esp.
> virtualization).
>
> Recalling a previous project, which involved a db of about 100GB, spread
> (mainly for security and legal reasons) across 8 servers. How am I as a
> small developer supposed to emulate that, on my billable hours? This is what
> they used to call "reductio ad absurdum", back in the days of Latin. Given
> my current at-home hardware+software, it is flatly impossible; therefore to
> be able to emulate this environment, I must invest $$$, and I do not believe
> that these costs should come out of my billable hours. That IMO is just
> plain silly. The client has two choices: either buy the equivalent HW and
> lend it to me for the duration of the project, or accept a significant
> fraction of the price of my own acquisition of enough HW/SW to emulate the
> client's situation.
>
> Add to this the costs of backing everything up on a timely fashion, plus the
> cost of the backup-storage media, plus the costs of the restore-software
> (i.e. something like DriveImage) and so on.
>
> Yes, the HW and SW on my machine(s) are my responsibility, but without the
> client's presence and HW/SW demands upon my installation, I could
> potentially be happy with an XBox, and that simple fact needs to be
> recognized in the billing procedure. Exactly the best way to acknowledge
> this is a matter of opinion, not to mention negotiation, but surely everyone
> on both sides of the table must recognize the realities of backup/ensure
> restore-ability, ensure that said backups are taken off-site daily (in case
> the house burns down), the additional fraction of the hydro costs, etc.
>
> Of course, this discussion will first of all occur with the client's project
> manager, who is under her own cost constraints, but if everything is
> sufficiently detailed (i.e. line items for time spent researching
> alternative approaches to a solution, backing up the current version,
> installation, version control, etc.), then it will all be justified all the
> way up the accounting chain, and the accounting people will realize that you
> still haven't billed for office space, hydro costs, etc.
>
> That's how my accountant explained it to me, and it worked. She repaid her
> costs about three times over, and significantly altered the ratio of
> hours-billed vs. hours-unbilled.
>
> Arthur
> _______________________________________________
> dba-SQLServer mailing list
> dba-SQLServer at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-sqlserver
> http://www.databaseadvisors.com
>
>



More information about the dba-SQLServer mailing list