• Microsoft .NET
  • ASP.NET
  • Доступная производственная архитектура программного обеспечения как услуги на базе ASP.NET и SQL Server

Доступная производственная архитектура программного обеспечения как услуги на базе ASP.NET и SQL Server

ОГЛАВЛЕНИЕ

Итак, вы задумываетесь о том, как спроектировать физическую архитектуру, обеспечивающую производительность, масштабируемость, безопасность и доступность продукта? Как обеспечить безопасное подключение группы разработчиков к рабочим серверам? Как выбрать правильное оборудование для веб-сервера и сервера базы данных? Здесь даны ответы на эти и многие другие вопросы .

Введение

Имеется популярный продукт ASP.NET+SQL Server, растущий со скоростью тысяча пользователей в день, и достигнут предел возможностей вашего собственного хостинга. Теперь, имея достаточно денег в кармане, вы планируете переехать на сторонний хостинг, возможно, на совместное размещение или на управляемый хостинг. Итак, вы задумываетесь о том, как спроектировать физическую архитектуру, обеспечивающую производительность, масштабируемость, безопасность и доступность продукта? Как добиться доступности на уровне четырех девяток (99.99%)? Как обеспечить безопасное подключение группы разработчиков к рабочим серверам? Как выбрать правильное оборудование для веб-сервера и сервера базы данных? Следует ли использовать сеть хранения данных (SAN) или только локальные диски на RAID(массив резервных недорогих дисков)? Как безопасно подключить офисные компьютеры к производственной среде?

Здесь даны ответы на все эти вопросы. Сначала показана схема для Pageflakes, обеспечивающая доступность на уровне четырех девяток. Так как Pageflakes является SaaS(software as service - программное обеспечение как услуга) уровня 3, крайне важно построить высокопроизводительный, высокодоступный продукт, который можно использовать круглосуточно (24/7) и в любой точке мира, причем конечный пользователь получает быстрый доступ к своему контенту, с полной персонализацией и кастомизацией контента, и может делиться им с другими и с миром. Итак, следующая производственная архитектура является очень хорошим кандидатом на SaaS уровня 3:

Для начала  беглый обзор:
•    Уровень веб-сервера содержит три веб-сервера в режиме балансировки нагрузки. Каждый веб-сервер вмещает строго одинаковую копию кода и другие артефакты веб-приложения ASP.NET. IIS 6 сконфигурирован строго одинаково. Веб-приложение использует сессию и аутентификацию форм на базе SQL Server.
•    Веб-серверы обращаются к кластеру SQL Server. Есть два активных/пассивных кластера. Один кластер вмещает главную базу данных, хранящую пользователей, страницы и виджеты, а второй кластер вмещает остальные базы данных, такие как отчеты, журналы, геопозиционирование, кеш, RSS(Rich Site Summary - обогащённая сводка сайта), и т.д. Базы данных разделены, исходя из их нагрузки ввода-вывода, так что каждый кластер имеет примерно одинаковую нагрузку ввода-вывода.
•    Серверы базы данных подключены к EMC SAN, где имеется пара томов SAN. В каждом кластере имеется том SCSI RAID 10 для хранения MDF, том SCSI RAID 1 для хранения LDF и том SATA RAID 1 для хранения журналов.
•    Есть один резервный кластер, хранящий доставленный журнал транзакций SQL Server и зеркальное отображение всех баз данных. Это обеспечивает логическое резервирование баз данных, чтобы при повреждении схемы базы данных при выпусках можно было вернуться к резервной базе данных.
Далее объяснены все до единого уровни и аппаратные компоненты и решения, связанные с их выбором.