Lee H. Marzke on 7 Nov 2017 06:58:46 -0800

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] small business server virtualization?

See below.

From: "Douglas Muth" <doug.muth@gmail.com>
To: "Philadelphia Linux User's Group Discussion List" <plug@lists.phillylinux.org>
Sent: Monday, November 6, 2017 10:22:31 PM
Subject: Re: [PLUG] small business server virtualization?
On Mon, Nov 6, 2017 at 1:08 PM, Greg Helledy <gregsonh@gra-inc.com> wrote:
Does the overhead of virtualization make sense for small organizations? We have various applications running on two physical servers and run into the situation where two or more applications need Apache so configuration of one potentially interferes with configuration of another.  And likewise, upgrades or maintenance of one application require the server to be taken offline for a while, cutting off access to others.
Can it make sense to virtualize so that each application has its own OS instance, which can be powered on and off, upgraded, etc. independently, for a small business?

Yes, absolutely.  In fact, needing to separate two applications that don't play nice with each other is a great use case for putting each app in its own VM.
Right,  have been doing that for years,  and it is so much easier.
It looks like VMWare's vSphere Essentials would run us $500 or so a year, is it worth it to pay that?  What's the best alternative as a bare-metal hypervisor, Xen?  KVM is a no-go because we have to be able to do Windows servers, too.

The Windows requirement is unfortunate, because if it was strictly Linux, I'd say you would be able to get servers from Digital Ocean or Linode for as little as $5/month and go from there.

Amazon Web Services costs a little more, but they do offer Windows instances: https://aws.amazon.com/  A Windows VM with 8 GB of RAM and 2 CPUs will run you 12.08 cents per hour.  That's a little costlier than Linode and Digital Ocean, but they also offer a free tier for the first year so you can try out the service.
The problem with Amazon and most other cloud services is that they offer NO SLA for a single server.    You are expected to design your application to
run on two different servers in different zones behind a load balancer ; period.     So if you have only one server and it goes down  they SLA says that is not an issue for them because
you gave up your rights for any recourse when you didn't use two servers in different availability zones.

Any server in a single AZ can go down without warning at any time - not their problem.  Now, in practice,  the US-EAST zone had some really long up-times for
customers and many customers went without using multi-zone's,  and then you hear all the crying when the failure eventually happens and they are down
for 12 hours.

It's even worse than that.  The Amazon SLA says that a failure is only their fault when ALL of AWS is down.  So if you have 1 out of 10 servers go down, it's not part of their
guarantee.  Basically they are giving an SLA for Amazon as a whole, not your application SLA.   If they have a glitch and are down for 1 second, but your server
crashes and is down for 24 hours because it hung,   they are only on the hook for 1 second.

So if you have a tiny business that management doesn't care about  SLA's then perhaps you can take the risk.   But otherwise for companies that need a
guarantee of service (SLA) then this requires two servers.   Now if you are willing to do the software redesign to make your application work on two
servers behind a load balancer  , you'll have to pay the NRE yourself to do that,   and they you wind up paying more 2X the price per hour for the cost of
two instances, plus the cost of the load balancer.     If your running commercial windows apps,  your likely out of luck unless it's a simple web server app.

A good business case is NetFlix which runs on Amazon.   They  have a special service 'chaos monkey' that randomly kills ANY of their servers, doing this
all the time, just to test that their recovery works.    Also Netflix runs the  "Directory listing"  on amazon, with the actual streaming of movie
content from their private data center.     As you would guess, the performance and reliability for streaming just doesn't work on Amazon.

>Not that there's anything wrong with VMWare, but using the solutions I mentioned means you don't have to set up and configure physical servers, and only pay for what you use.

So for development and hobbyist use this often makes sense.   But for any reliable service the once the NRE to redesign the service,  and 
the cost of running two or more instances , plus a load-balancer  it may turn out to be more expensive that just running it in-house.    In fact many
companies ( Apple, Dropbox, Gitlab. etc. )  that went all-in on Cloud are now moving back on-prem because the hidden and unexpected costs
and un-reliability grew so much.

Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug

"Between subtle shading and the absence of light lies the nuance of iqlusion..."  - Kryptos

Lee Marzke,  lee@marzke.net     http://marzke.net/lee/

Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug