Для меня это будет состоять из:
Трафик направляется через брандмауэр, а затем через балансировщик нагрузки на N + 1 (веб) серверы. Веб-серверы подключены к кластеру кластеров SQL-серверов за ними и запускают состояние через распределенную службу состояний. Это обеспечивает защиту от брандмауэра, избыточность соединения (NLB) и избыточность данных (кластеризованный SQL).
Классическими словами любого опытного системного администратора: это зависит. Каковы цели организации, владеющей веб-сайтом? Если веб-сайт является форумом по интересам, которым руководит племянница подруги моего брата в качестве эксперимента для ее компьютерного класса, то балансировка нагрузки N + 1 будет считаться чрезмерным излишеством и выходом за рамки ее бюджета.
Я бы сказал, что идеальная среда - это та среда, которая соответствует потребностям и ожиданиям человека или организации, владеющей веб-сайтом.
Для небольших сайтов, которые по сути представляют собой электронные брошюры, может быть достаточно одного веб-сервера за NAT-маршрутизатором в их офисе, подключенного к кабельной или DSL-линии. В случае критически важных веб-сайтов или приложений электронной коммерции наличие всего избыточного с автоматическим переключением при отказе может быть идеальным, если затраты могут быть оправданы.
Так что на самом деле это зависит от потребностей клиента.
Идеальная среда веб-хостинга - это среда, которая обеспечивает начальную рентабельность, минимальные текущие расходы на обслуживание, подходящую производительность для поставляемого приложения / сайта, безопасность (включая избыточность) до уровня, который владелец готов финансировать, и возможность масштабирования таким образом, чтобы обеспечить постепенное увеличение затрат и производительности.
Это не что-то одно.
То, что вы предлагаете, например, не имеет географической избыточности (оно предлагает избыточное сетевое соединение, но один удачно размещенный торнадо позаботится об этом). Для некоторых приложений это было бы неприемлемо (сайт социальной сети, поддерживаемой рекламой), но для других - нет (сервисы обработки кредитных карт, финансовые услуги, бизнес-приложения, размещенные на хосте).
Некоторым бизнес-предприятиям вообще не потребуется никакого уровня резервирования, или они не смогут себе этого позволить. Один экземпляр виртуального сервера с веб-сервером, сервером базы данных и SSH-сервером - это все, что когда-либо понадобится некоторым веб-сайтам.
На самом деле это не техническая проблема. Это проблема финансов и управления. Если у руководства есть деньги, мы, технические специалисты, можем сделать все, что угодно.
Я могу добавить к этому списку две вещи:
Вы можете подумать об отделении вашего веб-контента от реальных веб-серверов. У нас есть 2 резервных сервера контента, и мы монтируем контент через nfs на веб-серверах И на машине разработчика. Это дает преимущества в плане безопасности, поскольку на общедоступных машинах нет дополнительных учетных записей пользователей или запущенных служб, и вы можете предотвратить доступ на уровне root через nfs. Это также устраняет необходимость синхронизировать ваши веб-серверы, поскольку существует только один общий источник контента.
An идеальный среда также должна включать в себя какой-то мониторинг доступности сайта / времени ответа. Это можно сделать локально, используя nagios или что-то подобное, однако лучшим решением было бы отслеживать вещи так, как их видит мир, используя стороннюю распределенную службу, такую как mon.itor.us