0

I am designing server for middle sized company which should offer services as accountancy software, property record software, file server etc. My idea is using Hyper V server as type 1 hypervisor. As virtual OSes I need use Windows for one of the requested software (company has the license). For other software I am thinking about 1 virtual OS for 1 application + virtual server dedicated for database which would serve for all virtual OSes + virtual OS for file server. I am attaching an outline.

outline

Is this a sane idea? Should I consider Kubernetes as a platform for my apps? Thanks for ideas.

  • 1
    As these days security considerations demand that restoring after a total failure is much more than an afterthought or unimportant side issue, please do not build anything larger than you can comfortably *also* plan how to backup & restore. – anx Jun 06 '21 at 10:44
  • 1
    Whether you should deal with virtualization yourself or have some cloud hoster do that for you depends a lot on specifics of your requirements & intent to retain in-house capabilities, I don't think that can be answered in an *objective* manner from your question as is. – anx Jun 06 '21 at 10:46
  • Understood. To answer first reply, that is why I consider model 1 app=1 virtual os. These OS are without state since all data are kept in dedicated and backuped database server. So restoring would be pretty easy. – hardcheese Jun 06 '21 at 10:50
  • 1
    @hardcheese Should you use k8? Sure - if the services are intended and suited for k8 then that's probably a good idea. However, if your accounting system is a behemoth from 1985 (as many are), it's probably not possible. In short: your question is impossible to answer as it stands, as it entirely depends on the software and needs. – vidarlo Jun 06 '21 at 11:00
  • Why do you think kubernetes is even usable? Not being snippy here - but unless you control the whole app universe, there is a good chance that something the company uses at least is not supported on it, and then you basically violate best practices. – TomTom Jun 06 '21 at 14:04
  • Yes literally everything except one service isn't written in container way. That is something I would have to do but right now I cannot see any advantage. That's why I asked about Kubernetes since I am not sure if it worths it. – hardcheese Jun 06 '21 at 14:51

2 Answers2

1

Yes, separating applications is standard practice. Limiting the number of things installed on any one instance is easier to maintain, and better security isolation.

Sure you could implement with VMs on Hyper-V, that is an option for compute platform.

Ask the organization to define what the recovery time objective should be. On a single server, if hardware failure took it down, all the applications would be down until it was replaced. Fixing it faster than a day may require same day service contracts, or multiple VM hosts in a highly available cluster. And test your backup restores.

Licensing is more complicated than having one single license. Ask a licensing person at your reseller to verify.

Containers, and especially Kubernetes, adds a quite different interface to compute. New concepts of container workloads, services, networking, and deployment methods. Something to explore, but applications would need to be adjusted to make use of the APIs. Do research and a proof of concept with your applications first before committing to containers.

John Mahowald
  • 32,050
  • 2
  • 19
  • 34
0

For such a simple setup I would not recommend hyper V, but vSphere directly (if budget allows).

Personally I would use a completely different approach (100% free), ie a FreeBSD machine (supermicro for example) with NVMe drives (to be mirrored via the zfs filesystem), plus some spinning HDDs for internal replica and backups, plus some very low-end SSDs for restore testing.

This can act as a samba "physical" shared file server On it I would run VirtualBox virtual machines for Windows, allowing you to use timed snapshots and also zfs replicas for example on a cheap NAS on iSCSI. For the rest of the Linux software (what is it?) almost certainly there is also a FreeBSD version (eg mariadb / mysql), which can therefore be safely used.

Pros:

  • use low-cost NVMe mirrored. Which is by no means easy to achieve.
  • almost total security with zfs
  • possibility of snapshots and backups far beyond that allowed by hyper-V (and vSphere)
  • no needs for expensive RAID cards
  • completely free (obviously @ net of Windows licenses)

Cons:

  • there is no convenient interface like that of vSphere to manage virtual machines. In fact I would NOT have recommended this solution if there were half a dozen or maybe 20 VMs

But one essential element is missing: a complete list of programs that must be used

  • Why VMware or VirtualBox, the question was about Hyper-V? – John Mahowald Jun 06 '21 at 12:58
  • "Should I consider Kubernetes as a platform for my apps"? Therefore I suggest to take another solutions. Just a suggestion – Franco Corbelli Jun 06 '21 at 13:26
  • I have no problem with another suggestions. Concerning Kubernetes I have software developer background where I had to use Kubernetes every day so I can use it on developer level. I was very happy with its functions but I am not sure it worths for my relatively small amount of requested software from company I work for. So right now I am considering model one virtual os for one app. Even maintain would be easier probably. – hardcheese Jun 06 '21 at 14:47