csnotes/412/hardware-strats.md
2019-09-16 19:39:36 -07:00

70 lines
1.9 KiB
Markdown

# Hardware deployment Strategies
## Virtual Desktop Interface
aka 0-Clients: network hosted OS is what each client would use.
In some cases that network is a pool of servers which are tapped into.
Clients can vary in specs like explained below(context: university):
> Pool for a Library
Clients retain low hardware specs since most are just using office applications and not much else.
> Pool for an Engineering department
Clients connect to another pool where both clients and pool have better hardware specs/resources.
The downside is that there is _1 point of failure_.
The pool goes down and so does everyone else, meaning downtime is going to cost way more than a single machine going down.
# Server Hardware Strategies
> All eggs in one basket
Imagine just one server doing everything
* Important to maintain redundancy in this case
* Upgrading is a pain sometimes
> Buy in bulk, allocate fractions
Basically have a server that serves up varies virtual machines.
# Live migration
Allows us to move live running virtual machines onto new servers if that server is running out of resources.
# Containers
_docker_: Virtualize the service, not the whole operating system
# Server Hardware Features
> Things that server's benefit from
* fast i/o
* low latency cpu's(xeons > i series)
* expansion slots
* lots of network ports available
* EC memory
* Remote control
Patch/Version control on server's
Scheduling is usually slow/more lax so that server's don't just randomly break all the time.
# Misc
Uptime: more uptime is _going_ to be more expensive. Depending on what you're doing figure out how much downtime you can afford.
# Specs
Like before _ecc memory_ is basically required for servers, good number of network interfaces, and solid disks management.
Remember that the main parameters for choosing hardware is going to be budget, and necessity; basically what can you get away with on the budget at hand.