25
Архитектура за скалируема платформа за уеб хостинг с IIS Владимир Чалков CEO Crossroad Ltd. Дата

Архитектура за скалируема платформа за уеб хостинг с IIS

Embed Size (px)

DESCRIPTION

Дата. Архитектура за скалируема платформа за уеб хостинг с IIS. Владимир Чалков CEO Crossroad Ltd. За какво ще говорим. Проблемът с уеб хостинг Какво предлага IIS7 & 7.5 платформата Добри практики Полезни връзки. Проблемите. - PowerPoint PPT Presentation

Citation preview

Page 1: Архитектура за скалируема платформа за уеб хостинг с  IIS

Архитектура за скалируема платформа за уеб хостинг с IIS

Владимир ЧалковCEOCrossroad Ltd.

Дата

Page 2: Архитектура за скалируема платформа за уеб хостинг с  IIS

За какво ще говорим

− Проблемът с уеб хостинг− Какво предлага IIS7 & 7.5

платформата− Добри практики− Полезни връзки

2

Page 3: Архитектура за скалируема платформа за уеб хостинг с  IIS

Проблемите

− Трябва да може да се стартира нетестван, пълен с бъгове и чуплив код по ефективен начин

− Изисквания:− Да се предотврати монополизирането

на съвръра от едно приложение− Да се изолират всички приложения

едно− Да се минимизират разходите− Да може да се скалира добре

3

Page 4: Архитектура за скалируема платформа за уеб хостинг с  IIS

Какво предлага IIS 7

− Подобрен модел на изпълнение− “on-demand” архитектура,

оптимизирана за хостинг− Гъвкава система за конфигуриране− Множество опции за

администриране− Command-line, scripts, APIs

− Много добри възможности за анализ на проблеми

4

Page 5: Архитектура за скалируема платформа за уеб хостинг с  IIS

Service Host (SVCHost.EXE)

HTTP.SYS Kernel-Mode Listener

Windows Process Activation Service

(WAS)

World Wide Web Service (W3SVC)

Configuration (applicationhost.

config)

Архитектура на IISWorker Process (W3WP.EXE)

Static File Handler

PHP

ASP.Net

Read Configuration

Authenticate

Authorize

Map Request

Handle Request

Send Response

Log Request

Worker Process (W3WP.EXE)

Static File Handler

PHP

ASP.Net

Read Configuration

Authenticate

Authorize

Map Request

Handle Request

Send Response

Log Request

Worker Process (W3WP.EXE)

Static File Handler

PHP

ASP.Net

Read Configuration

Authenticate

Authorize

Map Request

Handle Request

Send Response

Log Request

Worker Process (W3WP.EXE)

Static File Handler

PHP

ASP.Net

Read Configuration

Authenticate

Authorize

Map Request

Handle Request

Send Response

Log Request

Page 6: Архитектура за скалируема платформа за уеб хостинг с  IIS

Service Host (SVCHost.EXE)

HTTP.SYS Kernel-Mode Listener

Windows Process Activation Service

(WAS)

World Wide Web Service (W3SVC)

Worker Process (W3WP.EXE)

Applicationhost.config Static File Handler

PHP

ASP.Net

HTTP Protocol Host

Request Queue

HTTP Listener

Channel

Response Cache

Bindings: http://*:80:site1

Log Request

Send Response

Handle Request

Map Request

Resolve Cache

Authorize Request

Authenticate Request

Read Configuration

Обработка на една заявка

Page 7: Архитектура за скалируема платформа за уеб хостинг с  IIS

Какво предлага този модел− Хостинг на хиляди сайтове

− Ефективно управление на ресурсите− Активация при необходимост− Работните процеси спират при липса на заявки към

тях− Мониторинг на приложенията

− Рециклиране на application pools− Базирано на параметри (продължителност, брой заявки и

др.).− Може да се ограничи броя на процесите, които може да

са активни в даден момент.

− Изолация на уеб сайтовете− IIS 7.5 по подразбиране стартира всеки pool във

отделен виртуален акаунт.

7

Page 8: Архитектура за скалируема платформа за уеб хостинг с  IIS

Конфигурация

− Няма вече метабаза− Конфигурационната система е:

− Делегирана− Конфигурацията на IIS опциите става в същия

web.config файл, чрез който се настройва и самото приложение.

− Лесна за използване− Добре структуриран и четим XML файл− Прехвърлянето между сървъри става с копиране

− Гъвкава− Цели секции или отделни атрибути може да се

заключват− Промените влизат в сила веднага

8

Page 9: Архитектура за скалируема платформа за уеб хостинг с  IIS

Конфигурация

− Глобална конфигурация: ApplicationHost.config− Съдържа всички сайтове, appPools, настройки по

подразбиране и др.…− Пътя към този файл се определя от redirection.config− Позволява заключване на определени опции− Поддържа XCOPY прехвърляне на настройките на друг

сървър.− Разпределена конфигурация: Web.config

− Намира се при съдържанието на сайтовете− Може да е локално или на мрежата− Може да променя настройки, които не са заключени

− Метабазата я има като опционален компонент− Съвместимост− Не поддържа новите настройки9

Page 10: Архитектура за скалируема платформа за уеб хостинг с  IIS

Споделена конфигурация

− Позволява:− Пренасочване на пътя на

конфигурационния файл към мрежата− Бързо преместване на приложения или

сървъри− Поддържане на синхронизирана

конфигурация между няколко сървъра− Лесно управляване на промените

между различните среди (продукционна, тестова)

10

Page 11: Архитектура за скалируема платформа за уеб хостинг с  IIS

Администрация

− Потребителски интерфейс− Може да се разширява с допълнителни модули− Отдалечен достъп през HTTP(S)− Може да се делегира

