Virtualization
There are two ways you can run your services:
- on dedicated hardware
- on a virtualized instance on a server.
When you virtualize a server, you’re putting lots of virtual instances on one server. Each instance contains a service. There are a bunch of pros and cons to running your services on either of these platforms. Here’s the rundown:
- Performance, a service running on a dedicated hardware will have better performance than service running in a virtualized environment.
- This is because you only have one service using one machine as opposed to many services using one machine.
- Cost, server hardware can be pretty expensive. If you put a service on one piece of dedicated hardware and had to do that for nine other services it starts to add up. One of the huge benefits to virtualizing your service is that you can have 10 services running on 10 different virtual instances, all on one physical server.
- Maintenance, service require hardware maintenance and routine operating system updates. Sometimes you need to take the service offline to do that maintenance.
- With virtualized service you can quickly stop your service or migrate them to another physical server. Then take as much time as you need for maintenance.
- Virtualized servers make server maintenance much easier to do. Points of failure, when you put a service on one physical machine, and that machine has issues, you’re entering a world of trouble.
- With virtualized servers, you can easily move services off a physical machine and spin up the same service on a different machine as a backup.
Pro tip, you can prevent a single point of failure on a physical machine if you have a redundant servers set up, meaning you have duplicate servers as a backup