Что легче масштабировать позже - 1 сервер с полным стеком LAMP непосредственно в ОС или 1 сервер с VMWare Server 2 с 2 виртуальными машинами - одна работает с apache и PHP, а другая - MySQL.
Приложения, которые я буду запускать, написаны на PHP и используют MySQL. В конце концов, может возникнуть необходимость в увеличении масштабов - и мне интересно, будет ли это проще сделать из среды виртуальной машины или из физической.
Я планирую использовать 64-битную SLES в качестве ОС - как для гостей, так и для хостов.
Спасибо за вашу помощь.
Если вы знаете, что собираетесь масштабировать свое приложение далеко за пределы возможностей одного сервера, то виртуализация, очевидно, не требуется. Он все еще может быть действительно хорош для восстановления сервера и тому подобного. Обратной стороной являются накладные расходы: когда вы распределяете несколько сетевых процессов по нескольким виртуальным машинам, вы немного замедляете их.
«Классическая» история масштабирования LAMP может выглядеть так:
Первый 1 сервер с полным стеком LAMP прямо на одном сервере.
Затем 2 сервера: 1 для веб-обслуживания; и 1 с большим количеством ОЗУ и дискового ввода-вывода для MySQL.
Затем 4 сервера: 1 для балансировки нагрузки с липкие сеансы на основе исходного IP-адреса (и, при желании, обслуживание статических файлов, разгрузка SSL); 2 для веб-обслуживания; и 1 с большим количеством ОЗУ и дискового ввода-вывода для MySQL (и, возможно, резервный сервер MySQL с горячим резервом).
В этом прогрессе я не считаю виртуализацию настолько полезной. Как ни странно, после 4 серверов виртуализация снова становится более актуальной - следующим шагом могут стать облачные вычисления.
Но есть еще одна вещь, которую следует учитывать - как насчет дополнительных серверов, таких как почтовые серверы, сервер мониторинга, репозитории установки пакетов и т. Д. Вам нужны какие-либо из них? Если это так, они могут быть хорошими кандидатами для виртуализации, поскольку им, вероятно, не требуется полная мощность серверов.
мысленно подготовьте себя к сегментированию данных [и рано или поздно серверов приложений]. например, используйте несколько разных баз данных для шардов и уже имейте логику разделения, встроенную в ваше приложение.
Я думаю, что вначале вы можете все запускать с одной машины - у вас действительно будет лучшая производительность, и перенос осколков sql на разные машины в будущем должен быть относительно безболезненным.
Вы собираетесь добавить накладные расходы на виртуализацию. Я бы просто использовал LAMP на одном сервере и, когда возникнет необходимость, добавил еще одну машину и переместил на нее MySQL (может потребоваться небольшое время простоя для переключения, если вы знаете, что делаете).
С этого момента вы можете начать добавлять больше веб-серверов с балансировкой нагрузки между и большим количеством серверов MySQL с репликацией.