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

Post on 30-Dec-2015

101 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

Дата

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

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

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

2

Проблемите

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

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

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

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

3

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

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

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

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

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

4

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

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

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

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

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

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

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

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

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

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

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

7

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

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

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

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

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

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

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

8

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

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

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

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

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

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

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

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

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

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

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

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

10

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

− Потребителски интерфейс− Може да се разширява с допълнителни модули− Отдалечен достъп през 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

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

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

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

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

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

информация

12

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

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

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

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

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

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

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

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

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

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

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

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

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

− Shared Configuration− Shared Content

Без 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

С използването на 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

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

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

се управлява

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25

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

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

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

− Ask the Experts сесии

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

top related