Находясь в защищенной инфраструктуре провайдера, клиенты получают гарантии высокой доступности сервиса, безопасности и возможности работать из любой точки мира. Однако виртуальные машины, развернутые в рамках IaaS-инфраструктуры, зачастую выполняют гораздо более серьезные функции. Почему стоит отдавать предпочтение виртуальным машинам, а не физическим серверам? Требуется ли стопроцентное резервирование ресурсов в публичном облаке? На эти и другие вопросы ответим в статье.
Преимущества ВМ над физическими серверами
В чем разница между виртуальными машинами и физическими серверами? Почему сегодня так много говорят о плюсах виртуализации, переводя физическую реализацию к разряду экономически неэффективных методов ведения бизнеса? Факты и наглядные примеры помогут в этом разобраться.
Давайте вспомним ситуацию, когда ресурсов физического сервера становилось недостаточно. Первым делом приходилось докупать дополнительные линейки памяти, расширять дисковое пространство, в худшем случае – менять процессор или выполнять полный апгрейд оборудования. При добавлении ресурсов чаще всего требуется выключать сервер. От этого, безусловно, страдают пользователи, ведь подобные действия провоцируют остановку работы приложений. К тому же на разборку и сборку сервера уходит немало времени, не говоря о том, что поиск и покупка совместимых комплектующих – тоже трудозатратная процедура.
«А как же «горячая» замена составляющих?» – спросите вы. Ведь такой формат работы позволяет без прерывания работы оборудования добавлять новые ресурсы. Несмотря на то что существует и такой вариант решения проблемы, он все же не дает той гибкости в конфигурации, которую можно получить при использовании виртуальных машин. В случае с ВМ изменение конфигурации происходит за несколько минут, а в зависимости от ОС иногда даже без остановки работы машины. В любом случае увеличение процессорных мощностей, оперативной памяти или дисков выполняется гораздо быстрее, нежели в случае с физическим оборудованием, пусть даже поддерживающим режим работы Hot Swap.
Важно понимать: виртуальные ресурсы не ломаются! Это означает, что даже в случае выхода из строя физической части оборудования на стороне провайдера виртуальная машина будет автоматически запущена на другом, менее загруженном оборудовании.
Многие клиенты, перенося физическую инфраструктуру на облачную площадку, тянут за собой совершенно ненужные для виртуального окружения привычки. Это, к примеру, касается вопроса резервирования ресурсов для виртуальных машин. Стоит ли уделять внимание этому вопросу? Давайте посмотрим, чем процедуры в облаке отличаются от аналогичных процедур для физических хостов.Почему не стоит резервировать ресурсы ВМ на 100%
# Резервирование ресурсов для физического сервера
Итак, резервирование ресурсов для физического сервера основывается на предоставлении максимально возможного объема мощностей, например дисковой памяти, исходя из расчетов жизненного цикла сервера и возможной нагрузки в ближайшие пару лет. Поскольку нагрузка на сервер со временем увеличивается, заказчик, учитывая эту особенность, помимо дисковой подсистемы, наращивает процессорные ресурсы и количество оперативной памяти, выделяя гораздо больше, чем это требуется в настоящее время.
# Резервирование ресурсов для виртуальной инфраструктуры
Как обстоит дело с виртуальной инфраструктурой? Здесь процесс выглядит несколько иначе: для виртуальных машин выделяют ровно столько ресурсов, сколько требуется на текущий момент. А если мощностей становится мало, их можно добавить позднее по необходимости и без перерыва в работе систем и сервисов. Именно по этой причине не стоит делать «стратегических запасов», ведь чрезмерное выделение CPU, RAM, HDD приводит к неэкономному использованию инфраструктуры и понижению уровня консолидации.
Помните! Предоставление необходимых мощностей, которые требуются здесь и сейчас, делает виртуальные машины гибкими в конфигурации. Это гарантирует высокий уровень загрузки, который составляет порядка 70 %. В сценарии с физическими серверами дополнительные ресурсы закладываются на случай непредвиденного увеличения спроса или отказа оборудования, что приводит к излишней трате денежных средств. При этом средний уровень загрузки типового физического сервера далек от идеала и составляет около 7–15 %. Таким образом, купив сервер за 100 % стоимости, чаще всего используют лишь 10 %.
Заключение
В завершение приведем еще несколько примеров, отлично иллюстрирующих, почему не стоит гнаться за 100%-ным резервированием ресурсов в виртуальной IaaS-инфраструктуре.
- Во-первых, если на хосте запущены виртуальные машины с большим количеством виртуальных процессоров (vCPU), которые вы решили зарезервировать на всякий случай, и их сумма оказывается больше, чем количество физических ядер, велика вероятность замедления работы отдельных vCPU из-за невозможности обеспечения синхронной работы в рамках одной ВМ. Такое явление носит название Co-Stop, которое чаще проявляется в результате нехватки количества физических ядер для одновременного цикла. Исходя из этого лучше использовать один процессор, загруженный на 80 %, чем четыре по 20 %.
- Во-вторых, если виртуальные машины с большим запасом ресурсов переносятся с хоста на хост в случае disaster recovery, это происходит гораздо дольше и сложнее, нежели в случае с ВМ, имеющими небольшое количество задействованных процессоров и оперативной памяти.
И, наконец, если серверная ВМ претерпевает пиковую загрузку раз в год, скажем, в новогодние праздники, когда наблюдается повышенный спрос на покупку подарков, а в остальное время машина работает на 20 % своих ресурсов, лучше урезать ресурсы в 4 раза, а в случае всплеска обращений добавить необходимые мощности.