• 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 и зеркальное отображение всех баз данных. Это обеспечивает логическое резервирование баз данных, чтобы при повреждении схемы базы данных при выпусках можно было вернуться к резервной базе данных.
Далее объяснены все до единого уровни и аппаратные компоненты и решения, связанные с их выбором.

Читайте также:
  • Два перехватчика: HttpModule и HttpHandlers
    •    Скачать исходники и демо - 12.02 Кб Задача То и дело необходимо вставить какую-то логику перед запросом страницы. Часто используемой логикой предварительной обработки являются счетчики статистики, замена URL, аутентификация / авторизация и многие другие. Это можно делать в отделенном коде, ...
  • Взаимодействие Flex с веб-службой ASP.NET
    •    Скачать исходники - 3.45 Кб•    Скачать тест - 1.08 Кб Помните, что веб-служба – всего лишь средство. Есть много других средств вроде HTTPService, дистанционная связь Flex и т. д. Справка В статье Flex HTTPService с ASP.NET на CodeProject показано использование тега flex <mx:HTTPServi...
  • Изучение кэширования в ASP.NET
    Введение Большее число клиентов означает большее число запросов к веб-серверу и тяжелую нагрузку на сеть, вызывающую падение производительности. Для решения этой проблемы было применено кэширование в веб-приложении. Большинство описанных в статье вещей известно многим читателям, но статья была на...
  • Повышение производительности веб-сайта ASP.NET
    Если веб-приложение, вызывающее много служб и загружающее много данных на каждой странице с множеством фоновых вычислений из базы данных, тормозит - то надо сделать: 1. Сжатие HTTP Сжатие HTTP сжимает содержимое страницы на сервере. Оно сжимает запросы и ответы HTTP, что значительно повышает про...
  • Веб-формы ASP.NET и ASP.NET MVC в ладу друг с другом
    •    Скачать исходники - 442 KB Снимки экрана Простая демонстрация в действии. Первый снимок экрана обслуживается из классической веб-формы с URL: http://localhost:41650/Src/ClassicWebforms/Home.aspx. Второй обслуживается из приложения MVC действием "индекс контроллера «главная страница". URL: ...