About server virtualization.
Pros and cons of using. As well as legends and myths.
In his publication (https://www.facebook.com/askar.kopbayev/posts/10155254595509838) Askar Kopbayev spoke in a simple language about server virtualization. In my turn, I want to try the same way to talk about the pros and cons of virtualization, as well as talk about existing myths and, if possible, debunk them.
A brief digression.
No matter how strange it sounds, but the series of articles will be chronologically arranged in accordance with my working experience, it just so coincided that I was lucky to meet with various options for server virtualization on my work path.
So, let’s begin.
Part one. Infrastructure on physical servers.
The complete lack of virtualization as such. 2003-2004 year.
During this period, I worked for a software development company. Let’s try to count infrastructure servers, such as a domain controller, mail server, remote access server, file server, version control server, plus test and production servers for each project – about 50 physical servers in total. Prices for entry-level servers in those days easily reached 10-20 thousand dollars.
All this was aggravated by the terrible zoo of form factors (all sorts of variations of AT cases, cases which was like bedside tables on rollers, ATX towers), as well as completely indescribable mass-dimensional (sometimes over a hundred kilograms) server characteristics.
All this stuff was located in the so-called server room, which was an isolated room, the area of square meters 20-25. There was produced a lot of kilojoules of heat by servers and room was only cooled by window air conditioners. It was simply impossible to work in the server room for more than 10-15 minutes. (on the one hand it’s hot, on the other it’s cold). At the same time, given the operating conditions, the service life of the equipment fell sharply in comparison with the calculated one. And the main minus was that in fact the scheme used was 1 server – 1 service, that is, roughly speaking, the average use of server resources was at the level of 3-5%.
In addition, the lack of a single administration console made server administration extremely difficult, in the event of a freeze, the engineer needed to connect a monitor and keyboard to the server. Only subsequently KVM switches appeared on the Kazakhstan market (that is, devices that allow using 1 set of keyboard-monitor-mouse with several servers ), which greatly facilitated administration.
There was no talk of any fault tolerance, in fact, only raid controllers were used to exclude data loss during the misfunction of one of the hard drives. As to back up, it was configured to copy info to servers that were also in this room.
As you can see, even in those days, the infrastructure on physical servers was cumbersome, inconvenient in terms of administration and maintenance, carried the risks of interruption of certain business processes in the event of equipment failure, and also required high operating costs.
Currently, using virtualization technologies, all of the above could be replaced by one or two servers and a backup software data center in the cloud. Which, in fact, would solve almost all of the above problems of the level of small and medium-sized businesses.
Naturally, increasing requirements for infrastructure will entail its complexity.
What are the benefits of server virtualization?
- Consolidation – allows you to utilize server equipment at full capacity. Which in turn reduces the capital and operating costs of the business.
- High availability – allows you to ensure the continuity of business processes. In the event of equipment failure, the service will restart on the backup equipment, and existing technologies (for example, FaultTolerance) allow you to keep a hot copy of the necessary service on hand, so that if the equipment fails, users will continue to work on the backup node without interruption even for a second .
- In his article, Askar Kopbayev notes one of the main advantages is clustering, but I would add the convenience of scaling to this. For example, if your computing power has come to an end, you can always buy an additional server and add it to the shared resource pool. Moreover, this can be done literally within one to two hours.
- Ease of administration – after the initial setup of servers and hypervisors, you no longer need to keep the system administrator permanently in the office. In fact, now the servers can be controlled from anywhere where the Internet is, of course.
- Ease of backup – almost all hypervisors today support snapshots (snapshots) – the creation of a certain control point. To which, if necessary, you can roll back, and in a very short period of time. To be honest, snapshots are not the best way, but more on that in the following articles. Today, the market offers many backup solutions for virtual infrastructure. One of the main vendors is Veeam.
- Migration – Migration in a virtual environment can be done hot. That mean invisibly to users, which leads to the fact that physical servers can be serviced without interrupting users.
Naturally, listing the pros, I should say about the cons, which by and large are nothing more than myths:
1. Virtualization is expensive.
Yes, virtualization can be expensive, at the implementation stage. But subsequently the virtual infrastructure saves you money, both operating and capital costs are reduced.
By the way, virtualization can be free. But you have to spend time exploring free products and implementing them yourself. Otherwise, labor must be paid.
P.S. However, the myth at one time had the right to exist, since there was no virtualization on x86 processors. However by that time it was already present on IBM mainframes (these are such complex servers) and POWER-based servers. Which were and are, well, very expensive and were mainly used by banking institutions. I also had a similar experience, to which I am also going to devote an article.
2. Virtualization is complicated.
In fact, everything is extremely simple. There are difficulties at the planning and implementation stage. But you can train a specialist to create and maintain virtual machines within a few days. Well, this is for very serious cases. Of course, these are primitive operations, but for a small business they are quite enough.
3. Virtual machines are slower than physical machines.
In fact, this is a true myth, the benchmark results do not confirm it. However, there is a certain type of software developers who, for an incomprehensible goal, kills the support of their software in a virtual infrastructure by checking the equipment for the signatures of hypervisors. The reason is completely incomprehensible to me, but I myself saw such cases, as its says.