− Command-line− APPCMD command-line tool, заменя ADSUTIL.VBS− PowerShell Snap-In and commandlets

− Скрипт− WMI Provider− PowerShell Snap-In and commandlets

− AhAdmin − COM interfaces

− Microsoft.Web.Administration (.NET API)

11

Page 12: Архитектура за скалируема платформа за уеб хостинг с  IIS

Анализ на проблеми

− Какво се случва в IIS? − Request Tracing

− Генерира детайлна информация за всяка заявка

− Run-time State and Control− Какво се случва в момента на сървъра

− Детайлни грешки− За локалния потребител има повече

информация

12

Page 13: Архитектура за скалируема платформа за уеб хостинг с  IIS

Разширения− Web Deployment Tool

− Пакетиране на приложения − Application Request Router 2.0

− Fail-over и хост базирано решение за рутиране на заявки

− FTP Server 7 and 7.5− Подобрена поддръжка на FTP

− Множество FTP сайтове без необходимост от отделни IP адреси− Интегрирано управление

− Разширяема идентификация и логове− Database Manager

− Олекотено срество за локална или отдалечена администрация на бази данни

Page 14: Архитектура за скалируема платформа за уеб хостинг с  IIS

Web Deployment Tool− Опростява управление на множество

инсталации− Синхронизира сървъри или сайтове на IIS 6.0, IIS 7.0,

7.5− Differential Sync

− Актуализира само промените

− Създава снимка на текущото състояние на сайт или сървър− Автоматизира инсталацията, може да се ползва за

възстановяване в последствие− Поддържа множество конфигурации

− IIS 6 and 7− Файлове и директории− SSL сертификати− .NET Assemblies,− Registry keys .,.

− Миграция IIS 6->7

Page 15: Архитектура за скалируема платформа за уеб хостинг с  IIS

Application Request Router 2.0− Рутиране на HTTP заявки, базирано на proxy− Решенията за рутиране се взимат на 7 ниво

(HTTP протокол)− Позволява повишаване на скалируемостта и

надеждността на уеб приложенията− Поддържа SSL-offloading − Не поддържа SSL tunneling− Може да работи на Server Core

Page 16: Архитектура за скалируема платформа за уеб хостинг с  IIS

ARR Hostname Affinity − ARR заявките от една сесия отиват

към един и същи сървър− Предварителни изисквания:

− Shared Configuration− Shared Content

Page 17: Архитектура за скалируема платформа за уеб хостинг с  IIS

Без hostname affinity

User

DNS

Internet

Web server

Content

Config

Web server

Content

Config

Web server

Content

Config

10.10.10.10:www.site1.com…www.site10.com

10.10.10.11www.site11.com…www.site20.com

10.10.10.12www.site21.com…www.site30.com

www.site1.com

10.10.10.10www.site2.com

10.10.10.10www.site3.com

10.10.10.11

Page 18: Архитектура за скалируема платформа за уеб хостинг с  IIS

С използването на ARR

User

DNS

Internet

Web server

Shared Content

Shared Config

Web server

Web server

10.10.10.10:10.10.10.11 10.10.10.12

www.site1.com

10.10.10.1www.site2.com

10.10.10.1www.site3.com

10.10.10.1

ARR

www.site1 to www.site30.com

Page 19: Архитектура за скалируема платформа за уеб хостинг с  IIS

Ползи от ARR Hostname Affinity− Заявките динамично се рутират− Лесно се добавят нови сървъри− Ресурсите се използват по-

равномерно− По-висока надеждност− Само една конфигурация трябва да

се управлява

Page 20: Архитектура за скалируема платформа за уеб хостинг с  IIS

Добри практики

− Ограничаване на консумацията на ресурси

− Изолация на уеб сайтовете− Подобряване на скалируемостта

Page 21: Архитектура за скалируема платформа за уеб хостинг с  IIS

Constraining Resource Consumption− Процесор

− Конфигурация на AppPool− WSRM

− Памет− Рециклиране− DynamicIdleThreshold

− Трафик− Media Pack Bandwidth Throttling

− Дисково пространство− In W2K8: квотите се дефинират вече на

ниво директория

Page 22: Архитектура за скалируема платформа за уеб хостинг с  IIS

Изолация− Винаги използвайте отделен

appPool за всеки сайт− Виртуални идентичности за Application

Pool− По подразбиране в IIS 7.5, има го и в

Windows Server 2008 SP2 (IIS 7.0)− Потребителя, който се ползва е “IIS

AppPool\<AppPool identity>”− Не работи, ако съдържанието на сайта е

на мрежово устройство

− Няма нужда от отделен анонимен потребител за всеки сайт

Page 23: Архитектура за скалируема платформа за уеб хостинг с  IIS

Скалируемост

− DynamicIdleThreshold− Динамично ще намали „idle timeout“ за

ako свободната памет намалее драстично

− 32-Bit Application Pools върху 64-битов сървър− По-малко памет− Настройва се чрез

Enable32BitAppOnWin64− Включването на динамичната

компресия може много да намали трафика

Page 24: Архитектура за скалируема платформа за уеб хостинг с  IIS

И на края− IIS 7 и 7.5 предоставят една

отлична платформа за ефективен хостинг на хиляди сайтове

− Разширенията, които можете да сложите допълнително допринасят много и заслужават да им обърнете внимание

Page 25: Архитектура за скалируема платформа за уеб хостинг с  IIS

25

Щанд „Технологични общества“

− Станете част от нашите технологичните общества

− Връзка с колеги и експерти

− Ask the Experts сесии

Изложбена залаНиво -1Photo (cc-by-sa) Chris Radcliff @ Flickr