Персональный сайт Олега Барабанова

Зачем начинающим разработчикам стоит для своих проектов выбирать виртуальные, а не физические сервера

Еще когда я писал дипломную работу (которую я успешно защитил 18.06.21), я как и любой другой дипломник, в работе ссылался на другие источники имеющие научную ценность. К сожалению, за все это время, я убедился для себя, что в академической среде в настоящее время выпускается огромное количество учебников и справочников с сильно устаревшей информацией. В дальнейшем я для себя обратил внимание, что в свежих научных статьях, публикуемых в серьезных источниках, огромное количество бредовых статей, основанных на устаревших данных.  Конечно иногда это весело читать, но с другой стороны грустно, т.к. публикуются эти статьи не в сатиристических журналах, а в научных. Самое грустное, что среди коллег, которые входят в профессии ИТ-сферы, немало людей, доверяющих этим статьям и потом осознающих на практике печальную картину бреда.

Одним из таких моментов является непонимание (или незнание) преимуществ использования аренды виртуальных серверов, по сравнению с физическими серверами. И даже после изучения этой области у некоторых есть уверенность, что экономическая эффективность старого б.у. сервера будет выше, чем арендованная виртуальная машина за пару баксов в месяц при сравнимых характеристиках.

Зачем нужны базовые знания *nix-систем?

Интересно, что нередко корнем проблемы является отсутствие опыта работы в *nix-системах (в особенности Linux !) ибо большинство недорогих арендуемых виртуальных машин работают именно на linux-системах. У таких людей работа в консоли вызывает ужас. Соответственно человек, работающий только под Windows и захотевший ознакомиться с арендой виртуальных серверов на этой системе, столкнется с достаточно высокой ценой, которая может отбить желание знакомиться с этим. А если еще и строится распределенная сервис-ориентированная архитектура, состоящая из множества серверов, то в итоге ценник может получиться огромным (ибо некоторые облачные технологий обещают облачную надежность по заоблачным ценам).

Кстати, вышеописанный пример является отличным ответом на вопрос, зачем IT-специалистам нужно знакомиться с Linux (WSL в Windows не в счет).

Преимущества VDS по сравнению с физическими машинами.

Но вернусь к теме и попробую своими словами обьяснить очевидные преимущества аренды виртуальной машины по сравнению с физической:

Вообще, когда проект проектируется - сложно сказать, какие у него будут требования к железу. Нужно будет 4 сервера с 64Гб ОЗУ каждый или вполне хватит 2 серверов с 24 Гб? В случае с использованием VDS с почасовой оплатой можно арендовать на короткий срок слабую конфигурацию и проверить нагрузочным тестированием, соответствует ли подобная конфигурация требованиям или нет.

К сожалению, при выборе провайдеров, предоставляющих облачные ресурсы, можно столкнуться с проблемой overselling - при которой провайдер перепродает одни и те же физические мощности сервера по несколько раз, по причине того, что многие клиенты не используют (во всяком случае постоянно) выделенные мощности на все 100%. Обычно на очень дешёвых хостинг-провайдерах, этот overselling достаточно хорошо ощущается.

Какой совет в итоге?

В итоге новичкам я хочу посоветовать одно - при проектировании какого-то серверного ПО вспомните про принцип KISS, выберите какого-нибудь провайдера и просто арендуйте у него нужную вам виртуальную машину и занимайтесь своим проектом. Пусть обслуживание физических серверов останется уделом профессионалов в этой области.